diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ae95c4f6adc00fc2724bb1e03ab56c20d62adfb4..debb9b2bccff8fc1c19dce3beecc626c5282afdc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -10,7 +10,7 @@ variables: POSTGRES_USER: map_viewer POSTGRES_PASSWORD: "123qweasdzxc" -test_frontend: +test:frontend: stage: test coverage: '/Statements[:\ ]+(\d+.\d+)\%/' script: @@ -18,11 +18,22 @@ test_frontend: - npm install - npm test -test_backend commons: +.jdk_8_template: &jdk_8_definition image: maven:3.6.0-jdk-8 + services: + - postgres:9.6 stage: test coverage: '/(\d+.\d+) \% covered/' - script: + +.jdk_11_template: &jdk_11_definition + image: maven:3.6.0-jdk-11 + services: + - postgres:9.6 + stage: test + coverage: '/(\d+.\d+) \% covered/' + +.test_backend_commons_template: + script: &test_backend_commons_definition #xvfb is for X11 connection used by some parts of the java code: https://stackoverflow.com/a/47575851/1127920 - apt-get update - DEBIAN_FRONTEND=noninteractive apt-get install -y xvfb @@ -33,13 +44,8 @@ test_backend commons: - mvn test -pl commons - awk -F"," '{ instructions += $4 + $5; covered += $5 } END { print covered, "/", instructions, "instructions covered"; print 100*covered/instructions,"% covered" }' commons/target/site/jacoco/jacoco.csv -test_backend annotation: - image: maven:3.6.0-jdk-8 - services: - - postgres:9.6 - stage: test - coverage: '/(\d+.\d+) \% covered/' - script: +.test_backend_annotation_template: + script: &test_backend_annotation_definition - mkdir /etc/minerva/ - cp test-db-ci.properties /etc/minerva/db.properties @@ -47,11 +53,9 @@ test_backend annotation: - mvn test -pl annotation - awk -F"," '{ instructions += $4 + $5; covered += $5 } END { print covered, "/", instructions, "instructions covered"; print 100*covered/instructions,"% covered" }' annotation/target/site/jacoco/jacoco.csv -test_backend CellDesigner-plugin: - image: maven:3.6.0-jdk-8 - stage: test - coverage: '/(\d+.\d+) \% covered/' - script: + +.test_backend_CellDesigner-plugin_template: + script: &test_backend_CellDesigner_plugin_definition #xvfb is for X11 connection used by some parts of the java code: https://stackoverflow.com/a/47575851/1127920 - apt-get update - apt-get install -y xvfb @@ -62,115 +66,74 @@ test_backend CellDesigner-plugin: - mvn test -pl CellDesigner-plugin - awk -F"," '{ instructions += $4 + $5; covered += $5 } END { print covered, "/", instructions, "instructions covered"; print 100*covered/instructions,"% covered" }' CellDesigner-plugin/target/site/jacoco/jacoco.csv -test_backend converter: - image: maven:3.6.0-jdk-8 - stage: test - coverage: '/(\d+.\d+) \% covered/' - script: +.test_backend_converter_template: + script: &test_backend_converter_definition - mvn -DskipTests=true clean install -pl converter -am - mvn test -pl converter - awk -F"," '{ instructions += $4 + $5; covered += $5 } END { print covered, "/", instructions, "instructions covered"; print 100*covered/instructions,"% covered" }' converter/target/site/jacoco/jacoco.csv -test_backend converter-graphics: - image: maven:3.6.0-jdk-8 - stage: test - coverage: '/(\d+.\d+) \% covered/' - script: +.test_backend_converter_graphics_template: + script: &test_backend_converter_graphics_definition - mvn -DskipTests=true clean install -pl converter-graphics -am - mvn test -pl converter-graphics - awk -F"," '{ instructions += $4 + $5; covered += $5 } END { print covered, "/", instructions, "instructions covered"; print 100*covered/instructions,"% covered" }' converter-graphics/target/site/jacoco/jacoco.csv -test_backend converter-CellDesigner: - image: maven:3.6.0-jdk-8 - stage: test - coverage: '/(\d+.\d+) \% covered/' - script: +.test_backend_converter_CellDesigner_template: + script: &test_backend_converter_CellDesigner_definition - mvn -DskipTests=true clean install -pl converter-CellDesigner -am - mvn test -pl converter-CellDesigner - awk -F"," '{ instructions += $4 + $5; covered += $5 } END { print covered, "/", instructions, "instructions covered"; print 100*covered/instructions,"% covered" }' converter-CellDesigner/target/site/jacoco/jacoco.csv -test_backend converter-SBGN-ML: - image: maven:3.6.0-jdk-8 - services: - - postgres:9.6 - stage: test - coverage: '/(\d+.\d+) \% covered/' - script: +.test_backend_converter_SBGNML_template: + script: &test_backend_converter_SBGNML_definition - mkdir /etc/minerva/ - cp test-db-ci.properties /etc/minerva/db.properties - mvn -DskipTests=true clean install -pl converter-SBGNML -am - mvn test -pl converter-SBGNML - awk -F"," '{ instructions += $4 + $5; covered += $5 } END { print covered, "/", instructions, "instructions covered"; print 100*covered/instructions,"% covered" }' converter-SBGNML/target/site/jacoco/jacoco.csv -test_backend converter-SBML: - image: maven:3.6.0-jdk-8 - stage: test - coverage: '/(\d+.\d+) \% covered/' - script: +.test_backend_converter_SBML_template: + script: &test_backend_converter_SBML_definition - mvn -DskipTests=true clean install -pl converter-sbml -am - mvn test -pl converter-sbml - awk -F"," '{ instructions += $4 + $5; covered += $5 } END { print covered, "/", instructions, "instructions covered"; print 100*covered/instructions,"% covered" }' converter-sbml/target/site/jacoco/jacoco.csv -test_backend model: - image: maven:3.6.0-jdk-8 - stage: test - coverage: '/(\d+.\d+) \% covered/' - script: +.test_backend_model_template: + script: &test_backend_model_definition - mvn -DskipTests=true clean install -pl model -am - mvn test -pl model - awk -F"," '{ instructions += $4 + $5; covered += $5 } END { print covered, "/", instructions, "instructions covered"; print 100*covered/instructions,"% covered" }' model/target/site/jacoco/jacoco.csv -test_backend model-command: - image: maven:3.6.0-jdk-8 - stage: test - coverage: '/(\d+.\d+) \% covered/' - script: +.test_backend_model_command_template: + script: &test_backend_model_command_definition - mvn -DskipTests=true clean install -pl model-command -am - mvn test -pl model-command - awk -F"," '{ instructions += $4 + $5; covered += $5 } END { print covered, "/", instructions, "instructions covered"; print 100*covered/instructions,"% covered" }' model-command/target/site/jacoco/jacoco.csv -test_backend pathvisio: - image: maven:3.6.0-jdk-8 - stage: test - coverage: '/(\d+.\d+) \% covered/' - script: +.test_backend_pathvisio_template: + script: &test_backend_pathvisio_definition - mvn -DskipTests=true clean install -pl pathvisio -am - mvn test -pl pathvisio - awk -F"," '{ instructions += $4 + $5; covered += $5 } END { print covered, "/", instructions, "instructions covered"; print 100*covered/instructions,"% covered" }' pathvisio/target/site/jacoco/jacoco.csv -test_backend persist: - image: maven:3.6.0-jdk-8 - services: - - postgres:9.6 - stage: test - coverage: '/(\d+.\d+) \% covered/' - script: +.test_backend_persist_template: + script: &test_backend_persist_definition - mkdir /etc/minerva/ - cp test-db-ci.properties /etc/minerva/db.properties - mvn -DskipTests=true clean install -pl persist -am - mvn test -pl persist - awk -F"," '{ instructions += $4 + $5; covered += $5 } END { print covered, "/", instructions, "instructions covered"; print 100*covered/instructions,"% covered" }' persist/target/site/jacoco/jacoco.csv -test_backend rest-api: - image: maven:3.6.0-jdk-8 - services: - - postgres:9.6 - stage: test - coverage: '/(\d+.\d+) \% covered/' - script: +.test_backend_rest_template: + script: &test_backend_rest_definition - mkdir /etc/minerva/ - cp test-db-ci.properties /etc/minerva/db.properties - mvn -DskipTests=true clean install -pl rest-api -am - mvn test -pl rest-api - awk -F"," '{ instructions += $4 + $5; covered += $5 } END { print covered, "/", instructions, "instructions covered"; print 100*covered/instructions,"% covered" }' rest-api/target/site/jacoco/jacoco.csv -test_backend web: - image: maven:3.6.0-jdk-8 - services: - - postgres:9.6 - stage: test - coverage: '/(\d+.\d+) \% covered/' - script: +.test_backend_web_template: + script: &test_backend_web_definition - apt-get update - DEBIAN_FRONTEND=noninteractive apt-get install -y curl gnupg git ant - curl -sL https://deb.nodesource.com/setup_9.x | bash - @@ -181,19 +144,128 @@ test_backend web: - mvn test -pl web - awk -F"," '{ instructions += $4 + $5; covered += $5 } END { print covered, "/", instructions, "instructions covered"; print 100*covered/instructions,"% covered" }' web/target/site/jacoco/jacoco.csv -test_backend service: - image: maven:3.6.0-jdk-8 - services: - - postgres:9.6 - stage: test - coverage: '/(\d+.\d+) \% covered/' - script: +.test_backend_service_template: + script: &test_backend_service_definition - mkdir /etc/minerva/ - cp test-db-ci.properties /etc/minerva/db.properties - mvn -DskipTests=true clean install -pl service -am - mvn test -pl service - awk -F"," '{ instructions += $4 + $5; covered += $5 } END { print covered, "/", instructions, "instructions covered"; print 100*covered/instructions,"% covered" }' service/target/site/jacoco/jacoco.csv + +test:backend:commons:jdk-8: + <<: *jdk_8_definition + script: *test_backend_commons_definition + +test:backend:commons:jdk-11: + <<: *jdk_11_definition + script: *test_backend_commons_definition + +test:backend:annotation:jdk-8: + <<: *jdk_8_definition + script: *test_backend_annotation_definition + +test:backend:annotation:jdk-11: + <<: *jdk_11_definition + script: *test_backend_annotation_definition + +test:backend:CellDesigner_plugin:jdk-8: + <<: *jdk_8_definition + script: *test_backend_CellDesigner_plugin_definition + +#CellDesigner is working on java 8 and is incompatible with java 11 +#test:backend:CellDesigner_plugin:jdk-11: +# <<: *jdk_11_definition +# script: *test_backend_CellDesigner_plugin_definition + +test:backend:converter:jdk-8: + <<: *jdk_8_definition + script: *test_backend_converter_definition + +test:backend:converter:jdk-11: + <<: *jdk_11_definition + script: *test_backend_converter_definition + +test:backend:converter_graphics:jdk-8: + <<: *jdk_8_definition + script: *test_backend_converter_graphics_definition + +test:backend:converter_graphics:jdk-11: + <<: *jdk_11_definition + script: *test_backend_converter_graphics_definition + +test:backend:converter_SBGNML:jdk-8: + <<: *jdk_8_definition + script: *test_backend_converter_SBGNML_definition + +test:backend:converter_SBGNML:jdk-11: + <<: *jdk_11_definition + script: *test_backend_converter_SBGNML_definition + +test:backend:converter_SBML:jdk-8: + <<: *jdk_8_definition + script: *test_backend_converter_SBML_definition + +test:backend:converter_SBML:jdk-11: + <<: *jdk_11_definition + script: *test_backend_converter_SBML_definition + +test:backend:model:jdk-8: + <<: *jdk_8_definition + script: *test_backend_model_definition + +test:backend:model:jdk-11: + <<: *jdk_11_definition + script: *test_backend_model_definition + +test:backend:model_command:jdk-8: + <<: *jdk_8_definition + script: *test_backend_model_command_definition + +test:backend:model_command:jdk-11: + <<: *jdk_11_definition + script: *test_backend_model_command_definition + +test:backend:pathvisio:jdk-8: + <<: *jdk_8_definition + script: *test_backend_pathvisio_definition + +test:backend:pathvisio:jdk-11: + <<: *jdk_11_definition + script: *test_backend_pathvisio_definition + +test:backend:persist:jdk-8: + <<: *jdk_8_definition + script: *test_backend_persist_definition + +test:backend:persist:jdk-11: + <<: *jdk_11_definition + script: *test_backend_persist_definition + +test:backend:rest:jdk-8: + <<: *jdk_8_definition + script: *test_backend_rest_definition + +test:backend:rest:jdk-11: + <<: *jdk_11_definition + script: *test_backend_rest_definition + +test:backend:service:jdk-8: + <<: *jdk_8_definition + script: *test_backend_service_definition + +test:backend:service:jdk-11: + <<: *jdk_11_definition + script: *test_backend_service_definition + +test:backend:web:jdk-8: + <<: *jdk_8_definition + script: *test_backend_web_definition + +test:backend:web:jdk-11: + <<: *jdk_11_definition + script: *test_backend_web_definition + build_war: image: maven:3.6.0-jdk-8 stage: build @@ -213,18 +285,7 @@ build_war: - ant maven-build - cp web/target/web-1.0.war minerva.war -java_11_compatibility: - image: maven:3.6-jdk-11 - stage: test - script: - - apt-get update - - DEBIAN_FRONTEND=noninteractive apt-get install -y curl gnupg git ant - - curl -sL https://deb.nodesource.com/setup_9.x | bash - - - DEBIAN_FRONTEND=noninteractive apt-get install -y nodejs - - - mvn clean install -DskipTests=true - -dependency_conflict_check: +test:dependency_conflict: image: maven:3.6.0-jdk-8 stage: test script: @@ -413,10 +474,9 @@ test_deploy_with_db_without_superadmin_rights: - test 200 = $(curl --write-out %{http_code} --silent --output /dev/null -c cookie.txt http://localhost:8080/minerva/api/doLogin) - test 200 = $(curl --write-out %{http_code} --silent --output /dev/null --cookie cookie.txt http://localhost:8080/minerva/api/projects/) -test_postgres_9_3_compatibility: + +.test_database_template: &test_database_definition image: maven:3.6.0-jdk-8 - services: - - postgres:9.3 stage: test script: - mkdir /etc/minerva/ @@ -424,25 +484,17 @@ test_postgres_9_3_compatibility: - mvn -DskipTests=true clean install -pl persist -am - mvn test -pl persist +test_postgres_9_3_compatibility: + <<: *test_database_definition + services: + - postgres:9.3 + test_postgres_10_compatibility: - image: maven:3.6.0-jdk-8 + <<: *test_database_definition services: - postgres:10 - stage: test - script: - - mkdir /etc/minerva/ - - cp test-db-ci.properties /etc/minerva/db.properties - - mvn -DskipTests=true clean install -pl persist -am - - mvn test -pl persist test_postgres_11_compatibility: - image: maven:3.6.0-jdk-8 + <<: *test_database_definition services: - postgres:11 - stage: test - script: - - mkdir /etc/minerva/ - - cp test-db-ci.properties /etc/minerva/db.properties - - mvn -DskipTests=true clean install -pl persist -am - - mvn test -pl persist - diff --git a/converter-SBGNML/pom.xml b/converter-SBGNML/pom.xml index 84f4f14173ebdcd0ba3a8e6380eb7b0be1d01c6e..b950f0511c353ea699b7e1b4f795abad5475bfa9 100644 --- a/converter-SBGNML/pom.xml +++ b/converter-SBGNML/pom.xml @@ -60,6 +60,24 @@ <version>${xercesImp.version}</version> </dependency> + <!-- Java xml serialization --> + <dependency> + <groupId>javax.xml.bind</groupId> + <artifactId>jaxb-api</artifactId> + <version>${jaxb.version}</version> + </dependency> + + <dependency> + <groupId>org.glassfish.jaxb</groupId> + <artifactId>jaxb-runtime</artifactId> + <version>${jaxb.version}</version> + </dependency> + <dependency> + <groupId>javax.activation</groupId> + <artifactId>activation</artifactId> + <version>${activation-version}</version> + </dependency> + <dependency> <groupId>org.sbgn</groupId> <artifactId>libsbgn</artifactId> diff --git a/pom.xml b/pom.xml index 46b7571f8a635a3ff1cce38aeea66c62ec189569..52cc0c9e18c4f2770233991233ea013d88e91190 100644 --- a/pom.xml +++ b/pom.xml @@ -25,13 +25,14 @@ <jaxws-api.version>2.3.0</jaxws-api.version> <jaxb.version>2.3.0</jaxb.version> <txw2.version>2.3.0</txw2.version> + <activation-version>1.1</activation-version> <apache.httpcomponents.version>4.5.8</apache.httpcomponents.version> <apache.httpcomponents-core.version>4.4.11</apache.httpcomponents-core.version> <!-- version 4.x has conflict on dependencies with jsbml 1.4 --> <apache.poi.version>3.16</apache.poi.version> <commons-codec.version>1.11</commons-codec.version> - + <mockito.version>2.27.0</mockito.version> <springframework.version>5.0.9.RELEASE</springframework.version> @@ -179,7 +180,7 @@ <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> - <version>0.7.9</version> + <version>0.8.4</version> <executions> <execution> <goals>