Comment puis-je obtenir maven-release-plugin pour ignorer mes tests?

Comment puis-je faire fonctionner le plugin maven-release-plug sans déclencher les tests?

j’ai essayé

-Dmaven.test.skip=true 

et

 -DskipTests 

et

 -DpreparationGoals=clean 

… mais aucun ne fonctionne.

Oui, je sais que je ne devrais pas sortir si les tests ne réussissent pas, mais je ne contrôle pas que mes collègues écrivent des tests fiables.

-Darguments="-DskipTests" est ce que vous voulez, ou configurer explicitement les exécutions fourchues dans le pom.

-Darguments="..." transmet les arguments au processus -Darguments="..." , mais il est important de réaliser que deux commutateurs différents sont utilisés ici. -DskipTests force -DskipTests à ne pas exécuter de test, mais les tests sont toujours compilés (ceci est important si vous avez des dépendances sur un type de test-jar). -Dmaven.test.skip=true force Maven à ne même pas comstackr les tests, ce qui signifie que les jars de test ne seront pas générés.

Donc, vous devez utiliser -Darguments , mais pour ignorer les tests en cours d’exécution, utilisez uniquement skipTests , pour les empêcher de comstackr, utilisez maven.test.skip .

Si vous voulez simplement ignorer les tests d’intégration, vous le ferez:

 -Darguments="-DskipITs" 

Pour ignorer tout le test unitaire, il utilise un argument

-Dmaven.test.skip = true

donc si vous voulez sauter le test de l’unité, cela résoudra

 mvn install -Dmaven.test.skip=true mvn package -Dmaven.test.skip=true 

ou bien vous pouvez définir des skipTests dans maven-surefire-plugin dans

pom.xml

  org.apache.maven.plugins maven-surefire-plugin 2.12.4  true   

vous avez trop de choix pour éviter et ignorer les tests avec le plugin release

  • La première consiste à passer en argument sur cli à l’objective ou aux phases relase par providings a -Arguments:

exemple: mvn -X -Darguments="-Dmaven.javadoc.skip=true -Dmaven.test.skipTests=true -Dmaven.test.skip=true" -P release-mode release:prepare

-Le second consiste à exécuter ces arguments sur votre pom.xml dans la version comme ceci:

  org.apache.maven.plugins maven-release-plugin   org.apache.maven.scm maven-scm-provider-gitexe 1.9.4    true true clean validate -Dmaven.javadoc.skip=true -Dmaven.test.skipTests=true -Dmaven.test.skip=true false release-mode TEST-@{project.version}   

Notez que la deuxième méthode remplace la première.

Je vous recommande de préparer d’abord la publication en une seule action, puis vous pourrez éditer le fichier release.properties sur la base de travail exec.additionalArguments et regarder la propriété exec.additionalArguments si vos arguments sont là. Il ressemblera à: exec.additionalArguments=-Dmaven.javadoc.skip\=true -Dmaven.test.skipTests\=true -Dmaven.test.skip\=true -P release-mode .

Après vous pouvez effectuer la libération.

Aucun plug-in maven ne déclenche littéralement une compilation ou une exécution de test. Ce sont les phases du cycle de vie maven qui déclenchent l’exécution d’un ou plusieurs plug-ins, lorsque ceux-ci ont des objectives limités à une phase spécifique.

Ainsi, il suffit d’exécuter un seul objective de plug-in sans exécuter de tests:

 mvn release:perform 

ou combiner avec la construction du projet et l’emballage:

 mvn clean package release:perform