Ross Black wrote:
Hi,

I am using an existing ivy repository that uses ivy types to group files within a single configuration:
eg ivy.xml snippet
--

    <configurations>
        <conf name="default"/>
    </configurations>
    <publications>
        <artifact name="junit"
                  type="jar"
                  conf="default"/>
        <artifact name="junit-src"
                  type="source"
                  ext="zip"
                  conf="*"/>
        <artifact name="junit-license"
                  type="license"
                  ext="html"
                  conf="*"/>
    </publications>
--

I could not see an obvious way to restrict a configuration by ivy type, but I eventually discovered that I could extract a subset of files from the configuration using the following gradle code:
--

task resolve << {

Set<ResolvedArtifact> artifacts = configurations.testCompile.resolvedConfiguration.resolvedArtifacts

    def typedArtifacts = artifacts.findAll { artifact ->
        artifact.type == 'license'
    }
println("Artifacts = " + ResolvedDependencies.getFilesFromArtifacts(typedArtifacts))
}

--

Is this code ok (is it expected that it will continue to be in the interface), or is there a better way to work with ivy types?

There isn't a better way at the moment.

Is there a way to specify that compilation tasks etc only use specific ivy types from a configuration, or are there plans/ideas to implement something to allow this sort of functionality.


This would be good. Could you add a JIRA issue for this?

--
Adam Murdoch
Gradle Developer
http://www.gradle.org


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to