tutorial traduccion mac gradle

traduccion - gradle vs maven



¿Hay alguna manera de enumerar dependencias de tareas en Gradle? (7)

enumere las tareas y las tareas de las que dependen (algo así como el depenceny de maven: árbol pero para tareas)

para esto puede usar la --dry-run (o -m ) que enumera las tareas que se ejecutan en orden para un comando particular, pero no ejecuta el comando, por ejemplo

gradle assemble --dry-run

puedes encontrar más here

./gradle tasks enumera "algunas" de las tareas. Mirando http://gradle.org/docs/current/userguide/java_plugin.html hay otros ocultos que no están en la lista. Además, otros complementos no tendrán un gráfico bonito y bonito de las dependencias entre tareas.

¿Hay alguna manera de

  1. enumera todas las tareas en todos los complementos con gradle
  2. enumere las tareas y las tareas de las que dependen (algo así como el depenceny:tree de maven depenceny:tree pero para tareas)

A medida que su multiproyecto crece, la solución que marqué como correcta crece un poco floja y difícil de leer

gradle tasks --all

En cambio, me he movido a mirar un proyecto específico que lo hace mucho más fácil

gradlew :full-httpproxy:tasks --all

donde ''full-httpproxy'' es el nombre de mi proyecto (y el directorio como es típico).

Sin embargo, tengo curiosidad de cómo enumerar las tareas en el proyecto maestro / raíz y tengo una pregunta pendiente aquí también

¿Cómo enumerar todas las tareas para el proyecto maestro solo en gradle?

ya que hacer eso no parece posible en este momento.


Puede acceder mediante programación al gráfico de tarea para inspeccionarlo dentro del script de construcción usando Gradle.getTaskGraph ()



Puedes pegar esto en tu build.gradle :

gradle.taskGraph.whenReady {taskGraph -> println "Found task graph: " + taskGraph println "Found " + taskGraph.allTasks.size() + " tasks." taskGraph.allTasks.forEach { task -> println task task.dependsOn.forEach { dep -> println " - " + dep } } }

Luego ejecuta tu tarea con gradle:

./gradlew build

Y deberías ver esto:

Found task graph: org.gradle.execution.taskgraph.DefaultTaskGraphExecuter@36eb780c Found 19 tasks. task '':compileJava'' - task ''compileJava'' input files task '':compileScala'' - task ''compileScala'' input files - compileJava task '':processResources'' - task ''processResources'' input files task '':classes'' - org.gradle.api.internal.tasks.DefaultTaskDependency@287a7782 - task ''classes'' input files - compileJava - dirs - compileScala - processResources task '':jar'' - task ''jar'' input files task '':assemble'' - task ''assemble'' input files - org.gradle.api.internal.artifacts.DefaultPublishArtifactSet$ArtifactsTaskDependency@5bad9616 task '':compileTestJava'' - task ''compileTestJava'' input files task '':compileTestScala'' - task ''compileTestScala'' input files - compileTestJava task '':processTestResources'' - task ''processTestResources'' input files task '':testClasses'' - processTestResources - task ''testClasses'' input files - compileTestScala - org.gradle.api.internal.tasks.DefaultTaskDependency@42c1fa08 - compileTestJava - dirs task '':compileIntegrationTestJava'' - task ''compileIntegrationTestJava'' input files task '':compileIntegrationTestScala'' - task ''compileIntegrationTestScala'' input files - compileIntegrationTestJava task '':processIntegrationTestResources'' - task ''processIntegrationTestResources'' input files task '':integrationTestClasses'' - processIntegrationTestResources - compileIntegrationTestJava - org.gradle.api.internal.tasks.DefaultTaskDependency@7c8aa0fe - compileIntegrationTestScala - dirs - task ''integrationTestClasses'' input files task '':composeUp'' - task ''composeUp'' input files task '':integrationTest'' - task '':composeUp'' - task ''integrationTest'' input files task '':test'' - task ''test'' input files task '':check'' - task ''check'' input files - task '':test'' - task '':integrationTest'' task '':build'' - task ''build'' input files - check - assemble


gradle --profile clean build

Una vez que esto esté completo, vaya a la carpeta de creación / informes / perfil y explore el archivo .html. Verás la resolución de dependencias y otra información con el tiempo que tardó en una buena página html.


puede utilizar el distintivo --all para obtener una lista más detallada de las tareas disponibles y las dependencias de tareas

gradle tasks --all

EDITAR: como observó Radim en los comentarios, este comando no informa dependencias, para gradle 3.3 y posteriores.