Community
Participate
Working Groups
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)
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?
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>
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.
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 :)
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= ]
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.
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
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
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.
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.
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.
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!
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!
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?
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?
(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).
(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.
(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).
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.
(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.
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 :).