Currently, StarterMetadata's dependencies are annotated as InputFiles. This means that the metadata will be generated if there has been any change at all to the dependencies (a newly built jar, for example) even if the jar's contents is unchanged. Using @Classpath rather than @InputFiles will cause Gradle to ignore certain changes that aren't relevant for how the tasks uses it dependencies.