...
"feat: #<NUM_TICKET>, migration Maven"
Portage
pom.xml
Pour un module SANS création de JARs (.jar, -fat.jar, -test.jar, -deployment.jar)
Reprendre le squelette ci-desousdessous, adapter en suivant les commentaires.
Bloc de code | |
---|---|
xml | <?xml version="1.0" encoding="UTF-8"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <groupId>fr.wseduc</groupId> <!--<parent> Vient de gradle.properties > modowner --> <artifactId>mod-zip</artifactId><!-- Vient de gradle.properties > modname --> <version>3.0-b2school-SNAPSHOT</version><!-- Vient de gradle.properties > version --> <properties><groupId>io.edifice</groupId> <artifactId>edifice-parent</artifactId> <version>1.0</version> <java.version>1.8</java.version></parent> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version><groupId>fr.wseduc</groupId><!-- Vient de gradle.properties > modowner --> <maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version> <vertx.version>4.4.5</vertx.version><artifactId>web-utils</artifactId><!-- Vient de gradle.properties > modname --> <web-utils<version>3.version>2.0.0</web-utils.version> <jacksonDatabindVersion>2.15.2</jacksonDatabindVersion> </properties> <scm><!-- À ajuster en fonction de l'url GitHub/GitLab --> <connection>scm:git:https://github.com/opendigitaleducation/mod-zip.git</connection> <developerConnection>scm:git:https://github.com/opendigitaleducation/mod-zip.git</developerConnection> <url>https://github.com/opendigitaleducation/mod-zip</url> </scm> <repositories> <repository>0-b2school-SNAPSHOT</version><!-- Vient de gradle.properties > version --> <properties><!-- Reporter les versions des dépendances de gradle.properties > --> <jacksonDatabindVersion>2.15.2</jacksonDatabindVersion> </properties> <dependencies><!-- Reporter les dépendances qui étaient dans build.gradle > dependencies --> <id>ode</id> <dependency> <name>ODE Repository</name> <url>https://maven.opendigitaleducation.com/nexus/content/groups/public</url><groupId>com.fasterxml.jackson.core</groupId> </repository> </repositories> <distributionManagement> <artifactId>jackson-databind</artifactId> <snapshotRepository> <id>ode-snapshots</id> <name>Snapshots</name><version>${jacksonDatabindVersion}</version> <url>https://maven.opendigitaleducation.com/nexus/content/repositories/snapshots/</url> <<scope>provided</snapshotRepository> scope> <repository> <id>ode-releases</id></dependency> </dependencies> <name>Releases<</name> <url>https://maven.opendigitaleducation.com/nexus/content/repositories/releases/</url> </repository> </distributionManagement> <dependencies> <dependency> <groupId>io.vertx</groupId> <artifactId>vertx-core</artifactId> <version>${vertx.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>fr.wseduc</groupId> <artifactId>web-utils</artifactId> <version>${web-utils.version}</version> <scope>compile</scope> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jacksonDatabindVersion}</version> <scope>provided</scope> </dependency> <!-- Ajouter les autres dépendances qui étaient dans build.gradle > dependencies --> </dependencies> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>3.2.0</version> <executions> <execution> <phase>validate</phase> <goals><goal>create</goal></goals> </execution> </executions> <configuration> <getRevisionOnlyOnce>true</getRevisionOnlyOnce> <shortRevisionLength>8</shortRevisionLength> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.5.1</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <finalName>${project.groupId}~${project.artifactId}~${project.version}-fat</finalName> <!--transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>your.main.class.name</mainClass> </transformer> </transformers--> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.2</version> <!-- Use the latest version --> <configuration> <archive> <manifestEntries> <Build-Time>${maven.build.timestamp}</Build-Time> <Main-Verticle>service:mod</Main-Verticle> <SCM-Commit-Id>${buildNumber}</SCM-Commit-Id> <SCM-Branch>${scmBranch}</SCM-Branch> </manifestEntries> </archive> </configuration> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>2.6</version>project> |
Pour un module AVEC création de JARs (.jar, -fat.jar, -test.jar, -deployment.jar)
Reprendre le squelette ci-desous, adapter en suivant les commentaires.
Bloc de code | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" <executions> <execution> <id>copy-resources</id> xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <phase>validate</phase> <modelVersion>4.0.0</modelVersion> <parent> <goals> <groupId>io.edifice</groupId> <goal>copy<artifactId>app-resources</goal> parent</artifactId> </goals> <version>1.0</version> </parent> <configuration> <groupId>net.atos</groupId><!-- Vient de gradle.properties > modowner --> <outputDirectory>${basedir}/target/classes</outputDirectory> <artifactId>actualites</artifactId><!-- Vient de gradle.properties > modname --> <includeEmptyDirs>true</includeEmptyDirs> <version>2.0-b2school-SNAPSHOT</version> <!-- Vient de gradle.properties > version --> <scm><!-- <resources>Adapter avec l'url du repertoire (github, gitlab...) --> <resource> <connection>scm:git:https://github.com/OPEN-ENT-NG/actualites.git</connection> <developerConnection>scm:git:https://github.com/OPEN-ENT-NG/actualites.git</developerConnection> <directory>${basedir}/deployment</directory> <url>https://github.com/OPEN-ENT-NG/actualites</url> <filtering>false</filtering></scm> <properties><!-- Reporter les versions des dépendances </resource> de gradle.properties --> <web-utils.version>3.0-b2school-SNAPSHOT</web-utils.version> </resources>properties> <dependencies><!-- Reporter les dépendances qui </configuration>étaient dans build.gradle > dependencies --> </execution> <dependency> </executions> <<groupId>io.vertx</plugin>groupId> <plugin> <artifactId>vertx-core</artifactId> <artifactId>maven-compiler-plugin</artifactId> <version>${maven-compiler-pluginvertx.version}</version> <configuration> <source>${java.version}</source> <scope>provided</scope> <target>${java.version}</target>dependency> <dependency> </configuration> </plugin> <groupId>fr.wseduc</groupId> <plugin> <artifactId>maven<artifactId>web-surefire-plugin<utils</artifactId> <version>${mavenweb-surefire-pluginutils.version}</version> </plugin><scope>compile</scope> </plugins>dependency> </build>dependencies> </project> |
docker-compose.yml
Remplacer le service gradle par le service maven
tel que décrit plus bas.
...