Ceci est la bonne réponse. «assemblage gradle» laissera de côté de nombreuses autres tâches aussi. Consultez ce schéma pour vous faire une idée. Pour les constructions typiques de la vie réelle, «l'assemblage graduel» laissera de côté encore plus de tâches.
Fonctionne bien que vous deviez ajouter par exemple -x integTest, etc., donc pas aussi pratique que la couverture de Maven -DskipTests.
Jesse Glick
1
@c_maker, comment effectuer cela à partir de l'éclipse?
rinuthomaz
Est-il possible d'exécuter le fichier de classe? Je veux dire, avec runje peux voir l'effet de mon programme Hello. Mais je pense qu'il compile tout à nouveau. Je voudrais seulement exécuter le programme java.
Sigur
107
Essayer:
gradle assemble
Pour répertorier toutes les tâches disponibles pour votre projet, essayez:
gradle tasks
MISE À JOUR:
Cela peut ne pas sembler la réponse la plus correcte au début, mais lisez attentivement la gradle taskssortie ou les documents.
Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
Comme conseil supplémentaire au cas où vous débogueriez vos tests unitaires: gradle assemblene compilera pas les fichiers principaux. Si vous travaillez à faire corriger votre test unitaire, alors vous avez besoin gradle assemble testClasses- je pense que le nom de la tâche de construction est assez déroutant.
Martin
36
La réponse acceptée est la bonne.
OTOH, la façon dont je l'ai résolu auparavant était d'ajouter les éléments suivants à tous les projets:
Pour moi, c'est toujours la seule option qui fonctionne car le test -x ne semble fonctionner que sur le projet de départ mais pas pour les dépendances dans une construction multi-projets (testé sur le niveau 2.1). Placez le test.onlyif ... dans un bloc configure (subprojects.findAll {javaProjects.contains (it.name)}) {} dans votre racine build.gradle et cela fonctionnera pour tous les projets.
timm
Bon. Cette méthode est familière aux utilisateurs de maven.
AlexR
23
Vous pouvez ajouter les lignes suivantes à build.gradle, **/*exclut tous les tests.
veuillez envoyer une capture d'écran de la page. je ne sais pas où mettre cette ligne de code ....
Hossein Mansouri
Ce morceau de code devrait aller dans votre build.gradle :)
Suganthan Madhavan Pillai
2
la manière différente de désactiver les tâches de test dans le projet est la suivante:
tasks.withType(Test) {enabled = false}
ce comportement est parfois nécessaire si vous souhaitez désactiver les tests dans l'un d'un projet (ou du groupe de projets).
De cette façon, il fonctionne pour toutes sortes de tâches de test, pas seulement pour des «tests» java. De plus, cette façon est sûre. Voici ce que je veux dire, disons: vous avez un ensemble de projets dans différentes langues: si nous essayons d'ajouter ce type d'enregistrement en principal build.gradle:
@KirankumarDafda - non. Vous pouvez publier une réponse quand vous le souhaitez, même si une réponse existante a été acceptée. La nouvelle réponse pourrait être meilleure que la réponse acceptée, ou la résoudre d'une manière différente, ou autrement aider les autres. De l'avis .
Wai Ha Lee
@WaiHaLee Je ne peux pas modifier mon commentaire, mais comme j'ai reçu des suggestions pour de nouveaux utilisateurs, je voulais expliquer que j'essayais d'ajouter des réponses avec plus de clarifications afin que les autres utilisateurs puissent vérifier si cette réponse ou ce code leur était utile.
$ gradle tasks
Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
testClasses - Assembles test classes.
Verification tasks
------------------
test - Runs the unit tests.
Construction Gradle sans test, vous avez deux options:
-DskipTests
est pour MavenRéponses:
Vous devez utiliser l'
-x
argument de ligne de commande qui exclut toute tâche.Essayer:
Mise à jour:
Le lien dans le commentaire de Peter a changé. Voici le schéma du guide de l'utilisateur Gradle
la source
-x integTest
, etc., donc pas aussi pratique que la couverture de Maven-DskipTests
.run
je peux voir l'effet de mon programme Hello. Mais je pense qu'il compile tout à nouveau. Je voudrais seulement exécuter le programme java.Essayer:
Pour répertorier toutes les tâches disponibles pour votre projet, essayez:
MISE À JOUR:
Cela peut ne pas sembler la réponse la plus correcte au début, mais lisez attentivement la
gradle tasks
sortie ou les documents.la source
gradle assemble
ne compilera pas les fichiers principaux. Si vous travaillez à faire corriger votre test unitaire, alors vous avez besoingradle assemble testClasses
- je pense que le nom de la tâche de construction est assez déroutant.La réponse acceptée est la bonne.
OTOH, la façon dont je l'ai résolu auparavant était d'ajouter les éléments suivants à tous les projets:
Exécutez la génération avec
-Dskip.tests=true
et toutes les tâches de test seront ignorées.la source
Vous pouvez ajouter les lignes suivantes à
build.gradle
,**/*
exclut tous les tests.la source
Vous pouvez exclure des tâches
https://docs.gradle.org/current/userguide/command_line_interface.html#sec:command_line_executing_tasks
la source
Référence
Pour exclure une tâche de Gradle, utilisez l'
-x
option de ligne de commande. Voir l'exemple ci-dessousSortie de:
gradle -q dist -x runningTest
J'espère que cela vous donnera les bases
la source
la manière différente de désactiver les tâches de test dans le projet est la suivante:
ce comportement est parfois nécessaire si vous souhaitez désactiver les tests dans l'un d'un projet (ou du groupe de projets).
De cette façon, il fonctionne pour toutes sortes de tâches de test, pas seulement pour des «tests» java. De plus, cette façon est sûre. Voici ce que je veux dire, disons: vous avez un ensemble de projets dans différentes langues: si nous essayons d'ajouter ce type d'enregistrement en principal
build.gradle
:nous échouerons dans un projet quand si nous n'avons aucune tâche appelée tests
la source
Utiliser l'
-x test
exécution de test de saut, mais cela exclut également la compilation de code de test.Dans notre cas, nous avons un processus CI / CD où un objectif est la compilation et le prochain objectif est le test (Build -> Test).
Donc, pour notre premier
Build
objectif, nous voulions nous assurer que l'ensemble du projet se compile bien. Pour cela, nous avons utilisé:Sur le prochain objectif, nous exécutons simplement des tests.
la source
Si votre machine a plusieurs cœurs. Cependant, il n'est pas recommandé d'utiliser le nettoyage parallèle.
la source
Veuillez essayer ceci:
gradlew -DskipTests=true build
la source
Dans le plugin Java :
Construction Gradle sans test, vous avez deux options:
mais si vous voulez compiler le test:
la source