grv87 / gradle-base-plugins

Base plugins for Gradle projects and plugins developed by FIDATA
GNU Lesser General Public License v3.0
2 stars 0 forks source link

InputsOutputs task is not compatible with GitPublishCommit #65

Open grv87 opened 5 years ago

grv87 commented 5 years ago

See https://github.com/ajoberstar/gradle-git-publish/issues/60.

Caused by: java.lang.IllegalStateException: No value has been specified for this provider.
        at org.gradle.api.internal.provider.Providers$1.get(Providers.java:32)
        at org.gradle.api.internal.provider.DefaultPropertyState.get(DefaultPropertyState.java:90)
        at org.gradle.api.internal.provider.DefaultPropertyState.get(DefaultPropertyState.java:90)
        at org.ajoberstar.gradle.git.publish.tasks.GitPublishCommit.getRepoDirectory(GitPublishCommit.java:40)
        at org.ajoberstar.gradle.git.publish.tasks.GitPublishCommit_Decorated.getRepoDirectory(Unknown Source)
        at org.gradle.api.internal.tasks.properties.bean.AbstractNestedRuntimeBeanNode$DefaultPropertyValue$1$1.create(AbstractNestedRuntimeBeanNode.java:83)
        at org.gradle.util.SingleMessageLogger.whileDisabled(SingleMessageLogger.java:313)
        at org.gradle.api.internal.tasks.properties.bean.AbstractNestedRuntimeBeanNode$DefaultPropertyValue$1.get(AbstractNestedRuntimeBeanNode.java:80)
        at com.google.common.base.Suppliers$MemoizingSupplier.get(Suppliers.java:125)
        at org.gradle.api.internal.tasks.properties.bean.AbstractNestedRuntimeBeanNode$DefaultPropertyValue.getValue(AbstractNestedRuntimeBeanNode.java:138)
        at org.gradle.api.internal.tasks.properties.bean.AbstractNestedRuntimeBeanNode$DefaultPropertyValue.call(AbstractNestedRuntimeBeanNode.java:144)
        at org.gradle.api.internal.tasks.DefaultCacheableTaskOutputFilePropertySpec.getOutputFile(DefaultCacheableTaskOutputFilePropertySpec.java:49)
        at org.gradle.api.internal.tasks.properties.GetOutputFilesVisitor.visitOutputFileProperty(GetOutputFilesVisitor.java:44)

        at org.gradle.api.internal.tasks.properties.annotations.AbstractOutputPropertyAnnotationHandler.visitPropertyValue(AbstractOutputPropertyAnnotationHandler.java:35)
        at org.gradle.api.internal.tasks.properties.bean.AbstractNestedRuntimeBeanNode.visitProperties(AbstractNestedRuntimeBeanNode.java:62)
        at org.gradle.api.internal.tasks.properties.bean.RootRuntimeBeanNode.visitNode(RootRuntimeBeanNode.java:32)
        at org.gradle.api.internal.tasks.properties.DefaultPropertyWalker.visitProperties(DefaultPropertyWalker.java:41)
        at org.gradle.api.internal.tasks.TaskPropertyUtils.visitProperties(TaskPropertyUtils.java:39)
        at org.gradle.api.internal.tasks.DefaultTaskOutputs.getFileProperties(DefaultTaskOutputs.java:201)
        at org.gradle.api.internal.tasks.DefaultTaskOutputs$TaskOutputUnionFileCollection.visitContents(DefaultTaskOutputs.java:302)
        at org.gradle.api.internal.file.CompositeFileCollection.getSourceCollections(CompositeFileCollection.java:192)
        at org.gradle.api.internal.file.CompositeFileCollection.iterator(CompositeFileCollection.java:60)
        at org.fidata.gradle.tasks.InputsOutputs$_generate_closure2.doCall(InputsOutputs.groovy:60)
...

This is one instance, but maybe we should expect that other plugins or user's custom tasks could be broken too.

  1. We could catch an error for specific task and issue a warning instead
  2. Maybe Gradle could do it better when there is an error getting one of files, so that we could still get others.