I have the following so far:
task outputs() << {
tasks.each { task ->
task.properties.each { property ->
task.getClass().declaredFields.each { field ->
println “${task.name}.${property.key}: ${field.name}: ${field.declaredAnnotations*.annotationType()}”
}
}
}
}
but I’m not getting any annotations. All I’m getting is something like:
$ gradle outputs | grep ‘jar.archivePath=’
jar.archivePath=/Users/nyap/proj/setter-for-catan/build/libs/setter-for-catan.jar: copyActionSet: []
jar.archivePath=/Users/nyap/proj/setter-for-catan/build/libs/setter-for-catan.jar: appendixSet: []
jar.archivePath=/Users/nyap/proj/setter-for-catan/build/libs/setter-for-catan.jar: caseSensitiveSet: []
jar.archivePath=/Users/nyap/proj/setter-for-catan/build/libs/setter-for-catan.jar: includeEmptyDirsSet: []
jar.archivePath=/Users/nyap/proj/setter-for-catan/build/libs/setter-for-catan.jar: rootSpecSet: []
jar.archivePath=/Users/nyap/proj/setter-for-catan/build/libs/setter-for-catan.jar: extensionSet: []
jar.archivePath=/Users/nyap/proj/setter-for-catan/build/libs/setter-for-catan.jar: includesSet: []
jar.archivePath=/Users/nyap/proj/setter-for-catan/build/libs/setter-for-catan.jar: destinationDirSet: []
jar.archivePath=/Users/nyap/proj/setter-for-catan/build/libs/setter-for-catan.jar: dirModeSet: []
jar.archivePath=/Users/nyap/proj/setter-for-catan/build/libs/setter-for-catan.jar: versionSet: []
jar.archivePath=/Users/nyap/proj/setter-for-catan/build/libs/setter-for-catan.jar: baseNameSet: []
jar.archivePath=/Users/nyap/proj/setter-for-catan/build/libs/setter-for-catan.jar: sourceSet: []
jar.archivePath=/Users/nyap/proj/setter-for-catan/build/libs/setter-for-catan.jar: mainSpecSet: []
jar.archivePath=/Users/nyap/proj/setter-for-catan/build/libs/setter-for-catan.jar: manifestSet: []
jar.archivePath=/Users/nyap/proj/setter-for-catan/build/libs/setter-for-catan.jar: archiveNameSet: []
jar.archivePath=/Users/nyap/proj/setter-for-catan/build/libs/setter-for-catan.jar: defaultSourceSet: []
jar.archivePath=/Users/nyap/proj/setter-for-catan/build/libs/setter-for-catan.jar: excludesSet: []
jar.archivePath=/Users/nyap/proj/setter-for-catan/build/libs/setter-for-catan.jar: fileModeSet: []
jar.archivePath=/Users/nyap/proj/setter-for-catan/build/libs/setter-for-catan.jar: entryCompressionSet: []
jar.archivePath=/Users/nyap/proj/setter-for-catan/build/libs/setter-for-catan.jar: metaInfSet: []
jar.archivePath=/Users/nyap/proj/setter-for-catan/build/libs/setter-for-catan.jar: classifierSet: []
jar.archivePath=/Users/nyap/proj/setter-for-catan/build/libs/setter-for-catan.jar: archivePathSet: []
I’m thinking if we can get at the annotations, we can start filtering on specific ones.