Andreas Svanberg
ccac2c1cf8
All checks were successful
Build and test / build-and-test (push) Successful in 6m54s
SciPro will have to provide information to the upcoming student portal. Wicket does not have the ability to serve JSON in the usual REST way and is only able to serve HTML. The most common way to write JSON over HTTP API:s in Java is using Spring Web, but currently SciPro uses Guice for dependency injection rather than Spring which makes adding Spring Web a bit more tricky. This pull request attempts to solve this by doing the following; * Replacing Guice with Spring * Adding a new API module that uses Spring Web * Turning the entire system into a standard Spring Boot web application The hope is that these changes will bring the following benefits; * Harmonize our web stack (Daisy uses Spring and the new lecture hall system is full Spring Boot) * Enable easy development of a traditional JSON over HTTP API * Ease future recruitment by using the most common Java web frameworks Reviewed-on: #5 Reviewed-by: niat8586 <nico@dsv.su.se> Co-authored-by: Andreas Svanberg <andreass@dsv.su.se> Co-committed-by: Andreas Svanberg <andreass@dsv.su.se>
110 lines
3.9 KiB
XML
110 lines
3.9 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<parent>
|
|
<groupId>se.su.dsv.scipro</groupId>
|
|
<artifactId>SciPro</artifactId>
|
|
<version>0.1-SNAPSHOT</version>
|
|
</parent>
|
|
|
|
<artifactId>war</artifactId>
|
|
<packaging>war</packaging>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-web</artifactId>
|
|
<exclusions>
|
|
<!-- exclude default logging implementation (logback) since we want log4j2 -->
|
|
<exclusion>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-logging</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-log4j2</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-security</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-tomcat</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework</groupId>
|
|
<artifactId>spring-orm</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.hibernate.orm</groupId>
|
|
<artifactId>hibernate-core</artifactId>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.wicket</groupId>
|
|
<artifactId>wicket-spring</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springdoc</groupId>
|
|
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>se.su.dsv.scipro</groupId>
|
|
<artifactId>view</artifactId>
|
|
<version>${project.version}</version>
|
|
<type>war</type>
|
|
</dependency>
|
|
<dependency>
|
|
<!-- needed only at compile time -->
|
|
<!-- the classes will be moved as part of the overlay by the war plugin -->
|
|
<groupId>se.su.dsv.scipro</groupId>
|
|
<artifactId>view</artifactId>
|
|
<version>${project.version}</version>
|
|
<classifier>classes</classifier>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>se.su.dsv.scipro</groupId>
|
|
<artifactId>api</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-war-plugin</artifactId>
|
|
<version>3.4.0</version>
|
|
<configuration>
|
|
<overlays>
|
|
<overlay>
|
|
<groupId>se.su.dsv.scipro</groupId>
|
|
<artifactId>view</artifactId>
|
|
<type>war</type>
|
|
</overlay>
|
|
</overlays>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
</project>
|