Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 350962

Summary: eclipsebuilderstore.id should vary by build stream
Product: [WebTools] WTP Releng Reporter: David Williams <david_williams>
Component: relengAssignee: David Williams <david_williams>
Status: RESOLVED FIXED QA Contact: David Williams <david_williams>
Severity: normal    
Priority: P3    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows 7   
Whiteboard:

Description David Williams CLA 2011-07-01 15:23:13 EDT
eclipsebuilderstore.id is currently always set to "37M6", I think for all builds. 

This value is used as part of the directory name for where to install out "base builder". In once sense, it would not matter at all what it was, or even if we used it ... but ... when we are doing more than one build at a time, they might each need a different builder, and when one starts, it removes what ever was there before, so one build is in danger of having its base builder removed, part way through its build, even if the builder being used was the same (such as is the case now, for indigio maintenance and juno builds. 

So, I recommend this value be set to "helios", "indigo", and "juno". At some point, we might have to be more specific ... such as if we were doing offcycle juno maintenance, at the same time we were doing main juno builds ... or, something similar. The bottom line is to have a different name to use in the basebuilder dirctory name, for each build that might be running at the same time. Perhaps there is a way to use the "cc project name" in there, to make it automatically distinct per job, but I have a vague memory all the scripts that need/use this value/directory do not have access to project name. 



Note, I think, for now, all the patch builds use the "old
Comment 1 David Williams CLA 2011-07-01 15:24:43 EDT
Didn't finish my last thought ... 

Note, I think, for now, all the patch builds use the "old way" of getting/storing the base builder, which should continue to work, but eventually they'll need to have a "distinct name" as well.
Comment 2 David Williams CLA 2011-07-01 15:35:42 EDT
Carl, you want to give this a try? If it was me, I'd probably just use the easy, non variable names (e.g. helios, indigo, juno) but ... if you wanted to try and experiment, you could stick in ${projectname} and see if its resolved to correct name at the right time, when needed. That "job name" approach, now that I think about it, might be pretty important, since we sometimes run different jobs from same stream, such as jsdt and wtp.
Comment 3 David Williams CLA 2011-07-29 00:06:27 EDT
I tried on test machine, using a change made to head of releng/build.cfg, and 
${projectname} can be used, and it is "lazily" assigned later, at appropriate time, for appropriate cc build. 

In fact, I "did away with" eclipsebuilderstore.id, since it was only used in 

eclipse.builder.base.install.dir=${env.BASE_BUILDERS}/${eclipsebuilderstore.id}/${build.distribution}

I changed that line to the simpler

eclipse.builder.base.install.dir=${env.BASE_BUILDERS}/${projectname}

This will make it much more obvious when looking at ${BUILD_HOME}/basebuilders directory what is being used where. 

Well, once we apply change to maintenance streams. 

I suspect no reason to change patch streams, unless patch builds are radically brought up to date, which we normally wouldn't do.
Comment 4 David Williams CLA 2011-07-29 00:25:00 EDT
I've carried the change over to build.cfg in R3_2_maintenance and R_3_3_maintenance as well. 

Should be a little safer now and a little easier to understand.