-
Notifications
You must be signed in to change notification settings - Fork 5k
GRADLE-2579 - SourceTask is always up-to-date after all source files are deleted #668
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Return empty SimpleFileCollection instead of throwing UnsupportedOperationException.
- added missing mocks - changed upToDate() to skipped('SKIPPED')
# Conflicts: # subprojects/core/src/main/java/org/gradle/api/internal/changedetection/changes/NoHistoryArtifactState.java
NoHistoryArtifactState.getOutputFiles() is now always returning the same immutable EMPTY_FILE_COLLECTION instance instead of returning a new SimpleFileCollection for every call.
Fixed the merge conflict and enhanced |
- made sure that EmptyFileSet and EmptyFileCollection point to the same singleton instance after deserialization. - added test verifiying this.
I changed Both are currently I guess that |
49d7688 broke this PR again.
This changed method is used by I have no idea how to find correct So, unfortunately, I see no way to fix my PR anymore. @lptr (author of 49d7688) & @eljobe (current GRADLE-2579 assignee): Please let me know if this PR is relevant at all to you. If it is then please let me know how to retrieve the above I just need a way to retrieve any files previously generated by a given task so I can delete them if |
@huxi: sorry for the long silence on this one. We definitely want to get the underlying problem fixed, and your PR provides some good basis to build on. I will have time to look into it in more detail in two weeks when I come back from vacation. Meanwhile, if you want to get it to work, you can use |
@lptr No problem, I know you were all pretty busy with getting 3.0 out of the door.
But we can sort this all out when you are back. Have a nice vacation! |
OK, thanks. Now enjoy your vacation! 😃 |
One problem we still need to look into about this PR is that it calls Also, vacation won't start until the weekend. :) |
# Conflicts: # subprojects/core/src/main/java/org/gradle/api/internal/changedetection/changes/NoHistoryArtifactState.java
Enhanced SkipEmptySourceFilesTaskExecuterTest quite a bit.
@lptr I fixed that problem. Nice side effect is better separation of concerns in Can't do the I also extended |
@lptr TL;DR The strange error in After that, I got failing tests in So it looks like I was bitten by GRADLE-2579 while fixing GRADLE-2579. I love the irony! 😃 |
Any news about this? |
I will have time to work on this soon (this week or next week). |
@huxi: sorry about the long delay again. I took your changes here, squashed them, and pushed them straight to |
Oh, and thank you for the contribution, and especially thanks for not letting this drop below the radar! |
@lptr You are very welcome! This will be included in 3.2, right? |
Yes, it is on track for being included in 3.2. |
@lptr Awesome! You should set GRADLE-2579, GRADLE-2440 and GRADLE-3520 to fixed/resolved, though. I seriously consider engraving a small tombstone for this issue. :) |
:) I didn't see GRADLE-3520 yet, thanks. Will close all those once the fix is through internal reviews. |
Well, turns out GRADLE-3520 is not related after all. Even so, we've managed to resolve the other two, so still a great result. :) |
Ah, I see the difference. It looked like a duplicate on first glance. |
Any of the checked boxes below indicate that I took action:
./gradlew quickCheck
For all non-trivial changes that modify the behavior or public API:
Gradle developer list
or can reference a JIRA issue.
brief but explains the use case or problem you are trying to solve,
touches on the planned implementation approach as well as the test cases
that verify the behavior. Optimally, design documents should be submitted
as a separate pull request. Samples
can be found in the Gradle GitHub repository. Please let us know if you need help with
creating the design document. We are happy to help!
test coverage to verify the behavior. Before submitting the pull request
I ran a build on your local machine via the command
./gradlew quickCheck <impacted-subproject>:check
.DSL reference and Javadocs where applicable.