Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 478483 - disable "pre-built eclipse url" during production builds
Summary: disable "pre-built eclipse url" during production builds
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Releng (show other bugs)
Version: 4.6   Edit
Hardware: PC Linux
: P3 enhancement (vote)
Target Milestone: 4.6 M3   Edit
Assignee: David Williams CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-09-27 00:06 EDT by David Williams CLA
Modified: 2015-09-29 10:08 EDT (History)
0 users

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-09-27 00:06:18 EDT
In bug 471835 it was seen that a long time ago a bug was introduced that made our builds less than reproducible. It was due to the "leaking" a repository where bundles could find "pre-reqs" from previously built versions of Eclipse. 

While that root bug was fixed (in a very nice way), it occurs to me a simple protection against future regressions, is during our production builds, we should "disable" the "individual bundle URL" (also used for Gerrit builds, of "one repo"). 

Simplest way to do that is to pass -Declipse-p2-repo.url="" on the mvn command line. 

Then, in future, if someone changes a pom or adds something that (accidentally) depends on previous build, then even if it succeeds locally, will fail the production build, so we will know the error has occurred. 

Note: if something does depend on eclipse-p2-repo.url (even if accidentally) the build may not actually fail ... but, in theory could give a different result. Not to use the previous build, is of course the most accurate build and the most reproducible.
Comment 1 David Williams CLA 2015-09-29 09:59:52 EDT
Fixed in master. 

Will back port to maintenance builds as part of bug 478496.
Comment 2 David Williams CLA 2015-09-29 10:08:01 EDT
Just to document it, instead of empty string, as stated in comment 0, I used 

-Declipse-p2-repo.url="NOT_FOR_PRODUCTION_USE"

so it would "stand out more", if ever used during production (or, if production value "slipped in" (somehow) to Gerrit builds. 

I also added this variable to the "maven.properties" file so the value should be saved for each build, in case there is ever any question.