# Create dynamically task based on resolved configuration fails in composite build

**URL:** <https://discuss.gradle.org/t/create-dynamically-task-based-on-resolved-configuration-fails-in-composite-build/31805>\
**Category:** Help/Discuss\
**Created:** [May 17, 2019, 12:19pm UTC](https://discuss.gradle.org/t/create-dynamically-task-based-on-resolved-configuration-fails-in-composite-build/31805 "2019-05-17T12:19:28Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![ghilainm](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/ghilainm/32/7354_2.png) [@ghilainm](https://discuss.gradle.org/u/ghilainm)\
**Post date:** [May 17, 2019, 12:19pm UTC](https://discuss.gradle.org/t/create-dynamically-task-based-on-resolved-configuration-fails-in-composite-build/31805/1 "2019-05-17T12:19:28Z")

</div>

I am trying to extract content of a JAR published in another project.  
I have created a special configuration ‘generateApis’ to list the artifacts I want to extract.

Based on this resolved configuration I create dynamically copy tasks as shown below.

```
configurations.generateApis.resolvedConfiguration.resolvedArtifacts.each {
    def moduleVersionIdentifier = it.moduleVersion.id
    if (moduleVersionIdentifier.group.startsWith("org.test")) {
        def apiJarPath = it.file
        String extractDependencyTaskName = "extract-dependency-${moduleVersionIdentifier.id.name}"
        println extractDependencyTaskName
        unpackApis.dependsOn(extractDependencyTaskName)
        project.tasks.create(name: extractDependencyTaskName, type: Copy.class) {
            from zipTree(apiJarPath)
            into unpackedApisDirectory
        }
    }
}

```

This fails in a composite build with the following error  
Cannot expand ZIP ‘xxx.jar’ as it does not exist.

This however works perfectly when I build the two projects independently.

What did I miss?

---

<div class="post-metadata">

**Author:** ![ashoja](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/ashoja/32/8988_2.png) [@ashoja](https://discuss.gradle.org/u/ashoja)\
**Post date:** [April 19, 2021, 8:56pm UTC](https://discuss.gradle.org/t/create-dynamically-task-based-on-resolved-configuration-fails-in-composite-build/31805/2 "2021-04-19T20:56:19Z")

</div>

Hi, was wondering if you ever managed to solve this problem? I’m facing the same issue.  
Thanks.

---

<div class="post-metadata">

**Author:** ![Vampire](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/vampire/32/9082_2.png) [@Vampire](https://discuss.gradle.org/u/Vampire)\
**Post date:** [April 26, 2021, 9:33pm UTC](https://discuss.gradle.org/t/create-dynamically-task-based-on-resolved-configuration-fails-in-composite-build/31805/3 "2021-04-26T21:33:15Z")

</div>

Sounds more like a use case for an artifact transform: [Gradle User Manual: Version 7.0](https://docs.gradle.org/current/userguide/userguide_single.html#sec:abm_artifact_transforms)
