Skip to content
Snippets Groups Projects
Select Git revision
  • b36fae43c9c3e384d41384530f53bc8dd93c1f04
  • develop default protected
  • dependabot/maven/jee/dao/com.h2database-h2-2.1.210
  • feature/myfeature
  • feature/XXF1
  • feature/sonar
  • feature/tests
  • feature/tls
  • feature/ear
  • feature/jsf
  • feature/minor-updates
  • master
12 results

pom.xml

Blame
  • pom.xml 16.59 KiB
    <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>fr.univtln.bruno.samples.jee91</groupId>
        <artifactId>parent</artifactId>
        <version>1.0-SNAPSHOT</version>
        <packaging>pom</packaging>
    
        <name>Demo JakartaEE</name>
    
        <modules>
            <module>entites</module>
            <module>utils</module>
            <module>jee</module>
            <module>websocketClient</module>
        </modules>
    
    
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    
            <maven.compiler.release>11</maven.compiler.release>
    
            <!-- The default value is changed to `false` since maven-war-plugin 3.0.0 -->
            <failOnMissingWebXml>false</failOnMissingWebXml>
    
            <!-- Cargo maven plugin to deploy apps to Glassfish/Payara servers -->
            <cargo-maven3-plugin.version>1.9.8</cargo-maven3-plugin.version>
    
            <!-- Jakarta EE API 9.1.0 with Java 11 -->
            <jakarta.jakartaee-api.version>9.1.0</jakarta.jakartaee-api.version>
    
            <h2.version>1.4.200</h2.version>
    
            <!-- Arquillian 1.7.0 adds Jakarta EE 9 and JUnit 5 support-->
            <arquillian-bom.version>1.7.0.Alpha10</arquillian-bom.version>
            <junit-jupiter.version>5.8.2</junit-jupiter.version>
            <!-- Tests -->
            <mockito.version>4.1.0</mockito.version>
            <hamcrest.version>2.2</hamcrest.version>
    
            <!-- Payara server -->
            <payara.version>6.2021.1.Alpha1</payara.version>
            <arquillian-payara.version>3.0.alpha2</arquillian-payara.version>
    
            <!-- Weld for embedded CDI -->
            <arquillian-weld-embedded.version>3.0.2.Final</arquillian-weld-embedded.version>
            <weld.version>4.0.2.Final</weld.version>
    
        </properties>
    
        <dependencyManagement>
            <dependencies>
                <!-- JEE -->
                <dependency>
                    <groupId>jakarta.platform</groupId>
                    <artifactId>jakarta.jakartaee-api</artifactId>
                    <version>${jakarta.jakartaee-api.version}</version>
                    <scope>provided</scope>
                </dependency>
    
                <dependency>
                    <groupId>org.projectlombok</groupId>
                    <artifactId>lombok</artifactId>
                    <version>1.18.22</version>
                    <scope>compile</scope>
                </dependency>
    
                <dependency>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                    <version>1.7.32</version>
                </dependency>
    
                <dependency>
                    <groupId>com.fasterxml.jackson.jakarta.rs</groupId>
                    <artifactId>jackson-jakarta-rs-json-provider</artifactId>
                    <version>2.13.0</version>
                    <exclusions>
                        <exclusion>
                            <groupId>jakarta.activation</groupId>
                            <artifactId>jakarta.activation-api</artifactId>
                        </exclusion>
                    </exclusions>
                </dependency>
    
                <!-- TEST -->
                <dependency>
                    <groupId>org.junit</groupId>
                    <artifactId>junit-bom</artifactId>
                    <version>${junit-jupiter.version}</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
                <dependency>
                    <groupId>org.hamcrest</groupId>
                    <artifactId>hamcrest-library</artifactId>
                    <version>${hamcrest.version}</version>
                    <scope>test</scope>
                </dependency>
                <dependency>
                    <groupId>org.mockito</groupId>
                    <artifactId>mockito-core</artifactId>
                    <version>${mockito.version}</version>
                    <scope>test</scope>
                </dependency>
                <!-- Override dependency resolver with latest version.
             This must go *BEFORE* the Arquillian BOM. -->
                <!--dependency>
                    <groupId>org.jboss.shrinkwrap.resolver</groupId>
                    <artifactId>shrinkwrap-resolver-bom</artifactId>
                    <version>3.1.4</version>
                    <scope>import</scope>
                    <type>pom</type>
                </dependency-->
                <dependency>
                    <groupId>org.jboss.arquillian</groupId>
                    <artifactId>arquillian-bom</artifactId>
                    <version>1.7.0.Alpha10</version>
                    <scope>import</scope>
                    <type>pom</type>
                </dependency>
                <dependency>
                    <groupId>fish.payara.arquillian</groupId>
                    <artifactId>arquillian-payara-server-embedded</artifactId>
                    <version>2.4.5</version>
                    <scope>test</scope>
                </dependency>
                <dependency>
                    <groupId>fish.payara.extras</groupId>
                    <artifactId>payara-embedded-all</artifactId>
                    <version>${payara.version}</version>
                    <scope>test</scope>
                </dependency>
                <dependency>
                    <groupId>org.jboss.arquillian.container</groupId>
                    <artifactId>arquillian-weld-embedded</artifactId>
                    <version>${weld.version}</version>
                    <exclusions>
                        <exclusion>
                            <groupId>jakarta.ejb</groupId>
                            <artifactId>jakarta.ejb-api</artifactId>
                        </exclusion>
                        <exclusion>
                            <groupId>jakarta.transaction</groupId>
                            <artifactId>jakarta.transaction-api</artifactId>
                        </exclusion>
                    </exclusions>
                </dependency>
    
                <dependency>
                    <groupId>org.jboss.logging</groupId>
                    <artifactId>jboss-logging</artifactId>
                    <version>3.4.2.Final</version>
                    <exclusions>
                        <exclusion>
                            <artifactId>log4j</artifactId>
                            <groupId>log4j</groupId>
                        </exclusion>
                    </exclusions>
                </dependency>
                <dependency>
                    <groupId>org.jboss.logging</groupId>
                    <artifactId>jboss-logging-processor</artifactId>
                    <version>3.4.2.Final</version>
                    <exclusions>
                        <exclusion>
                            <groupId>org.jboss.logging</groupId>
                            <artifactId>jboss-logging</artifactId>
                        </exclusion>
                    </exclusions>
                </dependency>
                <dependency>
                    <groupId>org.jboss.logging</groupId>
                    <artifactId>jboss-logging-annotations</artifactId>
                    <version>2.2.1.Final</version>
                    <exclusions>
                        <exclusion>
                            <groupId>org.jboss.logging</groupId>
                            <artifactId>jboss-logging</artifactId>
                        </exclusion>
                    </exclusions>
                </dependency>
    
            </dependencies>
        </dependencyManagement>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.1</version>
                    <configuration>
                        <showDeprecation>true</showDeprecation>
                        <showWarnings>true</showWarnings>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>3.0.0-M4</version>
                    <executions>
                        <execution>
                            <id>default-test</id>
                            <phase>test</phase>
                            <goals>
                                <goal>test</goal>
                            </goals>
                            <configuration>
                                <excludes>
                                    <exclude>**/it/**</exclude>
                                </excludes>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>3.0.0-M4</version>
                    <executions>
                        <execution>
                            <id>integration-test</id>
                            <phase>integration-test</phase>
                            <goals>
                                <goal>integration-test</goal>
                                <goal>verify</goal>
                            </goals>
                            <configuration>
                                <includes>
                                    <include>**/it/**</include>
                                </includes>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>3.0.0</version>
                    <executions>
                        <execution>
                            <id>enforce-maven</id>
                            <goals>
                                <goal>enforce</goal>
                            </goals>
                            <configuration>
                                <rules>
                                    <requireMavenVersion>
                                        <version>3.8</version>
                                    </requireMavenVersion>
                                    <!--dependencyConvergence /-->
                                </rules>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
    
            <pluginManagement>
                <plugins>
                    <plugin>
                        <artifactId>maven-clean-plugin</artifactId>
                        <version>3.1.0</version>
                    </plugin>
                    <plugin>
                        <artifactId>maven-deploy-plugin</artifactId>
                        <version>3.0.0-M1</version>
                    </plugin>
                    <plugin>
                        <artifactId>maven-install-plugin</artifactId>
                        <version>3.0.0-M1</version>
                    </plugin>
                    <plugin>
                        <artifactId>maven-site-plugin</artifactId>
                        <version>3.9.1</version>
                    </plugin>
    
                    <!--Sonarquve -->
                    <plugin>
                        <groupId>org.sonarsource.scanner.maven</groupId>
                        <artifactId>sonar-maven-plugin</artifactId>
                        <version>3.9.1.2184</version>
                    </plugin>
                    <plugin>
                        <groupId>io.github.r0bb3n</groupId>
                        <artifactId>sonar-quality-gate-maven-plugin</artifactId>
                        <version>1.1.0</version>
                    </plugin>
    
                    <!-- This plugins implements the gitflow branching model (http://nvie.com/git-model,
               https://www.atlassian.com/git/tutorials/comparing-workflows/#!workflow-gitflow )
               for maven. It gives an automatic way to manage versions and branches.
               https://bitbucket.org/atlassian/jgit-flow/wiki/Home
               mvn jgitflow:feature-start:
                 creates a new feature branch; pushes the branch to origin automatically (can be shared and
                 used by jenkins).
               mvn jgitflow:feature-finish:
                 merges the feature branch back into the development branch and pushes to origin.
                   The good way :
                       git fetch : make sure your local repo copy is up-to-date
                       git checkout development : go to development
                       git merge origin/development : make sure your local develop is up-to-date (origin being the remote's name here)
                       git checkout <feature-branch> : go to you feature branch again
                       git merge develop : Merge and solve conflicts, if any (on you feature branch)
                       mvn jgitflow:feature-finish you already solved the conflicts
               mvn jgitflow:release-start:
                  creates a release branch (freeze to prepare a release, only bugfix, documentation
                  and translation) and pushes it to origin.
               mvn jgitflow:release-finish:
                  builds, tags and merges the release branch back into master and development;
                  updates versions in master and development branches
               mvn jgitflow:hotfix-start: like mvn jgitflow:release-start but branches off of master
               mvn jgitflow:hotfix-finish: like mvn jgitflow:release-finish
               We forbid deploy from the workstations, it has to be done by the C.I. server.
               -->
                    <plugin>
                        <groupId>external.atlassian.jgitflow</groupId>
                        <artifactId>jgitflow-maven-plugin</artifactId>
                        <version>1.0-m5.1</version>
                        <dependencies>
                            <dependency>
                                <groupId>com.jcraft</groupId>
                                <artifactId>jsch</artifactId>
                                <version>0.1.55</version>
                            </dependency>
                        </dependencies>
                        <configuration>
                            <!-- Enable this to push to origin using SSH keys -->
                            <enableSshAgent>true</enableSshAgent>
                            <!-- Keep your maven submodules at the same version as the parent POM -->
                            <autoVersionSubmodules>true</autoVersionSubmodules>
                            <!-- Pushing in-development features to origin allows all devs to see what each other
                                 are working on                                        -->
                            <!--pushFeatures>true</pushFeatures-->
    
                            <!-- This allows the CI server (e.g. Jenkins) to automatically push new releases to
                                 origin; you can then either manually deploy them or, if you are doing Continuous
                                 Deployments, auto-deploy them to prod -->
                            <!--pushReleases>true</pushReleases-->
                            <!--pushHotfixes>true</pushHotfixes-->
    
                            <!-- append the feature name to the version on the feature branch. -->
                            <enableFeatureVersions>true</enableFeatureVersions>
                            <!-- Prevents deployments from dev workstations so that they can be done by a CI
                                 server  -->
                            <noDeploy>true</noDeploy>
    
                            <!-- Whether to squash commits into a single commit before merging. -->
                            <squash>false</squash>
    
                            <scmCommentPrefix>[gitflow]</scmCommentPrefix>
    
                            <!-- A VOIR -->
                            <featureRebase>true</featureRebase>
    
    
                            <!--pullDevelop>true</pullDevelop>
                            <pullMaster>true</pullMaster-->
    
                            <flowInitContext>
                                <masterBranchName>master</masterBranchName>
                                <developBranchName>develop</developBranchName>
                                <featureBranchPrefix>feature/</featureBranchPrefix>
                                <releaseBranchPrefix>release/</releaseBranchPrefix>
                                <hotfixBranchPrefix>hotfix/</hotfixBranchPrefix>
                                <versionTagPrefix />
                            </flowInitContext>
                        </configuration>
                    </plugin>
    
                </plugins>
            </pluginManagement>
        </build>
    
        <repositories>
            <repository>
                <id>sonatype-nexus-staging</id>
                <name>Sonatype Nexus Staging</name>
                <url>https://jakarta.oss.sonatype.org/content/repositories/staging/</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
            </repository>
            <repository>
                <id>payara-nexus</id>
                <name>Payara Nexus Artifacts</name>
                <url>https://nexus.payara.fish/repository/payara-artifacts/</url>
            </repository>
        </repositories>
    
    
    </project>