447 lines
12 KiB
XML
447 lines
12 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>
|
|
<artifactId>lowcoder-root</artifactId>
|
|
<groupId>org.lowcoder</groupId>
|
|
<version>${revision}</version>
|
|
</parent>
|
|
|
|
<artifactId>lowcoder-server</artifactId>
|
|
<packaging>jar</packaging>
|
|
|
|
<name>lowcoder-server</name>
|
|
|
|
<properties>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
|
<jar.name>lowcoder-api-service</jar.name>
|
|
<assembly.lib.directory>${project.build.directory}/app-libs</assembly.lib.directory>
|
|
|
|
<skipTests>false</skipTests>
|
|
<skipUnitTests>${skipTests}</skipUnitTests>
|
|
<skipIntegrationTests>${skipTests}</skipIntegrationTests>
|
|
|
|
<keystore.path>cert/signing.p12</keystore.path>
|
|
<keystore.type>pkcs12</keystore.type>
|
|
<keystore.alias>dev</keystore.alias>
|
|
<keystore.password>lowcoder</keystore.password>
|
|
<keystore.store.password>${keystore.password}</keystore.store.password>
|
|
<keystore.key.password>${keystore.password}</keystore.key.password>
|
|
</properties>
|
|
|
|
<repositories>
|
|
<repository>
|
|
<id>local_libs</id>
|
|
<name>Temporary local libraries</name>
|
|
<url>file://${maven.multiModuleProjectDirectory}/local-repo</url>
|
|
</repository>
|
|
</repositories>
|
|
|
|
<dependencies>
|
|
|
|
<dependency>
|
|
<groupId>org.lowcoder</groupId>
|
|
<artifactId>lowcoder-sdk</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.lowcoder</groupId>
|
|
<artifactId>lowcoder-infra</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.lowcoder</groupId>
|
|
<artifactId>lowcoder-domain</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.lowcoder</groupId>
|
|
<artifactId>sqlBasedPlugin</artifactId>
|
|
<version>${revision}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.lowcoder.plugin</groupId>
|
|
<artifactId>lowcoder-plugin-api</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>ch.qos.logback</groupId>
|
|
<artifactId>logback-classic</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-security</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.security</groupId>
|
|
<artifactId>spring-security-config</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-webflux</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springdoc</groupId>
|
|
<artifactId>springdoc-openapi-starter-webflux-ui</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springdoc</groupId>
|
|
<artifactId>springdoc-openapi-webflux-ui</artifactId>
|
|
<version>1.8.0</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.projectreactor.tools</groupId>
|
|
<artifactId>blockhound</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-data-mongodb-reactive</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-data-redis-reactive</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.projectlombok</groupId>
|
|
<artifactId>lombok</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-io</groupId>
|
|
<artifactId>commons-io</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-actuator</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.micrometer</groupId>
|
|
<artifactId>micrometer-registry-prometheus</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.sentry</groupId>
|
|
<artifactId>sentry-spring-boot-starter-jakarta</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.httpcomponents</groupId>
|
|
<artifactId>httpclient</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-text</artifactId>
|
|
</dependency>
|
|
<!--
|
|
https://mvnrepository.com/artifact/org.apache.commons/commons-collections4 -->
|
|
<dependency>
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-collections4</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Optional: the following dependency is required to avoid
|
|
MacOSDnsServerAddressStreamProvider class not found exception
|
|
It's required for MacOS only
|
|
ref: https://stackoverflow.com/a/65976398/997566 -->
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-all</artifactId>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.projectreactor</groupId>
|
|
<artifactId>reactor-tools</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-inline</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-test</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.security</groupId>
|
|
<artifactId>spring-security-test</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.projectreactor</groupId>
|
|
<artifactId>reactor-test</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>de.flapdoodle.embed</groupId>
|
|
<artifactId>de.flapdoodle.embed.mongo.spring30x</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.jayway.jsonpath</groupId>
|
|
<artifactId>json-path</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>jakarta.servlet</groupId>
|
|
<artifactId>jakarta.servlet-api</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.auth0</groupId>
|
|
<artifactId>java-jwt</artifactId>
|
|
<version>4.4.0</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.passay</groupId>
|
|
<artifactId>passay</artifactId>
|
|
<version>1.6.3</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>it.ozimov</groupId>
|
|
<artifactId>embedded-redis</artifactId>
|
|
<version>0.7.3</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.directory.server</groupId>
|
|
<artifactId>apacheds-test-framework</artifactId>
|
|
<version>2.0.0.AM26</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.junit.vintage</groupId>
|
|
<artifactId>junit-vintage-engine</artifactId>
|
|
<version>5.9.3</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.jsonwebtoken</groupId>
|
|
<artifactId>jjwt-api</artifactId>
|
|
<version>0.11.5</version>
|
|
<scope>compile</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.jsonwebtoken</groupId>
|
|
<artifactId>jjwt-jackson</artifactId>
|
|
<version>0.11.5</version>
|
|
<scope>compile</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.jsonwebtoken</groupId>
|
|
<artifactId>jjwt-impl</artifactId>
|
|
<version>0.11.5</version>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework</groupId>
|
|
<artifactId>spring-aspects</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.wiremock</groupId>
|
|
<artifactId>wiremock-jetty12</artifactId>
|
|
<version>3.6.0</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.lowcoder</groupId>
|
|
<artifactId>lowcoder-dependencies</artifactId>
|
|
<version>${revision}</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
|
|
<build>
|
|
<finalName>${jar.name}</finalName>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>copy-dependencies</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>copy-dependencies</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>${assembly.lib.directory}</outputDirectory>
|
|
<includeScope>runtime</includeScope>
|
|
<excludeArtifactIds>rjson</excludeArtifactIds>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>copy-rjson-snapshot</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>copy</goal>
|
|
</goals>
|
|
<configuration>
|
|
<artifactItems>
|
|
<artifactItem>
|
|
<groupId>tv.twelvetone.rjson</groupId>
|
|
<artifactId>rjson</artifactId>
|
|
<version>1.3.1-SNAPSHOT</version>
|
|
<overWrite>true</overWrite>
|
|
<outputDirectory>${assembly.lib.directory}</outputDirectory>
|
|
</artifactItem>
|
|
</artifactItems>
|
|
<useBaseVersion>false</useBaseVersion>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<version>3.3.0</version>
|
|
<configuration>
|
|
<archive>
|
|
<manifest>
|
|
<mainClass>org.lowcoder.api.ServerApplication</mainClass>
|
|
<classpathPrefix>libs/</classpathPrefix>
|
|
<addClasspath>true</addClasspath>
|
|
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
|
|
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
|
|
<addBuildEnvironmentEntries>true</addBuildEnvironmentEntries>
|
|
</manifest>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jarsigner-plugin</artifactId>
|
|
<version>3.0.0</version>
|
|
<executions>
|
|
<execution>
|
|
<id>sign</id>
|
|
<goals>
|
|
<goal>sign</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>verify</id>
|
|
<goals>
|
|
<goal>verify</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<storetype>${keystore.type}</storetype>
|
|
<keystore>${keystore.path}</keystore>
|
|
<alias>${keystore.alias}</alias>
|
|
<storepass>${keystore.store.password}</storepass>
|
|
<keypass>${keystore.key.password}</keypass>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>3.1.2</version>
|
|
<configuration>
|
|
<skipTests>${skipUnitTests}</skipTests>
|
|
<excludes>
|
|
<exclude>**/*IntegrationTest.java</exclude>
|
|
</excludes>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-failsafe-plugin</artifactId>
|
|
<version>3.2.5</version>
|
|
<configuration>
|
|
<skipTests>${skipIntegrationTests}</skipTests>
|
|
<includes>
|
|
<include>**/*IntegrationTest.java</include>
|
|
</includes>
|
|
<argLine>
|
|
-Dpf4j.pluginsDir=../lowcoder-plugins/plugins
|
|
</argLine>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>integration-test</goal>
|
|
<goal>verify</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>copy-plugins-jar-for-integration-tests</id>
|
|
<phase>pre-integration-test</phase>
|
|
<configuration>
|
|
<target>
|
|
<copy todir="../lowcoder-plugins/plugins">
|
|
<fileset dir="../lowcoder-plugins"
|
|
includes="/*/target/*shaded.jar" />
|
|
<mapper type="flatten" />
|
|
</copy>
|
|
</target>
|
|
</configuration>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>delete-plugins-after-integration-tests-phase</id>
|
|
<phase>post-integration-test</phase>
|
|
<configuration>
|
|
<target>
|
|
<delete dir="../lowcoder-plugins/plugins" />
|
|
</target>
|
|
</configuration>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>distro-assembly</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
<configuration>
|
|
<attach>false</attach>
|
|
<descriptors>
|
|
<descriptor>src/assembly/bin.xml</descriptor>
|
|
</descriptors>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
</project>
|