Bug 469552 - update-pom does not work, with features, if using strict dirty-tree checking
Summary: update-pom does not work, with features, if using strict dirty-tree checking
Status: RESOLVED WONTFIX
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Releng (show other bugs)
Version: 4.5   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform-Releng-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: info
Depends on:
Blocks:
 
Reported: 2015-06-06 16:23 EDT by David Williams CLA
Modified: 2015-06-07 22:15 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Williams CLA 2015-06-06 16:23:41 EDT
I was testing 0.23.0 "update-pom" (which, we run before the main build, do update the artifact version to the bundle version, if different) and the build failed with "Working tree is dirty" exception. 

This is because we set 
-Djgit.dirtyWorkingTree=error
on the command line of the main build. 

I'm a little surprised we've not hit this before, since we've had the strict checking since 4.4 M3, and, I'd swear we have had a few builds, since then, that resulted in a "POM Update Required" message. 

It *might* be because I was using a feature as my test case, instead of a bundle ... or, my guess, is that the "checking" has become better in 0.23.0? 
(in either Tycho, or JGit?) 

= = = = = 

In any case, they are conceptually mutually exclusive goals, in any build. So, we will either have to stop using update-pom plugin, or, count "dirty tree" as a warning. 

My recommendation is to stop checking for "update-pom", and, if they are "out of synch", the build will simply fail at that point. 

My reasoning is that in the beginning, this was a very handy function, since we made that mistake often. but, now that we are more used to Tycho/Maven, and (I hope) more people are using the releng tool, with the checking done in the IDE, we do not seem to have that error hardly ever. 

This "bug" is simply to decide which path to take (i.e. everything is working as designed).
Comment 1 David Williams CLA 2015-06-07 19:41:04 EDT
I do not think any change in our process is needed here, after all. 

I did some more testing, and for both 22 and 23, a *feature* that has a pom update applied, will trigger the dirty tree error (when set to "error"). 

BUT, *bundle* "pom update" with NOT trigger the "dirty tree" error, and instead we can post our usual "pom update required" message, like we always have. 

I guess we've never had a problem with features, before, so never noticed, this difference in behavior.
Comment 2 David Williams CLA 2015-06-07 19:46:31 EDT
Igor, CC'd you on this bug just for your awareness, if you didn't already know. 

If you are surprised, or concerned, feel free to pursue, but as far as I am concerned, this difference between bundles and features -- and the interaction of pom updater, and dirty tree detection -- is not important enough to open a bug or require a 'fix' (though, not sure what a 'fix' would be, and why there is a difference, or if it implies anything else to you, such as maybe "dirty tree" is not working as expected)? 

Again, just letting you know. No action required.