Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 377314 - master-equinox-weaving missing from repo
Summary: master-equinox-weaving missing from repo
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Releng (show other bugs)
Version: 4.2   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 4.2 M7   Edit
Assignee: David Williams CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-04-20 16:07 EDT by David Williams CLA
Modified: 2012-05-02 03:15 EDT (History)
1 user (show)

See Also:


Attachments
lines in log file that mention "master-" (7.48 KB, text/plain)
2012-04-21 12:46 EDT, David Williams CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description David Williams CLA 2012-04-20 16:07:30 EDT
I tried loading up the latest I build in the b3 aggregator, to test their integrity, (both 3.8 and 4.2) and it complains the "master feature" requires the 

master-equinox-weaving.feature.group 

but could not be found. 

So ... is it supposed to be there? 




Cannot complete the install because one or more required items could not be found.
Missing requirement: build utility feature for equinox plugins 1.1.0.v20120405-1401-8L7jFGSFKGBL6B3j45rPuAZeFwHM (master-equinox.feature.group 1.1.0.v20120405-1401-8L7jFGSFKGBL6B3j45rPuAZeFwHM) requires 'master-equinox-weaving.feature.group [1.0.100.v20110505-37B7D7733L57955LBL9J]' but it could not be found

InstallableUnit(master-equinox-weaving.feature.group [1.0.100.v20110505-37B7D7733L57955LBL9J,1.0.100.v20110505-37B7D7733L57955LBL9J]) is required by:
  ValidationSet(38Ibuilds)
    Contribution(38Ibuilds)
      MappedRepository(http://build.eclipse.org/eclipse/eclipse4I/siteDir/updates/4.2-I-builds/I20120417-1000/)
        InstallableUnit(master-equinox.feature.group 1.1.0.v20120405-1401-8L7jFGSFKGBL6B3j45rPuAZeFwHM)
Comment 1 David Williams CLA 2012-04-20 16:13:06 EDT
Tom, can you explain a little what this is? 

We did "disable" a few parts of the equinox build ... p2 agent plus a few othes. 
See bug 368488. 

Think this could be related? Or is is some thing "wrong" in the "master feature" and it should not even be requiring it?
Comment 2 David Williams CLA 2012-04-20 16:16:05 EDT
Interesting ... the only place in the eclipse builder I see it mentioned is in this p2.remove.iu action! 


        <p2.remove.iu>
            <repository location="file://${reposource}" />
            <iu id="org.aspectj.runtime" />
            <iu id="org.aspectj.weaver" />
            <iu id="master.feature.group" />
            <iu id="master-ecf.feature.group" />
            <iu id="master-jetty.feature.group" />
            <iu id="master-equinox-weaving.feature.group" />
        </p2.remove.iu>
Comment 3 David Williams CLA 2012-04-20 17:10:30 EDT
After brief chat with Tom, is seems that while "weaving" should be in the repo, nothing with "master-" in it should be ... so ... maybe I can just remove more "master-" IUs?  (I always thought that's remove everthing it contained, also .... but ... worth a test build.
Comment 4 David Williams CLA 2012-04-20 17:25:56 EDT
FWIW, the only two "master" features I see in the repos are 

master-equinox.feature.group
master-equinox-p2.feature.group

and appears they've been there a while (each build). 

So, I'll try p2 removing them ... but, if that causes problem add them bcck for now. Maybe this just "extra" stuff just never causes a problem .... until someone tries to validate the whole repo :)
Comment 5 David Williams CLA 2012-04-20 21:31:43 EDT
I've removed my initial attempt to fix, since that broke the build. 

I think in essence they were "removed too early"? 

The build failed with message below. 

The code in question is obtuse., mirroring the runtimeIU defined as  

<property name="runtimeIU" value="@{feature}.feature.group" />

I think it can be removed, but it will be a matter of finding the right point in "time". (not to mention, seem there ought to be an easier way :) 

= = = = = = = 

master-equinox:
   [delete] Deleting directory /shared/eclipse/eclipse4N/build/supportDir/org.eclipse.releng.eclipsebuilder/equinox/buildConfigs/equinox/featureTemp
    [mkdir] Created dir: /shared/eclipse/eclipse4N/build/supportDir/org.eclipse.releng.eclipsebuilder/equinox/buildConfigs/equinox/featureTemp

BUILD FAILED 
/shared/eclipse/eclipse4N/build/supportDir/org.eclipse.releng.eclipsebuilder/buildAll.xml:83: The following error occurred while executing this line:
/shared/eclipse/eclipse4N/build/supportDir/org.eclipse.releng.eclipsebuilder/buildAll.xml:1199: The following error occurred while executing this line:
/shared/eclipse/eclipse4N/build/supportDir/org.eclipse.releng.eclipsebuilder/equinox/buildConfigs/equinox/build.xml:11: The following error occurred while executing this line:
/shared/eclipse/eclipse4N/build/supportDir/org.eclipse.releng.eclipsebuilder/equinox/buildConfigs/equinox/build.xml:21: The following error occurred while executing this line:
/shared/eclipse/eclipse4N/build/supportDir/org.eclipse.releng.eclipsebuilder/equinox/buildConfigs/equinox/build.xml:66: Unable to find: Installable Unit [ id=master-equinox.feature.group version= ]
Comment 6 David Williams CLA 2012-04-21 11:40:26 EDT
Here will be several comments on further findings, then a concluding comment/recommendation: 

First, adding some debug statements and tracking down in the log, here is what it it trying to do with master-equinox ... basically create the master-equinox-N20120421-0324.zip ... so, do you (we) really need that? Notice, it is having "them same" problem, that master-equinox-weaving.feature.group has "already" been removed (and that wasn't by me ... been that way a while, as far as I know). 


master-equinox:
     [echo] DEBUG macrodef 2 buildRepos feature: master-equinox
     [echo] DEBUG macrodef 2 buildRepos archiveName: master-equinox-N20120421-0324.zip
   [delete] Deleting directory /shared/eclipse/eclipse4N/build/supportDir/org.eclipse.releng.eclipsebuilder/equinox/buildConfigs/equinox/featureTemp
    [mkdir] Created dir: /shared/eclipse/eclipse4N/build/supportDir/org.eclipse.releng.eclipsebuilder/equinox/buildConfigs/equinox/featureTemp
[p2.mirror] Problems resolving provisioning plan.
[p2.mirror] Unable to satisfy dependency from master-equinox.feature.group 1.1.0.N20120421-0324-8L7jFGSFGRBL6FSz-qtsFjHXBani to master-equinox-weaving.feature.group [1.0.100.N20120421-0324-37B7D7733L57955LBL9J].
[p2.mirror] Messages while mirroring artifact descriptors.
Comment 7 David Williams CLA 2012-04-21 11:50:03 EDT
Below is the current output of the "equinox build" ... few things to note: 

Some things being produced (nearly empty?) that elsewhere we tried to remove

StarterKit
adminui

So ... please (re) confirm that we do not need those (at least for Juno?) 

Also, some oddly stray jars. Do we need those? Do we need more that are missing? 


= = = = = = = = = = = = = = = = = = = = = = = = = = 
     4K apitools/
     4K checksum/
     4K clickThroughs/
     4K compilelogs/
     4K testresults/
     1K build.php
   185K com.ibm.icu.base_4.4.2.v20110831.jar
   110K directory.txt
     4K download.php
     1K EclipseRT-OSGi-StarterKit-N20120421-0324-linux-gtk-x86_64.tar.gz
     1K EclipseRT-OSGi-StarterKit-N20120421-0324-linux-gtk-x86.tar.gz
     1K EclipseRT-OSGi-StarterKit-N20120421-0324-macosx-cocoa-x86_64.tar.gz
     1K EclipseRT-OSGi-StarterKit-N20120421-0324-macosx-cocoa-x86.tar.gz
     1K equinox.css
     1K equinox-p2-adminui-N20120421-0324-linux-gtk-x86.tar.gz
     1K equinox-p2-adminui-N20120421-0324-macosx-cocoa-x86.tar.gz
     1K equinox-p2-adminui-N20120421-0324-win32.zip
 24414K equinox-SDK-N20120421-0324.zip
    19K index.php
   196K javax.servlet_3.0.0.v201112011016.jar
  3034K launchers-aix.gtk.ppc64.N20120421-0324.zip
  3025K launchers-aix.gtk.ppc.N20120421-0324.zip
  2501K launchers-hpux.gtk.ia64_32.N20120421-0324.zip
  2576K launchers-linux.gtk.ppc64.N20120421-0324.tar.gz
  2708K launchers-linux.gtk.x86_64.N20120421-0324.tar.gz
  2689K launchers-linux.gtk.x86.N20120421-0324.tar.gz
  2500K launchers-macosx.cocoa.x86_64.N20120421-0324.tar.gz
  2500K launchers-macosx.cocoa.x86.N20120421-0324.tar.gz
  2551K launchers-solaris.gtk.sparc.N20120421-0324.zip
  2545K launchers-solaris.gtk.x86.N20120421-0324.zip
  2545K launchers-win32.win32.x86_64.N20120421-0324.zip
  2541K launchers-win32.win32.x86.N20120421-0324.zip
   328K master-equinox-N20120421-0324.zip
    45K org.apache.commons.logging_1.0.4.v201101211617.jar
     2K org.eclipse.equinox.slf4j.stub_1.0.0.N20120421-0324.jar
    33K org.slf4j.api_1.6.1.v20100831-0715.jar
     6K testResults.php
     2K verifyMD5.html
Comment 8 David Williams CLA 2012-04-21 12:06:28 EDT
Here is the content of the "master-equinox" zip ... probably less than it used to be? It is obviously an archived version of some repo (was it intended to be a subset? Or, everything?)

It does not look too useful the way it is (not sure it is even valid?) 

Guess someone (hint hint) could compare with an old one to see what it is supposed to look like? 



$ unzip -t master-equinox-N20120421-0324.zip 
Archive:  master-equinox-N20120421-0324.zip
content.jar
features/
features/org.eclipse.pde.build.product.feature_1.0.0.N20120421-0324-5317w31221942.jar 
features/master-equinox-p2_1.0.1.N20120421-0324-2-Bg7O3123153201435.jar
features/master-equinox_1.1.0.N20120421-0324-8L7jFGSFGRBL6FSz-qtsFjHXBani.jar features/org.eclipse.equinox.starterkit.product.feature_1.1.0.N20120421-0324-31-7IPJeY4qSsnYaHT1fZ8LLz0o9.jar
plugins/
plugins/com.ibm.icu.base_4.4.2.v20110831.jar
plugins/org.eclipse.equinox.slf4j.stub_1.0.0.N20120421-0324.jar
plugins/org.slf4j.api_1.6.1.v20100831-0715.jar
artifacts.jar
Comment 9 David Williams CLA 2012-04-21 12:46:34 EDT
Created attachment 214342 [details]
lines in log file that mention "master-"

I know it'll be hard to interpret in isolation, but the attachment shows a "grep" of  everywhere that "master-" shows up in the log from the build. So, something is "trying" to make use of them (obviously) but to various degrees of success. 

(In some places, for example, something is obviously fetched, but in other places, warnings that directories don't exist, or "nothing to do" when trying to make a zip file) 

So, ... I think some work is needed in this area. I was going to recommend we just not call this "constructed" task: 

master-equinox:
     [echo] DEBUG macrodef 2 buildRepos feature: master-equinox
     [echo] DEBUG macrodef 2 buildRepos archiveName: master-equinox-N20120421-0324.zip
   [delete] Deleting directory /shared/eclipse/eclipse4N/build/supportDir/org.eclipse.releng.eclipsebuilder/equinox/buildConfigs/equinox/featureTemp
    [mkdir] Created dir: /shared/eclipse/eclipse4N/build/supportDir/org.eclipse.releng.eclipsebuilder/equinox/buildConfigs/equinox/featureTemp
[p2.mirror] Problems resolving provisioning plan.
[p2.mirror] Unable to satisfy dependency from master-equinox.feature.group 1.1.0.N20120421-0324-8L7jFGSFGRBL6FSz-qtsFjHXBani to master-equinox-weaving.feature.group [1.0.100.N20120421-0324-37B7D7733L57955LBL9J].
[p2.mirror] Messages while mirroring artifact descriptors.
 
But, not sure what that'd accomplish other than to "leave out" more stuff. 

So, it'd be helpful to have a "specification" of what's needed to be produced by the build ... what's really needed, still, at this time .... I have a feeling its changed over the years, and some parts of the build scripts were just "left there" since didn't do any obvious harm, even though not really needed? 

Or .... maybe we really do need some of that stuff, and need to figure out how to make it work again. After all ... we do know we need the delta packs, and know they are not being produced correctly (bug 339430). My guess is this "equinox" stuff would not be related to that ... but, just a guess.
Comment 10 David Williams CLA 2012-04-21 13:57:50 EDT
Just to document it, I have found 

master-equinox-p2 only contained
org.eclipse.equinox.p2.installer
which we said in bug 368488 could/should be removed, 
so ... I'm going to remove 

master-equinox-p2 feature 
from 
master-equinox feature

in the eclipse.platform.releng repo (if it'll let me :) 

Similarly, I still see "starter kit" stuff in there: 
<!-- bug 368488 and bug 377314          
 <includes
         id="org.eclipse.equinox.starterkit.product.feature"
         version="0.0.0"/>      
--> 

so will remove that too.
Comment 11 David Williams CLA 2012-04-21 14:06:00 EDT
And, meant to say, I do see 

 <includes
         id="master-equinox-weaving"
         version="0.0.0"/>
         
 <includes
         id="org.eclipse.equinox.weaving.sdk"
         version="0.0.0"/>   

but I can not find "master-equinox-weaving" anywhere in releng repo. 

I'll continue to look. 

But suspect I'll just remove 
 <includes
         id="master-equinox-weaving"
         version="0.0.0"/>

as well, unless I can find some sign it's valid and does something? 

But first I'll try a test run with only those in comment 10 removed, make 
sure that doesn't blow something up.
Comment 12 David Williams CLA 2012-04-21 15:02:43 EDT
Here are two very interesting observations: 

1. I checked the 3.7 repo, and it too is invalid, for the same reason, of saying it has something which it does not. Obviously, no one ever asks for a "master feature", so no one ever noticed before ... but, I'd think would mess up mirroring? 

2. My initial attempts to build after removing master-equinox-p2 didn't work, some obscure error message which lead to even more obscure build scripts :)

But that drove me to peeking about on the file system, and looking for "master-equinox-p2" And -- this is the interesting part -- I discovered two _other_ projects are "named" master-equinox-p2! 

master-ecf/.project:    <name>master-equinox-p2</name>
master-equinox-weaving/.project:        <name>master-equinox-p2</name>

That might explain why those don't show up as "projects" for me ... I think I have my preferences set to take the name in the .project file ... sheesh!
Comment 13 David Williams CLA 2012-04-21 15:38:19 EDT
So, I can not find a preference to "use the name in the .project file" like I used to could find ... not sure if I just can't find it, or if its gone away ... but ... I looked on my R4_HEAD version of eclipse.platform.releng on my file system, did a grep for 

 grep -r --include "\.project" "name" *

and found one other "way off", 

org.eclipse.pde.api.tools.ee.fragments    
had "master-equinox" in its .project file. 

I believe this feature is no longer used, has changed its name to "...feature" 
and, I'm assuming, resides in PDE? 

At any rate, I fixed all three on my file system, committed from command line, pushed from egit. Then went and "imported projects" again from git repository view, and ... what do you know ... said there were three new ones there!
Comment 14 David Williams CLA 2012-04-21 15:56:36 EDT
FYI, I was going to make similar name change to the 3 .project files in "master" branch (maybe should have done there first?) but I did that by trying to "merge" my three changes ... and then I was told there were 80 differences I'd just mered into master. No sure what's going on ... I suspect I just did it backward, should have done in master first, then merged those three into R4_HEAD?
Comment 15 David Williams CLA 2012-04-21 15:59:07 EDT
So, anyway, mystery solved, we now know what 
master-equinox-weaving feature has in it: 

  <plugin
         id="org.aspectj.weaver"
  <plugin
         id="org.aspectj.runtime"

Are these really needed?! 
According to comment 2, we try to remove them later! 

Perhaps this is something old? Perhaps its needed at compile time, but not runtime?
Comment 16 David Williams CLA 2012-04-22 00:08:49 EDT
(In reply to comment #4)
> FWIW, the only two "master" features I see in the repos are 
> 
> master-equinox.feature.group
> master-equinox-p2.feature.group
> 

I was able to "get rid of" the master-equinox-p2.feature.group by 
the changes to master-equinox feature I mentioned in comment 10. 

I made the changes in R4_HEAD ... still need to make similar change to master. 


About comment 15, and the plugins
org.aspectj.weaver
org.aspectj.runtime
if they are needed at all, and needed for only "compile time" dependencies, 
then we have some much better ways of "getting prereqs" now, other than these confusing "master features". (Its like a 10 minute change). 

If they are needed during test time, or something, that might be a little more complicated. 

getting them as prereqs directly, would allow us to get rid of the 
master-equinox-weaving
which is what is (currently) causing the repo to be "invalid". 

I'm less sure if/when we can get rid of 
master-equinox.feature.group
from the repo, but ... if all by itself it does not cause the repo to be invalid, it would be a low priority bug. 

So please advise if these plugins
org.aspectj.weaver
org.aspectj.runtime
are still needed at all, and if so, if needed only 
at compile time, and if so, I'll 
fix up to simple get the prereqs (similar to how we get emf before we build, and now, recently, egit and jgit before we build).
Comment 17 Thomas Watson CLA 2012-04-23 08:37:44 EDT
(In reply to comment #15)
> So, anyway, mystery solved, we now know what 
> master-equinox-weaving feature has in it: 
> 
>   <plugin
>          id="org.aspectj.weaver"
>   <plugin
>          id="org.aspectj.runtime"
> 
> Are these really needed?! 
> According to comment 2, we try to remove them later! 
> 
> Perhaps this is something old? Perhaps its needed at compile time, but not
> runtime?

This is needed at compile time for the bundle org.eclipse.equinox.weaving.aspectj.  The dependencies on the org.aspectj.weaver and org.aspectj.runtime bundles is optional from the org.eclipse.equinox.weaving.aspectj bundle.  My understanding is that these "master" features are build time only features and not needed to be contributed.

Thanks for all your work on this one David.  I'm still a bit lost on all of this stuff from the build.
Comment 18 Thomas Watson CLA 2012-04-23 08:42:43 EDT
(In reply to comment #16)
> 
> So please advise if these plugins
> org.aspectj.weaver
> org.aspectj.runtime
> are still needed at all, and if so, if needed only 
> at compile time, and if so, I'll 
> fix up to simple get the prereqs (similar to how we get emf before we build,
> and now, recently, egit and jgit before we build).

These are definitely needed at compile time.  I wish they were needed during the tests, but unfortunately the weaving stuff at eclipse has gone dormant and we don't run tests on them.  I know, I know!  This is a very bad position and I am going to push to either have others breath new life into these projects or stop building them (post Juno please).
Comment 19 David Williams CLA 2012-05-01 00:58:54 EDT
I did a small local test, and appears I can p2.remove 

master-equinox.feature.group

at the end of the build process with no harm. Prior to the removal there were 1101 IUs, after the removal there were 1100 IUs, which indicates there is nothing "dragged along" with it as its removed. 

This would immediately fix this master-equinox-weaving.feature.group problem, since there would then be nothing saying it would require it. 

Plus, I think I'll wait to and do all the p2 remove's "at the end" after everthing is done being created/packaged ... maybe that will "solve" bug 378137 at the same time (since, if the tests are already "in the repo", then that one bundle would not be removed, when master-equinox-weaving.feature.group is removed. 

Perhaps the intent _was_ to get it removed from our repo, but ... does not seem like it would harm anything, if only required by our tests, and we used only released bundles from their official release site.
Comment 20 Thomas Watson CLA 2012-05-01 08:37:41 EDT
(In reply to comment #19)
> Perhaps the intent _was_ to get it removed from our repo, but ... does not seem
> like it would harm anything, if only required by our tests, and we used only
> released bundles from their official release site.

I think I understand this now.  So you are suggesting we include some released version of aspectj in our test repository?  If so I think that would be fine.
Comment 21 David Williams CLA 2012-05-02 03:15:58 EDT
I added the p2.remove to the end of the process, included removing 
master-equinox.feature.group (hence, it will no longer the already removed/missing master-equinox-weaving feature group). 

(plus, I stopped removing org.aspectj.runtime as mentioned in bug 378137) 

And from my test builds today, it looks like our repo will be completely "valid" probably for the first time in a long time. 

(By "valid", I mean someone can get from it what we say we have :) 

(And, to not need additional repos to do that, is icing on the cake :).