<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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <artifactId>wise-webapp</artifactId> <packaging>war</packaging> <name>WiseMapping Webapp</name> <url>http://www.wisemapping.org</url> <parent> <groupId>org.wisemapping</groupId> <artifactId>wisemapping</artifactId> <relativePath>../pom.xml</relativePath> <version>5.0.12-SNAPSHOT</version> </parent> <properties> <org.springframework.version>5.3.18</org.springframework.version> <org.springframework.addons>5.6.2</org.springframework.addons> <hibernate.version>5.6.5.Final</hibernate.version> <hibernate-validator.version>6.0.21.Final</hibernate-validator.version> <spring-security-taglibs.version>5.6.1</spring-security-taglibs.version> </properties> <dependencies> <dependency> <groupId>org.wisemapping</groupId> <artifactId>wise-ui</artifactId> <version>${com.wisemapping.version}</version> <type>war</type> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity</artifactId> <version>1.7</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.9.8</version> <scope>test</scope> </dependency> <dependency> <groupId>com.intellij</groupId> <artifactId>annotations</artifactId> <version>7.0.3</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${org.springframework.version}</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-ldap</artifactId> <version>${org.springframework.addons}</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${org.springframework.version}</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${org.springframework.version}</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-taglibs</artifactId> <version>${spring-security-taglibs.version}</version> </dependency> <!-- Hibernate --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>${hibernate.version}</version> </dependency> <!-- Hibernate Validator --> <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> <version>${hibernate-validator.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${org.springframework.version}</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${org.springframework.version}</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.25</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${org.springframework.version}</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-oxm</artifactId> <version>${org.springframework.version}</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${org.springframework.version}</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-jpa</artifactId> <version>2.6.1</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>5.3.15</version> <scope>test</scope> </dependency> <dependency> <groupId>antlr</groupId> <artifactId>antlr</artifactId> <version>2.7.6</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-jsp</artifactId> <version>3.0.8</version> <scope>runtime</scope> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${org.springframework.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-web</artifactId> <version>${org.springframework.addons}</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-core</artifactId> <version>${org.springframework.addons}</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-config</artifactId> <version>${org.springframework.addons}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${org.springframework.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>aopalliance</groupId> <artifactId>aopalliance</artifactId> <version>1.0</version> <scope>compile</scope> </dependency> <dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> <version>1.6.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.28</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-dbcp2</artifactId> <version>2.9.0</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-ehcache</artifactId> <version>${hibernate.version}</version> </dependency> <dependency> <groupId>javax.cache</groupId> <artifactId>cache-api</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>org.ehcache</groupId> <artifactId>ehcache</artifactId> <version>3.9.9</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> <scope>compile</scope> </dependency> <!-- https://mvnrepository.com/artifact/commons-validator/commons-validator --> <dependency> <groupId>commons-validator</groupId> <artifactId>commons-validator</artifactId> <version>1.7</version> </dependency> <!-- Only for test purposes --> <dependency> <groupId>org.hsqldb</groupId> <artifactId>hsqldb</artifactId> <version>2.6.1</version> <scope>runtime</scope> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.13.1</version> </dependency> <dependency> <!-- This is required in case of Tomcat, do not remove --> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.25</version> <scope>runtime</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>fluent-hc</artifactId> <version>4.5.13</version> </dependency> </dependencies> <profiles> <profile> <id>hsqldb</id> <activation> <activeByDefault>true</activeByDefault> </activation> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>sql-maven-plugin</artifactId> <version>1.5</version> <configuration> <driver>org.hsqldb.jdbc.JDBCDriver</driver> <url>jdbc:hsqldb:file:${project.build.directory}/db/wisemapping</url> <username>sa</username> </configuration> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.5</version> </dependency> <dependency> <groupId>org.hsqldb</groupId> <artifactId>hsqldb</artifactId> <version>2.6.1</version> </dependency> </dependencies> <executions> <execution> <id>drop-schemas</id> <phase>prepare-package</phase> <goals> <goal>execute</goal> </goals> <configuration> <onError>continue</onError> <orderFile>descending</orderFile> <fileset> <basedir>${project.basedir}</basedir> <includes> <include>config/database/hsql/drop-schemas.sql</include> <include>config/database/hsql/create-schemas.sql</include> <include>config/database/hsql/apopulate-schemas.sql</include> </includes> </fileset> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>mysqldb</id> <activation> <activeByDefault>false</activeByDefault> </activation> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>sql-maven-plugin</artifactId> <version>1.5</version> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.5</version> </dependency> </dependencies> <executions> <execution> <id>init-schema</id> <goals> <goal>execute</goal> </goals> <phase>prepare-package</phase> </execution> </executions> <configuration> <driver>com.mysql.jdbc.Driver</driver> <username>root</username> <password></password> <url>jdbc:mysql://127.0.0.1:3306/?useUnicode=true&characterEncoding=UTF-8</url> <autocommit>false</autocommit> <srcFiles> <srcFile>config/database/mysql/create-database.sql</srcFile> <srcFile>config/database/mysql/create-schemas.sql</srcFile> <srcFile>config/database/mysql/apopulate-schemas.sql</srcFile> </srcFiles> </configuration> </plugin> </plugins> </build> </profile> </profiles> <build> <plugins> <plugin> <groupId>org.hibernate.orm.tooling</groupId> <artifactId>hibernate-enhance-maven-plugin</artifactId> <version>${hibernate.version}</version> <executions> <execution> <phase>compile</phase> <configuration> <failOnError>true</failOnError> <enableLazyInitialization>true</enableLazyInitialization> <enableDirtyTracking>true</enableDirtyTracking> <enableAssociationManagement>true</enableAssociationManagement> <enableExtendedEnhancement>false</enableExtendedEnhancement> <enableExtendedEnhancement>false</enableExtendedEnhancement> </configuration> <goals> <goal>enhance</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.3.2</version> <configuration> <warName>wisemapping</warName> <overlays> <overlay> <groupId>org.wisemapping</groupId> <artifactId>wise-ui</artifactId> <targetPath>/static/mindplot/</targetPath> <includes> <include>wisemapping-mindplot/package/dist/*</include> </includes> </overlay> <overlay> <groupId>org.wisemapping</groupId> <artifactId>wise-ui</artifactId> <targetPath>/static/webapp/</targetPath> <includes> <include>wisemapping-webapp/package/dist/*</include> </includes> </overlay> </overlays> <archiveClasses>true</archiveClasses> <webResources> <resource> <directory>src/main/resources</directory> <targetPath>WEB-INF</targetPath> <includes> <include>*.wsdl</include> <include>*.xsd</include> </includes> </resource> </webResources> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.0</version> <configuration> <path>/wisemapping</path> <warFile>${project.build.directory}/wisemapping.war</warFile> <mode>war</mode> <update>true</update> <systemProperties> <database.base.url>${project.build.directory}</database.base.url> </systemProperties> </configuration> </plugin> <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>9.4.34.v20201102</version> <configuration> <stopKey>foo</stopKey> <stopPort>9999</stopPort> <war>${project.build.directory}/wisemapping.war</war> <reload>automatic</reload> <webAppConfig> <overrideDescriptor>${project.basedir}/webdefault.xml</overrideDescriptor> </webAppConfig> <systemProperties> <systemProperty> <name>org.mortbay.util.FileResource.checkAliases</name> <value>false</value> </systemProperty> <systemProperty> <name>org.mortbay.util.FileResource.checkAliases</name> <value>false</value> </systemProperty> <systemProperty> <name>database.base.url</name> <value>${project.build.directory}</value> </systemProperty> </systemProperties> </configuration> <executions> <execution> <id>run-forked</id> <phase>pre-integration-test</phase> <goals> <goal>run-forked</goal> </goals> <configuration> <scanIntervalSeconds>0</scanIntervalSeconds> <waitForChild>false</waitForChild> <jvmArgs>-Ddatabase.base.url=${project.build.directory}</jvmArgs> </configuration> </execution> <execution> <id>stop-jetty</id> <phase>post-integration-test</phase> <goals> <goal>stop</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>