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

Bug 272353

Summary: Galileo build fails with missing cvs feature repo, or quietly
Product: Community Reporter: David Williams <david_williams>
Component: Cross-ProjectAssignee: Cross-Project issues <cross-project.inbox>
Status: RESOLVED INVALID QA Contact:
Severity: normal    
Priority: P3 CC: alex.panchenko, andrey, kim.moir, thomas
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows Vista   
Whiteboard:

Description David Williams CLA 2009-04-15 14:19:27 EDT
Using the Bucky builder (how's that for a nickname?) ... 

I get pass it creating composite repo's, pass creating the categories, then starts "publishing results" and fails with message pasted below. 

I IM'd with Kim and she said they didn't have to have a repo in their ep.build file before (presumably because it always started with "base" installed) and that she'd add it. 

BUT, when I tried it, locally, adding the following element to the ep.build file, the builder then failed silently: 

  <repositories location="http://download.eclipse.org/eclipse/updates/3.5milestones/S-3.5M6-200903130100/" label="Platform 3.5 M5"/>

It did not even print out the "Done. Took xxx mx" message at the end of creating the composite repos. Just ended. no log messages, etc. 

I am running in an 04/07 workbench, on windows. 






= = = =

publishing result
org.eclipse.core.runtime.CoreException: publishing result
	at org.eclipse.buckminster.galileo.builder.CategoryRepoGenerator.run(CategoryRepoGenerator.java:78)
	at org.eclipse.buckminster.galileo.builder.Builder.runCategoriesRepoGenerator(Builder.java:761)
	at org.eclipse.buckminster.galileo.builder.Builder.run(Builder.java:451)
	at org.eclipse.buckminster.galileo.builder.Builder.start(Builder.java:625)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
	at org.eclipse.equinox.internal.app.AnyThreadAppLauncher.run(AnyThreadAppLauncher.java:26)
	at java.lang.Thread.run(Unknown Source)
Contains: OK
Contains: Unable to find feature org.eclipse.cvs/1.1.100.v20090123-7E79FBV9BJ99r9JEV39Q8C using composite repository
Comment 1 Kim Moir CLA 2009-04-15 14:46:27 EDT
I just added the repo to the ep.build file
Comment 2 David Williams CLA 2009-04-15 15:35:44 EDT
I think the following attribute needs to be added to each feature, too. 

repo="//@repositories.0"

But, even doing that, in my local build, it still fails silently. 

I did just notice the silent fail seems to happen right while adding the artifact repository for dltk. Would this happen if there was some "contradiction" with the platform's repository? Remember, it does get past this point, but by omitting the platform repo. Adding dltk contacts to CC in case anything rings a bell. You all build/pre-req 3.5 M6, right?   

Adding child meta-data repository http://download.eclipse.org/technology/jwt/update-site/
Adding child artifact repository http://download.eclipse.org/technology/jwt/update-site/
Adding child meta-data repository http://download.eclipse.org/technology/jwt/stable-update-site/
Adding child artifact repository http://download.eclipse.org/technology/jwt/stable-update-site/
Adding child meta-data repository http://download.eclipse.org/technology/dltk/updates-dev/1.0-stable/
Comment 3 Thomas Hallgren CLA 2009-04-15 16:20:50 EDT
(In reply to comment #2)
> I think the following attribute needs to be added to each feature, too. 
> 
> repo="//@repositories.0"
> 
No, this is not needed for the EP contribution. In fact, it would be incorrect to add it at this point since its likely to crash the old builder (it would then mirror the platform too). That's why the EP repository is passed as an option on the command line.

Once the old builder is out of the way, the EP contribution should look just like any other and indeed provide a repo that matches its features. The new builder is already ready for this. But for now, it's up to the build master to make the right choice and pass that repo on the command line.
Comment 4 David Williams CLA 2009-04-15 16:45:31 EDT
(In reply to comment #3)
> (In reply to comment #2)
> > I think the following attribute needs to be added to each feature, too. 
> > 
> > repo="//@repositories.0"
> > 
> No, this is not needed for the EP contribution. In fact, it would be incorrect
> to add it at this point since its likely to crash the old builder (it would
> then mirror the platform too). That's why the EP repository is passed as an
> option on the command line.
> 
> Once the old builder is out of the way, the EP contribution should look just
> like any other and indeed provide a repo that matches its features. The new
> builder is already ready for this. But for now, it's up to the build master to
> make the right choice and pass that repo on the command line.
> 

Ok, so the "real" error here is more related to the cvs feature? 

Contains: Unable to find feature
org.eclipse.cvs/1.1.100.v20090123-7E79FBV9BJ99r9JEV39Q8C using composite
repository

I do not actual see the EP repository in any of the composite repositories. 

removing the ep.build contents really helps things along though :) 
Is that how you get things to work? 
Comment 5 Thomas Hallgren CLA 2009-04-15 16:56:00 EDT
(In reply to comment #4)
> removing the ep.build contents really helps things along though :) 
> Is that how you get things to work? 
> 
No, I never removed it. The EP contribution matched the M6 release until very recently. If it doesn't match that anymore, then that's a problem that needs to be fixed of course.

The EP contribution is essential and it must match some repository. The builder requires that this repository is provided, either as a command line option, or as a repository in the EP contribution. I much prefer the latter since that makes the responsibility very clear. But, as I mentioned, it will probably break the old builder.
Comment 6 David Williams CLA 2009-04-15 21:52:36 EDT
(In reply to comment #5)
> (In reply to comment #4)

> ... The EP contribution matched the M6 release until very
> recently. If it doesn't match that anymore, then that's a problem that needs to
> be fixed of course.
> 

Hmmm, I just installed (only) the Platform runtime binary, added the milestone update site to "install new software", and from there could only see "Eclipse SDK" and "Platform SDK". I know the actual cvs feature is on the update site ... but, maybe the artifacts.xml file is not fully populated? 

Kim, I think in your court now? 

Not sure how Thomas can "see" (fetch) this feature ... suspect he's just working with a cache? Which platform do you use, Thomas ... linux? If so, maybe I'll switch ... sure is getting old not being able to run this builder. 

Also, I tried removing all from ep.build contribution _except_ for Eclipse SDK ... which seemed ok, things seemed to work longer, but eventually got an error that said "gef features requires eclipse.ui bundle, but couldn't find it" (or similar) so not sure it's just an issue with the CVS feature. 


Comment 7 Kim Moir CLA 2009-04-15 22:06:55 EDT
We don't have categories defined in the metadata for the cvs features. The only ones that are there are the platform, platform sdk, releng, tools, and agent I think.  Perhaps I should change the submission to Galileo to only include the sdk.  The rest of the features are included in the sdk so this would take care of it.  I think our submission looks like it does because it that was what it looked like for Ganymede which used a different build system.  Note that the metadata does reflect the cvs feature, but just doesn't have a category.
Comment 8 David Williams CLA 2009-04-15 23:39:24 EDT
(In reply to comment #7)

> We don't have categories defined in the metadata for the cvs features. ... 

Doh ... I tried again, unchecked "categorized" and could then see it. 

Only there, it showed up as named "CVS Client" with an ID of org.eclipse.cvs.feature.group
I assume that's the same thing. 

Perhaps that id is what needs to be changed in ep.build file. I'll give it a try locally. 

I personally think it's nice to have separate. 

The other "separate" things there are org.eclipse.pde, org.eclipse.jdt, and org.eclipse.equinox.p2.user.ui. 

I suspect they all might have "group" IDs? 



Comment 9 David Williams CLA 2009-04-15 23:52:02 EDT
feature.group didn't help ... but now, all of a sudden it started working with original names ... come on, did you change something? 
Comment 10 David Williams CLA 2009-04-16 00:11:12 EDT
I must have had a typo or something. 

Sorry for the noise. 
Comment 11 Thomas Hallgren CLA 2009-04-16 03:22:56 EDT
(In reply to comment #6)
> Not sure how Thomas can "see" (fetch) this feature ... suspect he's just
> working with a cache?
>
No cache. I'm using a P2 InstallableUnitQuery. It doesn't care about the type of IU's that it finds, nor how they are categorized. The special handling of categories is enforced in the UI only.

> Which platform do you use, Thomas ... linux? If so, maybe
> I'll switch ... sure is getting old not being able to run this builder. 
> 
I'm on Linux. But it's I who must switch, or at least test on Windows too.