Reputation: 5640
Gradle: define a configuration foo as following:
task fooJar(type: Jar) {
...
}
configurations {
foo.extendsFrom("compile")
}
artifacts {
foo fooJar
}
How to write if configuration name is a variable? For example,
['foo', 'bar'].each {
task "${it}Jar"(type: Jar) {
....
}
configurations {
"$it".extendsFrom("compile")
}
artifacts {
"$it" tasks["${it}Jar"]
}
}
The 2nd part: adding artifact:
artifacts.add(config, tasks["${it}Jar"])
Error:
> Could not find method add() for arguments [configuration 'foo', task
'fooJar'] on object of type
org.gradle.api.internal.artifacts.dsl.DefaultArtifactHandler.
Upvotes: 0
Views: 473
Reputation: 28071
@see ConfigurationContainer which is returned by Project.getConfigurations()
eg
Configuration config = configurations.create(it)
config.extendsFrom configurations.getByName('xxx')
Upvotes: 1