From c7f8cc451bd6ab868f5de529a8b9a223295da1b5 Mon Sep 17 00:00:00 2001 From: Sonia Zorba <sonia.zorba@inaf.it> Date: Tue, 20 Jul 2021 15:11:20 +0200 Subject: [PATCH] Split parent pom from classes pom --- .gitlab-ci.yml | 10 ++- parent-pom.xml | 159 ++++++++++++++++++++++++++++++++++++ pom.xml | 215 ++----------------------------------------------- 3 files changed, 170 insertions(+), 214 deletions(-) create mode 100644 parent-pom.xml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1611f18..fb04c40 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,10 +8,12 @@ build: - docker image: maven:3.6.3-openjdk-14 script: - - mvn clean package -Pbuild-jar + - mvn -f parent-pom.xml clean install + - mvn clean package artifacts: paths: - target/vospace-parent*.jar + - parent-pom.xml - pom.xml expire_in: 7 days only: @@ -22,10 +24,10 @@ deploy: tags: - docker script: - - mvn deploy:deploy-file - -Dfile=pom.xml + - mvn -f parent-pom.xml deploy:deploy-file + -Dfile=parent-pom.xml -DrepositoryId=ia2.snapshots - -DpomFile=pom.xml + -DpomFile=parent-pom.xml -Durl=${IA2_MVN_REPO_SNAPSHOTS} - file=$(ls target/vospace-parent*.jar) - mvn deploy:deploy-file diff --git a/parent-pom.xml b/parent-pom.xml new file mode 100644 index 0000000..6cbc700 --- /dev/null +++ b/parent-pom.xml @@ -0,0 +1,159 @@ +<?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> + <groupId>it.inaf.ia2</groupId> + <artifactId>vospace-parent</artifactId> + <parent> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-parent</artifactId> + <version>2.4.5</version> + <relativePath/> <!-- lookup parent from repository --> + </parent> + <version>0.0.1-SNAPSHOT</version> + <packaging>pom</packaging> + + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <maven.compiler.source>14</maven.compiler.source> + <maven.compiler.target>14</maven.compiler.target> + <zonky.postgres-binaries.version>12.5.0</zonky.postgres-binaries.version> + </properties> + + <dependencies> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-jdbc</artifactId> + </dependency> + + <dependency> + <groupId>org.postgresql</groupId> + <artifactId>postgresql</artifactId> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-web</artifactId> + </dependency> + + <!-- Jackson-JAXB compatibility --> + <dependency> + <groupId>com.fasterxml.jackson.module</groupId> + <artifactId>jackson-module-jaxb-annotations</artifactId> + </dependency> + + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-devtools</artifactId> + <scope>runtime</scope> + <optional>true</optional> + </dependency> + + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-test</artifactId> + <scope>test</scope> + <exclusions> + <exclusion> + <groupId>org.junit.vintage</groupId> + <artifactId>junit-vintage-engine</artifactId> + </exclusion> + </exclusions> + </dependency> + + <dependency> + <groupId>it.oats.inaf</groupId> + <artifactId>vospace-datamodel</artifactId> + <version>1.0-SNAPSHOT</version> + <exclusions> + <!-- Transitive dependency excluded to avoid duplicated dependency issues. + We want to use always the version provided by Spring Boot --> + <exclusion> + <groupId>com.fasterxml.jackson.module</groupId> + <artifactId>jackson-module-jaxb-annotations</artifactId> + </exclusion> + </exclusions> + </dependency> + + <dependency> + <groupId>it.inaf.ia2</groupId> + <artifactId>auth-lib</artifactId> + <version>2.0.0-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-inline</artifactId> + </dependency> + + <!-- Embedded PostgreSQL: --> + <dependency> + <groupId>com.opentable.components</groupId> + <artifactId>otj-pg-embedded</artifactId> + <version>0.13.3</version> + <scope>test</scope> + </dependency> + </dependencies> + + <profiles> + <profile> + <id>platform-linux</id> + <activation> + <os> + <family>unix</family> + </os> + </activation> + <dependencies> + <dependency> + <groupId>io.zonky.test.postgres</groupId> + <artifactId>embedded-postgres-binaries-linux-amd64</artifactId> + <version>${zonky.postgres-binaries.version}</version> + <scope>test</scope> + </dependency> + </dependencies> + </profile> + <profile> + <id>platform-windows</id> + <activation> + <os> + <family>windows</family> + </os> + </activation> + <dependencies> + <dependency> + <groupId>io.zonky.test.postgres</groupId> + <artifactId>embedded-postgres-binaries-windows-amd64</artifactId> + <version>${zonky.postgres-binaries.version}</version> + <scope>test</scope> + </dependency> + </dependencies> + </profile> + </profiles> + + <repositories> + <repository> + <id>ia2-snapshots</id> + <name>IA2 snapshot repository</name> + <url>http://repo.ia2.inaf.it/maven/repository/snapshots</url> + </repository> + </repositories> + + <build> + <pluginManagement> + <plugins> + <plugin> + <artifactId>maven-surefire-plugin</artifactId> + <version>2.22.2</version> + <configuration> + <trimStackTrace>false</trimStackTrace> + </configuration> + </plugin> + <plugin> + <groupId>org.jacoco</groupId> + <artifactId>jacoco-maven-plugin</artifactId> + <version>0.8.6</version> + </plugin> + </plugins> + </pluginManagement> + </build> +</project> \ No newline at end of file diff --git a/pom.xml b/pom.xml index ffca653..aba4f31 100644 --- a/pom.xml +++ b/pom.xml @@ -2,217 +2,12 @@ <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> <groupId>it.inaf.ia2</groupId> - <artifactId>vospace-parent</artifactId> + <artifactId>vospace-parent-classes</artifactId> <parent> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-parent</artifactId> - <version>2.4.5</version> - <relativePath/> <!-- lookup parent from repository --> + <groupId>it.inaf.ia2</groupId> + <artifactId>vospace-parent</artifactId> + <version>0.0.1-SNAPSHOT</version> </parent> <version>0.0.1-SNAPSHOT</version> - <packaging>pom</packaging> - - <properties> - <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <maven.compiler.source>14</maven.compiler.source> - <maven.compiler.target>14</maven.compiler.target> - <zonky.postgres-binaries.version>12.5.0</zonky.postgres-binaries.version> - </properties> - - <dependencies> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-jdbc</artifactId> - </dependency> - - <dependency> - <groupId>org.postgresql</groupId> - <artifactId>postgresql</artifactId> - <scope>runtime</scope> - </dependency> - - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-web</artifactId> - </dependency> - - <!-- Jackson-JAXB compatibility --> - <dependency> - <groupId>com.fasterxml.jackson.module</groupId> - <artifactId>jackson-module-jaxb-annotations</artifactId> - </dependency> - - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-devtools</artifactId> - <scope>runtime</scope> - <optional>true</optional> - </dependency> - - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-test</artifactId> - <scope>test</scope> - <exclusions> - <exclusion> - <groupId>org.junit.vintage</groupId> - <artifactId>junit-vintage-engine</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>it.oats.inaf</groupId> - <artifactId>vospace-datamodel</artifactId> - <version>1.0-SNAPSHOT</version> - <exclusions> - <!-- Transitive dependency excluded to avoid duplicated dependency issues. - We want to use always the version provided by Spring Boot --> - <exclusion> - <groupId>com.fasterxml.jackson.module</groupId> - <artifactId>jackson-module-jaxb-annotations</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>it.inaf.ia2</groupId> - <artifactId>auth-lib</artifactId> - <version>2.0.0-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.mockito</groupId> - <artifactId>mockito-inline</artifactId> - </dependency> - - <!-- Embedded PostgreSQL: --> - <dependency> - <groupId>com.opentable.components</groupId> - <artifactId>otj-pg-embedded</artifactId> - <version>0.13.3</version> - <scope>test</scope> - </dependency> - </dependencies> - - <profiles> - <profile> - <id>platform-linux</id> - <activation> - <os> - <family>unix</family> - </os> - </activation> - <dependencies> - <dependency> - <groupId>io.zonky.test.postgres</groupId> - <artifactId>embedded-postgres-binaries-linux-amd64</artifactId> - <version>${zonky.postgres-binaries.version}</version> - <scope>test</scope> - </dependency> - </dependencies> - </profile> - <profile> - <id>platform-windows</id> - <activation> - <os> - <family>windows</family> - </os> - </activation> - <dependencies> - <dependency> - <groupId>io.zonky.test.postgres</groupId> - <artifactId>embedded-postgres-binaries-windows-amd64</artifactId> - <version>${zonky.postgres-binaries.version}</version> - <scope>test</scope> - </dependency> - </dependencies> - </profile> - - <profile> - <!-- packaging is 'pom' and classes would be ignored. - Jar file is generated triggering the build process by explicitly - executing these maven plugins --> - <id>build-jar</id> - <build> - <plugins> - <plugin> - <artifactId>maven-compiler-plugin</artifactId> - <executions> - <execution> - <phase>compile</phase> - <goals> - <goal>compile</goal> - </goals> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>build-helper-maven-plugin</artifactId> - <executions> - <execution> - <id>attach-artifacts</id> - <phase>package</phase> - <goals> - <goal>attach-artifact</goal> - </goals> - <configuration> - <sources> - <source>src/main/java/**/*</source> - </sources> - <artifacts> - <artifact> - <file>target/${project.artifactId}-${project.version}.jar</file> - <type>jar</type> - </artifact> - </artifacts> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <executions> - <execution> - <id>default</id> - <goals> - <goal>jar</goal> - </goals> - <phase>package</phase> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - </profiles> - - <repositories> - <repository> - <id>ia2-snapshots</id> - <name>IA2 snapshot repository</name> - <url>http://repo.ia2.inaf.it/maven/repository/snapshots</url> - </repository> - </repositories> - - <build> - <pluginManagement> - <plugins> - <plugin> - <artifactId>maven-surefire-plugin</artifactId> - <version>2.22.2</version> - <configuration> - <trimStackTrace>false</trimStackTrace> - </configuration> - </plugin> - <plugin> - <groupId>org.jacoco</groupId> - <artifactId>jacoco-maven-plugin</artifactId> - <version>0.8.6</version> - </plugin> - </plugins> - </pluginManagement> - </build> + <packaging>jar</packaging> </project> \ No newline at end of file -- GitLab