Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 396009 - org.eclipse.sdk.examples.source version is not matching its feature.xml in 4.2.2 build M20121205-1200
Summary: org.eclipse.sdk.examples.source version is not matching its feature.xml in 4....
Status: VERIFIED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Releng (show other bugs)
Version: 4.2.1   Edit
Hardware: PC Windows 7
: P2 normal (vote)
Target Milestone: 4.2.2   Edit
Assignee: David Williams CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-12-06 21:34 EST by Steve Francisco CLA
Modified: 2012-12-27 20:57 EST (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Steve Francisco CLA 2012-12-06 21:34:11 EST
In 4.2 maintenance build M20121205-1200, the org.eclipse.sdk.examples.source feature refers to plugin org.eclipse.sdk.examples.source version 3.2.100.v20120528-1656 but the actual version in the build is newer (version 3.2.100.v20121128-155329).  Since they don't match we're getting errors trying to pick this up.
Comment 1 David Williams CLA 2012-12-07 00:32:21 EST
Pretty mysterious case. I'll document what I see, in case it rings any bells for anyone ... but, I'm at a loss at the moment. 

I do indeed see

in feature.xml
<plugin id="org.eclipse.sdk.examples.source" version="3.2.100.v20120528-1656" unpack="false"/>

but in 

in content.jar
<unit id='org.eclipse.sdk.examples.source' version='3.2.100.v20121128-155329' singleton='false'>

So, the "good news", is this little repo installs into the SDK ... but, no idea how the feature.xml would not match the content.jar. 

Perhaps related to "root files"? template definitions? 

I noticed, after installed, the "about box" gives a separate icon for the examples, and it says 

Eclipse SDK Examples

Version: 3.5.101.v20121017-132215-819GFhOFLWk-Nwr4sBFnT2xWR
Build id: M20121128-1200

Seems odd it would have a week old buildId? 

Makes me dizzy. :)
Comment 2 David Williams CLA 2012-12-10 00:00:02 EST
There's a number of mysteries here, but, the cure is pretty obvious -- to "touch" the feature to make sure it looks "changed", and thus the next build will get a fresh version (compared to what is in the M-repos). 

I looked on the build machine itself and there the "built feature.xml" has 

<plugin id="org.eclipse.sdk.examples.source" version="3.2.100.v20121128-155329"     unpack="false"/>

so this must be a case where the feature qualifer/suffix is not getting incremented enough to create a difference in the qualifier, hence, we pull "old" version of feature.jar from repo, even though all the metadata is correct. 

I'll touch the feature project by adding a .gitignore file (and just writing a comment in it). As far as I know, that alone will be considered "a changed project" by our algorithms and increment the qualifier to the date changed.

The feature is currently the same between all three branches, so I'll make the change in all of them. 

In addition, in our comparator step, we current exclude the examples and examples.source. 

                    <artifact id="org.eclipse.sdk.examples" />
                    <artifact id="org.eclipse.sdk.examples.source" />

This exclude doesn't change behavior, just prevents "noise" from being output by the comparator (e.g. we exclude "docs" because JavaDoc puts in a lot of "current date" bytes (I think) and we don't need to see all that logging). 

I'll try removing the examples from exclude and see how much noise they generate. In theory they'd log this kind of difference in feature.xml (though, fair warning, our automatic releng tests in this area aren't the greatest, so still takes someone looking at the log in detail to spot important differences).
Comment 3 David Williams CLA 2012-12-10 18:10:55 EST
We've not done the M builds, yet, but based on latest I-build, the comparator shows lots of problems. I guess one problem is the sdk.examples.source feature itself does not have a suffix ... just a normal qualifier (v20121017-132402). Not sure why that is. Touching the feature will still cure the problem, but (at worse) we'll have to manually touch the feature any time one of its contained plugins changes.  

= = = = = = = 

canonical: org.eclipse.update.feature,org.eclipse.sdk.examples.source,3.5.101.v20121017-132402
Difference found for canonical: org.eclipse.update.feature,org.eclipse.sdk.examples.source,3.5.101.v20121017-132402 between http://download.eclipse.org/eclipse/updates/4.3-I-builds/I20121031-2000 and file:/shared/eclipse/eclipse4I/build/supportDir/org.eclipse.releng.eclipsebuilder/../src/reposource/
	The entry "Plugin: org.eclipse.compare.examples.source 3.1.300.v20121210-102952" is not present in both features.
	The entry "Plugin: org.eclipse.compare.examples.xml.source 3.3.300.v20121210-102952" is not present in both features.
	The entry "Plugin: org.eclipse.swt.examples.source 3.101.0.v4317" is not present in both features.
	The entry "Plugin: org.eclipse.swt.examples.browser.source 3.101.0.v4317" is not present in both features.
	The entry "Plugin: org.eclipse.swt.examples.browser.demos.source 3.101.0.v4317" is not present in both features.
	The entry "Plugin: org.eclipse.swt.examples.controls.source 3.101.0.v4317" is not present in both features.
	The entry "Plugin: org.eclipse.swt.examples.launcher.source 3.101.0.v4317" is not present in both features.
	The entry "Plugin: org.eclipse.swt.examples.layouts.source 3.101.0.v4317" is not present in both features.
	The entry "Plugin: org.eclipse.swt.examples.paint.source 3.101.0.v4317" is not present in both features.
	The entry "Plugin: org.eclipse.team.examples.filesystem.source 3.4.200.v20121210-102952" is not present in both features.
	The entry "Plugin: org.eclipse.swt.examples.ole.win32.source 3.101.0.v4317" is not present in both features.
Comment 4 David Williams CLA 2012-12-10 18:20:40 EST
Paul, I noticed in the pom.xml file (in master, at least, haven't looked at others) you put in some special code to "exclude" many of these same plugins. 
Is there a reason these are not supposed to be samples? Or, were you just getting things to match?  

              <excludes>
                <plugin id="org.eclipse.swt.examples" />
                <plugin id="org.eclipse.swt.examples.browser" />
                <plugin id="org.eclipse.swt.examples.browser.demos" />
                <plugin id="org.eclipse.swt.examples.controls" />
                <plugin id="org.eclipse.swt.examples.launcher" />
                <plugin id="org.eclipse.swt.examples.layouts" />
                <plugin id="org.eclipse.swt.examples.paint" />
                <plugin id="org.eclipse.swt.examples.ole.win32" />
                <plugin id="org.eclipse.sdk.examples" />
                <feature id="org.eclipse.sdk.examples.source" />
              </excludes>
Comment 5 David Williams CLA 2012-12-10 19:57:56 EST
For tonight's I-build, I added the .gitignore file, with simple comment, referring back to this bug. 

Will confirm that does indeed increment qualifier as expected. (Comparator log should no longer show "difference", since it'd just take the new one.). 

Once we get the content confirmed, we should adjust service field since I did make changes to the branding bundle for localization (see bug 396229).
Comment 6 David Williams CLA 2012-12-11 01:00:57 EST
Another, minor, problem with the feature is that is description, when read in about.box, reads

Eclipse SDK examples. Used in conjunction with Eclipse Project SDK.###############################################################################


I think the extra hash tags are from the description not ending with an EOL<newline> so /n needed and I myself prefer the style of putting in /n/ everywhere for consistency.
Comment 7 David Williams CLA 2012-12-11 03:11:14 EST
(In reply to comment #5)
> For tonight's I-build, I added the .gitignore file, with simple comment,
> referring back to this bug. 
> 
> Will confirm that does indeed increment qualifier as expected. (Comparator
> log should no longer show "difference", since it'd just take the new one.). 

Indeed "touching" the .gitignore file sufficed to increment qualifier and the feature differences are no longer listed in comparator output. 

So, we have method to fix immediate problem, and if/when they occur again, but still not sure why the examples source feature does not get a suffix. All other source features I've seen do ... so ... something is not defined right.

I've opened bug 396245 to address the larger problem (if we ever do). 

For this bug, still need Paul to confirm the only reason for the "excludes" was to get things to match up. If so, then the excludes should be removed before we deliver the final immediate fix for this weeks M builds (just so we can get a relatively "final version" and the poms stay coordinated).
Comment 8 Paul Webster CLA 2012-12-11 15:07:35 EST
(In reply to comment #4)
> Paul, I noticed in the pom.xml file (in master, at least, haven't looked at
> others) you put in some special code to "exclude" many of these same
> plugins. 
> Is there a reason these are not supposed to be samples? Or, were you just
> getting things to match?  
> 
>               <excludes>
>                 <plugin id="org.eclipse.swt.examples" />
>                 <plugin id="org.eclipse.swt.examples.browser" />
>                 <plugin id="org.eclipse.swt.examples.browser.demos" />
>                 <plugin id="org.eclipse.swt.examples.controls" />
>                 <plugin id="org.eclipse.swt.examples.launcher" />
>                 <plugin id="org.eclipse.swt.examples.layouts" />
>                 <plugin id="org.eclipse.swt.examples.paint" />
>                 <plugin id="org.eclipse.swt.examples.ole.win32" />
>                 <plugin id="org.eclipse.sdk.examples" />
>                 <feature id="org.eclipse.sdk.examples.source" />
>               </excludes>

Thanh, do you know why we exclude those from the source feature?

PW
Comment 9 Paul Webster CLA 2012-12-11 15:10:00 EST
(In reply to comment #4)
> Paul, I noticed in the pom.xml file (in master, at least, haven't looked at
> others) you put in some special code to "exclude" many of these same
> plugins. 

They're still not being built as part of our CBI build ... but I'm not sure why.  Thanh?

PW
Comment 10 Thanh Ha CLA 2012-12-11 15:19:57 EST
(In reply to comment #9)
> (In reply to comment #4)
> > Paul, I noticed in the pom.xml file (in master, at least, haven't looked at
> > others) you put in some special code to "exclude" many of these same
> > plugins. 
> 
> They're still not being built as part of our CBI build ... but I'm not sure
> why.  Thanh?

There was a time when none of the examples were built in the CBI build so they had to be excluded for the build to move forward. Now though I believe we are building them so I think these excludes are no longer needed. I can run a build test to make sure removing the excludes won't break the build and report back.
Comment 11 Thanh Ha CLA 2012-12-11 16:49:31 EST
I ran a build without the excludes in the pom and found that only 2 excludes are still needed:

                <plugin id="org.eclipse.sdk.examples" />
                <feature id="org.eclipse.sdk.examples.source" />


There's some other releng features that have excludes in them as well. It might be worth opening another bug and going through each of them to find out which excludes are no longer necessary in the CBI build.
Comment 12 David Williams CLA 2012-12-12 09:47:49 EST
Marking original problem as fixed, but since suffix no used in source feature, we'll have to look at comparator log each build to make sure doesn't sneak back in.
Comment 13 David Williams CLA 2012-12-13 04:07:38 EST
From looking at the comparator log, and seeing no problems, I'll count this verified.
Comment 14 Jose Antonio Orozco Sanchez CLA 2012-12-27 13:31:57 EST
This is now happening on M20121219-1000 build for Eclipse 382, should I open a new bugzilla or guys can track this from here?