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>
233 lines
7.8 KiB
XML
233 lines
7.8 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">
|
|
<parent>
|
|
<artifactId>SciPro</artifactId>
|
|
<groupId>se.su.dsv.scipro</groupId>
|
|
<version>0.1-SNAPSHOT</version>
|
|
</parent>
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<artifactId>view</artifactId>
|
|
<packaging>war</packaging>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>se.su.dsv.scipro</groupId>
|
|
<artifactId>core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>se.su.dsv.scipro</groupId>
|
|
<artifactId>core</artifactId>
|
|
<type>test-jar</type>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.wicketstuff</groupId>
|
|
<artifactId>wicketstuff-select2</artifactId>
|
|
</dependency>
|
|
|
|
<!-- WICKET DEPENDENCIES -->
|
|
<dependency>
|
|
<groupId>org.apache.wicket</groupId>
|
|
<artifactId>wicket-core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.wicket</groupId>
|
|
<artifactId>wicket-ioc</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.wicket</groupId>
|
|
<artifactId>wicket-extensions</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.wicket</groupId>
|
|
<artifactId>wicket-tester</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.wicket</groupId>
|
|
<artifactId>wicket-spring</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.wicketstuff</groupId>
|
|
<artifactId>wicketstuff-jasperreports</artifactId>
|
|
<exclusions>
|
|
<!-- replace itext with OpenPDF below since it is no longer maintained -->
|
|
<exclusion>
|
|
<groupId>com.lowagie</groupId>
|
|
<artifactId>itext</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<!-- until a new version containing https://github.com/wicketstuff/core/pull/873 is released -->
|
|
<groupId>org.bouncycastle</groupId>
|
|
<artifactId>bcprov-jdk15on</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.github.librepdf</groupId>
|
|
<artifactId>openpdf</artifactId>
|
|
<version>1.3.30</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>de.agilecoders.wicket.webjars</groupId>
|
|
<artifactId>wicket-webjars</artifactId>
|
|
<version>3.0.7</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.webjars</groupId>
|
|
<artifactId>bootstrap</artifactId>
|
|
<version>5.3.2</version>
|
|
</dependency>
|
|
|
|
<!-- Servlet API, needed for compilation. -->
|
|
<dependency>
|
|
<groupId>jakarta.servlet</groupId>
|
|
<artifactId>jakarta.servlet-api</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.poi</groupId>
|
|
<artifactId>poi</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.poi</groupId>
|
|
<artifactId>poi-ooxml</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Logging -->
|
|
<dependency>
|
|
<groupId>org.apache.logging.log4j</groupId>
|
|
<artifactId>log4j-slf4j2-impl</artifactId>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.logging.log4j</groupId>
|
|
<artifactId>log4j-core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.logging.log4j</groupId>
|
|
<artifactId>log4j-jakarta-smtp</artifactId>
|
|
<scope>runtime</scope>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>com.sun.mail</groupId>
|
|
<artifactId>smtp</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>jcl-over-slf4j</artifactId>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.mariadb.jdbc</groupId>
|
|
<artifactId>mariadb-java-client</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.flywaydb</groupId>
|
|
<artifactId>flyway-core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.flywaydb</groupId>
|
|
<artifactId>flyway-mysql</artifactId>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-war-plugin</artifactId>
|
|
<configuration>
|
|
<attachClasses>true</attachClasses>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
<resources>
|
|
<resource>
|
|
<filtering>true</filtering>
|
|
<directory>src/main/resources</directory>
|
|
<includes>
|
|
<include>**</include>
|
|
</includes>
|
|
<excludes>
|
|
<exclude>**/*.java</exclude>
|
|
<exclude>**/*.ttf</exclude>
|
|
</excludes>
|
|
</resource>
|
|
<resource>
|
|
<filtering>false</filtering>
|
|
<directory>src/main/resources</directory>
|
|
<includes>
|
|
<include>**/*.ttf</include>
|
|
</includes>
|
|
</resource>
|
|
<resource>
|
|
<directory>src/main/java</directory>
|
|
<includes>
|
|
<include>**</include>
|
|
</includes>
|
|
<excludes>
|
|
<exclude>**/*.java</exclude>
|
|
</excludes>
|
|
</resource>
|
|
</resources>
|
|
<testResources>
|
|
<testResource>
|
|
<directory>src/test/java</directory>
|
|
<includes>
|
|
<include>**</include>
|
|
</includes>
|
|
<excludes>
|
|
<exclude>**/*.java</exclude>
|
|
</excludes>
|
|
</testResource>
|
|
<testResource>
|
|
<filtering>true</filtering>
|
|
<directory>src/test/resources</directory>
|
|
<includes>
|
|
<include>**</include>
|
|
</includes>
|
|
<excludes>
|
|
<exclude>**/*.java</exclude>
|
|
</excludes>
|
|
</testResource>
|
|
</testResources>
|
|
|
|
<finalName>scipro2</finalName>
|
|
</build>
|
|
<profiles>
|
|
<profile>
|
|
<id>DEV</id>
|
|
<activation>
|
|
<activeByDefault>true</activeByDefault>
|
|
</activation>
|
|
<build>
|
|
<resources>
|
|
<resource>
|
|
<directory>src/test/resources</directory>
|
|
<includes>
|
|
<include>**/log4j2-test.xml</include>
|
|
</includes>
|
|
</resource>
|
|
</resources>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>DAISY-INTEGRATION</id>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>se.su.dsv.scipro</groupId>
|
|
<artifactId>daisy-integration</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</profile>
|
|
</profiles>
|
|
</project> |