# HG changeset patch # User Tom Gottfried # Date 1675782703 -3600 # Node ID 3847836c60b54f34cc41663bfd860919df01029d # Parent b57b236c4f4e6a9c0c26b726fe2f84705db4d21a Improve backend build for different database backends Use profiles instead of multiple almost identical POMs. Introduce build-time argument for Docker build. diff -r b57b236c4f4e -r 3847836c60b5 artifacts/pom-oracle.xml --- a/artifacts/pom-oracle.xml Mon Feb 06 16:57:03 2023 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,206 +0,0 @@ - - 4.0.0 - - org.dive4elements.river - river-artifacts - 1.0-SNAPSHOT - jar - - river-artifacts - http://maven.apache.org - - - UTF-8 - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 2.0.2 - - 1.7 - 1.7 - UTF-8 - - - - org.apache.maven.plugins - maven-javadoc-plugin - 2.8.1 - - private - true - - - - maven-assembly-plugin - - - src/assembly/assembly.xml - - - - - org.apache.maven.plugins - maven-checkstyle-plugin - 3.0.0 - - ../checkstyle.xml - UTF-8 - - - - validate - validate - - true - true - - - check - - - - - - - - - - net.sf.ehcache - ehcache-core - 2.4.2 - - - junit - junit - 4.13 - test - - - trove - trove - 1.1-beta-5 - - - net.sf.opencsv - opencsv - 2.0 - - - org.dive4elements - artifact-database - 1.0-SNAPSHOT - - - org.dive4elements - artifacts-common - 1.0-SNAPSHOT - - - org.dive4elements.river - river-backend - 1.0-SNAPSHOT-ora - - - org.jfree - jfreechart - 1.0.15 - - - org.apache.xmlgraphics - batik-dom - 1.7 - - - org.apache.xmlgraphics - batik-svggen - 1.7 - - - com.lowagie - itext - 2.1.7 - - - org.apache.commons - commons-math - 2.2 - - - com.h2database - h2 - 1.3.158 - - - commons-io - commons-io - 2.4 - - - org.geotools - gt-shapefile - 2.7.2 - - - org.geotools - gt-epsg-wkt - 2.7.2 - - - org.geotools - gt-geojson - 2.7.2 - - - org.geotools - gt-swing - 2.7.2 - - - org.hibernatespatial - hibernate-spatial - 1.1.1 - - - org.json - json - 20090211 - - - org.apache.velocity - velocity - 1.7 - - - net.sf.jasperreports - jasperreports - 4.5.0 - - - jfree - jfreechart - - - - - org.codehaus.groovy - groovy-all - 1.6.0 - - - - - gt2.repo - GeoTools2 Repository including JTS - https://repo.osgeo.org/repository/release - - - Hibernate Spatial repo - http://www.hibernatespatial.org/repository - - - diff -r b57b236c4f4e -r 3847836c60b5 backend/pom-oracle.xml --- a/backend/pom-oracle.xml Mon Feb 06 16:57:03 2023 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,183 +0,0 @@ - - 4.0.0 - - org.dive4elements.river - river-backend - 1.0-SNAPSHOT-ora - jar - - river-backend - http://maven.apache.org - - - UTF-8 - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 2.0.2 - - 1.7 - 1.7 - UTF-8 - - - - org.apache.maven.plugins - maven-dependency-plugin - 2.10 - - - analyze - - analyze-only - - - true - true - - - - - - org.apache.maven.plugins - maven-jar-plugin - 2.4 - - - - org.dive4elements.river.importer.Importer - org.dive4elements.river.importer - - - - - - org.apache.maven.plugins - maven-shade-plugin - 2.3 - - - - org.dive4elements.river.importer.Importer - - - - - - package - - shade - - - - - - maven-assembly-plugin - - - src/assembly/assembly.xml - - - - - org.apache.maven.plugins - maven-checkstyle-plugin - 3.0.0 - - ../checkstyle.xml - UTF-8 - - - - validate - validate - - true - true - - - check - - - - - - - - - - org.dive4elements - artifacts-common - 1.0-SNAPSHOT - - - - commons-collections - commons-collections - 3.2.2 - runtime - - - org.hibernate - hibernate-core - 3.6.10.Final - - - - commons-collections - commons-collections - - - - - org.hibernate.javax.persistence - hibernate-jpa-2.0-api - 1.0.1.Final - - - org.apache.logging.log4j - log4j-api - 2.17.1 - - - org.apache.logging.log4j - log4j-core - 2.17.1 - runtime - - - org.apache.commons - commons-dbcp2 - 2.1.1 - - - com.vividsolutions - jts - 1.11 - - - org.hibernatespatial - hibernate-spatial-oracle - 1.1.1 - runtime - - - com.oracle.database.jdbc - ojdbc8 - [19,20) - runtime - - - - - - Hibernate Spatial repo - http://www.hibernatespatial.org/repository - - - diff -r b57b236c4f4e -r 3847836c60b5 backend/pom.xml --- a/backend/pom.xml Mon Feb 06 16:57:03 2023 +0100 +++ b/backend/pom.xml Tue Feb 07 16:11:43 2023 +0100 @@ -185,32 +185,69 @@ jts 1.11 - - - org.postgresql - postgresql - 42.0.0.jre7 - runtime - - - org.postgis - postgis-jdbc - 1.3.3 - runtime - - - postgresql + + + + + + postgis + + true + + + + + org.postgresql postgresql - - - - - org.hibernatespatial - hibernate-spatial-postgis - 1.1.1 - runtime - - + 42.0.0.jre7 + runtime + + + org.postgis + postgis-jdbc + 1.3.3 + runtime + + + postgresql + postgresql + + + + + org.hibernatespatial + hibernate-spatial-postgis + 1.1.1 + runtime + + + + + + + oracle + + + env.ORACLE + true + + + + + org.hibernatespatial + hibernate-spatial-oracle + 1.1.1 + runtime + + + com.oracle.database.jdbc + ojdbc8 + [19,20) + runtime + + + + diff -r b57b236c4f4e -r 3847836c60b5 contrib/make_flys_release/bin/make-importer-package.sh --- a/contrib/make_flys_release/bin/make-importer-package.sh Mon Feb 06 16:57:03 2023 +0100 +++ b/contrib/make_flys_release/bin/make-importer-package.sh Tue Feb 07 16:11:43 2023 +0100 @@ -44,7 +44,7 @@ shift break;; "-o"|"--oracle") - BUILD_ORACLE="TRUE" + ORACLE="true" shift;; *) echo "Unknown Option $1" @@ -81,11 +81,8 @@ pdflatex importer-manual.tex # package importer -if [ "$BUILD_ORACLE" = "TRUE" ]; then - mvn -f $SOURCE_DIR/backend/pom-oracle.xml clean package assembly:single -else - mvn -f $SOURCE_DIR/backend/pom.xml clean package assembly:single -fi +# If ORACLE=true, the oracle profile in the POM is activated +mvn -f $SOURCE_DIR/backend/pom.xml clean package assembly:single echo "INFO: create tarball" rm -fr $PKG_DIR diff -r b57b236c4f4e -r 3847836c60b5 contrib/make_flys_release/make_release.sh --- a/contrib/make_flys_release/make_release.sh Mon Feb 06 16:57:03 2023 +0100 +++ b/contrib/make_flys_release/make_release.sh Tue Feb 07 16:11:43 2023 +0100 @@ -73,7 +73,7 @@ WORK_DIR=$2 shift 2;; "-o"|"--oracle") - BUILD_ORACLE="TRUE" + ORACLE="true" shift;; "-t") DO_TAG=$2 @@ -186,7 +186,10 @@ echo "INFO: compile sources" mvn -f $FLYS_SOURCE_DIR/framework/pom.xml clean compile install + +# If ORACLE=true, the oracle profile in the POM is activated mvn -f $FLYS_SOURCE_DIR/river/backend/pom.xml clean compile install + mvn -f $FLYS_SOURCE_DIR/river/artifacts/pom.xml clean compile mvn -f $FLYS_SOURCE_DIR/http-client/pom.xml clean compile install # gwt-client has to be compiled later to allow custom CLIENT_CONF @@ -274,13 +277,7 @@ cp $WORK_DIR/wsplgen-linux-64bit-static \ $FLYS_SOURCE_DIR/river/artifacts/bin/wsplgen -if [ "$BUILD_ORACLE" = "TRUE" ]; then - mvn -f $FLYS_SOURCE_DIR/river/backend/pom-oracle.xml clean compile install - mvn -f $FLYS_SOURCE_DIR/river/artifacts/pom-oracle.xml \ - package assembly:single -else - mvn -f $FLYS_SOURCE_DIR/river/artifacts/pom.xml package assembly:single -fi +mvn -f $FLYS_SOURCE_DIR/river/artifacts/pom.xml package assembly:single mvn -f $FLYS_SOURCE_DIR/river/gwt-client/pom.xml clean compile package diff -r b57b236c4f4e -r 3847836c60b5 docker/Dockerfile.artifacts --- a/docker/Dockerfile.artifacts Mon Feb 06 16:57:03 2023 +0100 +++ b/docker/Dockerfile.artifacts Tue Feb 07 16:11:43 2023 +0100 @@ -32,6 +32,8 @@ ADD . river +# If ORACLE=true, the oracle profile in the POM is activated +ARG ORACLE RUN mvn -q -DskipTests -f river/backend/pom.xml install WORKDIR river/artifacts diff -r b57b236c4f4e -r 3847836c60b5 docker/README --- a/docker/README Mon Feb 06 16:57:03 2023 +0100 +++ b/docker/README Tue Feb 07 16:11:43 2023 +0100 @@ -14,6 +14,10 @@ port 8080 (e.g. http://your-host:8080). See docker/flys_user_file for credentials. +In case an Oracle database should be used, the server service has to be +build with a build-time argument: + +$ docker-compose build --build-arg ORACLE=true server Remote debugging: