Patrick Rhomberg created GEODE-6493:
---------------------------------------

             Summary: Gradle: Do not configure tasks outside the configuration 
phase
                 Key: GEODE-6493
                 URL: https://issues.apache.org/jira/browse/GEODE-6493
             Project: Geode
          Issue Type: Improvement
            Reporter: Patrick Rhomberg


In multiple places, we configure tasks only when the task graph is ready, e.g. 
via 
{noformat}
gradle.taskGraph.whenReady( { graph ->
  tasks.withType(Tar).each { tar ->
    tar.compression = Compression.GZIP
    tar.extension = 'tgz'
  }
  // ...
}
{noformat}

However, this presents the possibility that tasks configured as dependencies of 
tasks configured this way will have inaccurate configuration themselves, as 
they might consume artifacts whose configurations shift after the fact, e.g., a 
Tar task configured above will report an extension {{.tar}} during 
configuration as its task outputs, causing downstream tasks to fail at 
execution time when that file does not exist.

In most cases, {{whenReady}} blocks should be changed to be validation checks 
rather than actual configuration, raising an error when a particular task is 
not configured as required.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to