[ 
https://issues.apache.org/jira/browse/GEODE-6323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16763980#comment-16763980
 ] 

ASF subversion and git services commented on GEODE-6323:
--------------------------------------------------------

Commit bcd82ae18e621c749e0512b618a4422aacb92b3c in geode's branch 
refs/heads/develop from Robert Houghton
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=bcd82ae ]

GEODE-6323 Fix dependency tracking for manifest jars (#3126)

Because `doFirst` registers an action to be executed, it is not valid to be 
used as part of a task's configuration, causing aberrant behavior when combined 
with Gradle's output caching.

If "configuration" must occur at execution time, then that configuration needs 
to be the output of a task on which the "configured" task depends.  We have 
done that here to correctly generate the classpath in our dependency jars.  For 
more information, see
https://guides.gradle.org/using-build-cache/#suggestions_for_authoring_your_build

Co-authored-by: Robert Houghton <[email protected]>
Co-authored-by: Patrick Rhomberg <[email protected]>


> Configuration in doFirst and doLast blocks are not valid for task 
> configuration.
> --------------------------------------------------------------------------------
>
>                 Key: GEODE-6323
>                 URL: https://issues.apache.org/jira/browse/GEODE-6323
>             Project: Geode
>          Issue Type: Bug
>          Components: ci
>            Reporter: Patrick Rhomberg
>            Assignee: Robert Houghton
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> See 
> https://guides.gradle.org/using-build-cache/#suggestions_for_authoring_your_build
> {{doFirst}} and {{doLast}} occur at execution, but the up-to-date state of 
> the task is required at configuration-time.  More importantly, these task 
> actions are cacheable and can be returned incorrectly if the declared inputs 
> to the task are unchanged.  Notably for {{gfshDepsJar}} and {{depsJar}}, if 
> the {{cp()}} changes, these changes will not be detected and a cached version 
> of the manifest can be used rather than the new intended classpath.
> This is not an issue in the Concourse pipeline, since no cache exists, but it 
> can be troublesome for a developer.



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

Reply via email to