I followed this guide:
http://www.gradle.org/docs/current/userguide/custom_plugins.html
create a standalone gradle plugin with the following structure / files:
my-gradle-plugin > src > main > java > com > mygroup > MyGradlePlugin.groovy > build.gradle > settings.gradle
build.gradle :
apply plugin: 'groovy' dependencies { compile gradleApi() groovy localGroovy() } apply plugin: 'maven' repositories { mavenCentral() } group = 'com.mygroup' version = '1.0.0-SNAPSHOT'
MyGradlePlugin.groovy :
package com.mygroup import org.gradle.api.* class MyGradlePlugin implements Plugin<Project> { void apply(Project project) { print " project.name " + project.name + "\n" print " project.dependencies " + project.dependencies + "\n" // How do we iterate each dependency and print artifactId, group, version?? // project.dependencies.each { // compile(it) { // print it.next() // print it.name // } // } project.configurations.each { print it.dump() } } }
In another project, I am using / applying this plugin:
apply plugin: 'java' apply plugin: 'maven' apply plugin: 'eclipse' repositories { mavenLocal() } buildscript { repositories { mavenLocal() } dependencies { classpath group: 'com.mygroup', name: 'my-gradle-plugin', version: '1.0.0-SNAPSHOT' } } dependencies { compile group: 'commons-codec', name: 'commons-codec', version: '1.4' compile group: 'commons-beanutils', name: 'commons-beanutils', version: '1.7.0' } install.doLast { apply plugin: 'my-gradle-plugin' }
But how can I iterate over the dependencies of houses in the apply method in MyGradlePlugin.groovy and print their coordinates (artifactId, groupId, version)?
source share