Community
Participate
Working Groups
Invoking on build.eclipse.org ant -f /shared/modeling/tools/promotion/manage-composite.xml add -Dchild.repository=5.0.0 has started to give errors (since perhaps a month ago). [java] -add: [java] [p2.composite.repository] java.io.FileNotFoundException: /opt/public/common/buckminster-3.6/configuration/org.eclipse.osgi/bundles/82/data/-3695396/artifacts.xml (No such file or directory) [java] [p2.composite.repository] at gnu.java.nio.channels.FileChannelImpl.open(libgcj.so.9) [java] [p2.composite.repository] at gnu.java.nio.channels.FileChannelImpl.<init>(libgcj.so.9) [java] [p2.composite.repository] at gnu.java.nio.channels.FileChannelImpl.create(libgcj.so.9) [java] [p2.composite.repository] at java.io.FileOutputStream.<init>(libgcj.so.9) [java] [p2.composite.repository] at java.io.FileOutputStream.<init>(libgcj.so.9) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.save(SimpleArtifactRepository.java:961) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.save(SimpleArtifactRepository.java:942) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.<init>(SimpleArtifactRepository.java:322) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepositoryFactory.create(SimpleArtifactRepositoryFactory.java:129) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.updatesite.artifact.UpdateSiteArtifactRepositoryFactory.loadRepository(UpdateSiteArtifactRepositoryFactory.java:82) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.updatesite.artifact.UpdateSiteArtifactRepositoryFactory.load(UpdateSiteArtifactRepositoryFactory.java:53) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager.factoryLoad(ArtifactRepositoryManager.java:68) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:746) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:651) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager.loadRepository(ArtifactRepositoryManager.java:99) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager.loadRepository(ArtifactRepositoryManager.java:95) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository.load(CompositeArtifactRepository.java:438) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository.addChild(CompositeArtifactRepository.java:157) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository.addChild(CompositeArtifactRepository.java:146) [java] [p2.composite.repository] at org.eclipse.equinox.p2.internal.repository.tools.CompositeRepositoryApplication.run(CompositeRepositoryApplication.java:62) [java] [p2.composite.repository] at org.eclipse.equinox.p2.internal.repository.tools.tasks.CompositeRepositoryTask.execute(CompositeRepositoryTask.java:35) [java] [p2.composite.repository] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) [java] [p2.composite.repository] at java.lang.reflect.Method.invoke(libgcj.so.9) [java] [p2.composite.repository] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) [java] [p2.composite.repository] at org.apache.tools.ant.Task.perform(Task.java:348) [java] [p2.composite.repository] at org.apache.tools.ant.Target.execute(Target.java:357) [java] [p2.composite.repository] at org.apache.tools.ant.Target.performTasks(Target.java:385) [java] [p2.composite.repository] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337) [java] [p2.composite.repository] at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38) [java] [p2.composite.repository] at org.eclipse.ant.internal.core.ant.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30) [java] [p2.composite.repository] at org.apache.tools.ant.Project.executeTargets(Project.java:1189) [java] [p2.composite.repository] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416) [java] [p2.composite.repository] at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105) [java] [p2.composite.repository] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) [java] [p2.composite.repository] at java.lang.reflect.Method.invoke(libgcj.so.9) [java] [p2.composite.repository] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) [java] [p2.composite.repository] at org.apache.tools.ant.Task.perform(Task.java:348) [java] [p2.composite.repository] at org.apache.tools.ant.Target.execute(Target.java:357) [java] [p2.composite.repository] at org.apache.tools.ant.Target.performTasks(Target.java:385) [java] [p2.composite.repository] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337) [java] [p2.composite.repository] at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38) [java] [p2.composite.repository] at org.eclipse.ant.internal.core.ant.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30) [java] [p2.composite.repository] at org.apache.tools.ant.Project.executeTargets(Project.java:1189) [java] [p2.composite.repository] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416) [java] [p2.composite.repository] at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105) [java] [p2.composite.repository] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) [java] [p2.composite.repository] at java.lang.reflect.Method.invoke(libgcj.so.9) [java] [p2.composite.repository] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) [java] [p2.composite.repository] at org.apache.tools.ant.Task.perform(Task.java:348) [java] [p2.composite.repository] at org.apache.tools.ant.Target.execute(Target.java:357) [java] [p2.composite.repository] at org.apache.tools.ant.Target.performTasks(Target.java:385) [java] [p2.composite.repository] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337) [java] [p2.composite.repository] at org.apache.tools.ant.Project.executeTarget(Project.java:1306) [java] [p2.composite.repository] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) [java] [p2.composite.repository] at org.eclipse.ant.internal.core.ant.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32) [java] [p2.composite.repository] at org.apache.tools.ant.Project.executeTargets(Project.java:1189) [java] [p2.composite.repository] at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:662) [java] [p2.composite.repository] at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:534) [java] [p2.composite.repository] at java.lang.reflect.Method.invoke(libgcj.so.9) [java] [p2.composite.repository] at org.eclipse.ant.core.AntRunner.run(AntRunner.java:513) [java] [p2.composite.repository] at org.eclipse.ant.core.AntRunner.start(AntRunner.java:600) [java] [p2.composite.repository] at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) [java] [p2.composite.repository] at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) [java] [p2.composite.repository] at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) [java] [p2.composite.repository] at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) [java] [p2.composite.repository] at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) [java] [p2.composite.repository] at java.lang.reflect.Method.invoke(libgcj.so.9) [java] [p2.composite.repository] at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620) [java] [p2.composite.repository] at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575) [java] [p2.composite.repository] at org.eclipse.equinox.launcher.Main.run(Main.java:1408) [java] [p2.composite.repository] at org.eclipse.equinox.launcher.Main.main(Main.java:1384) [java] [p2.composite.repository] java.io.FileNotFoundException: /opt/public/common/buckminster-3.6/configuration/org.eclipse.osgi/bundles/82/data/-3695396/artifacts.xml (No such file or directory) [java] [p2.composite.repository] at gnu.java.nio.channels.FileChannelImpl.open(libgcj.so.9) [java] [p2.composite.repository] at gnu.java.nio.channels.FileChannelImpl.<init>(libgcj.so.9) [java] [p2.composite.repository] at gnu.java.nio.channels.FileChannelImpl.create(libgcj.so.9) [java] [p2.composite.repository] at java.io.FileOutputStream.<init>(libgcj.so.9) [java] [p2.composite.repository] at java.io.FileOutputStream.<init>(libgcj.so.9) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.save(SimpleArtifactRepository.java:961) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.save(SimpleArtifactRepository.java:942) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.setProperty(SimpleArtifactRepository.java:1002) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.updatesite.artifact.UpdateSiteArtifactRepositoryFactory.resetCache(UpdateSiteArtifactRepositoryFactory.java:68) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.updatesite.artifact.UpdateSiteArtifactRepositoryFactory.load(UpdateSiteArtifactRepositoryFactory.java:57) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager.factoryLoad(ArtifactRepositoryManager.java:68) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:746) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:651) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager.loadRepository(ArtifactRepositoryManager.java:99) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager.loadRepository(ArtifactRepositoryManager.java:95) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository.load(CompositeArtifactRepository.java:438) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository.addChild(CompositeArtifactRepository.java:157) [java] [p2.composite.repository] at org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository.addChild(CompositeArtifactRepository.java:146) [java] [p2.composite.repository] at org.eclipse.equinox.p2.internal.repository.tools.CompositeRepositoryApplication.run(CompositeRepositoryApplication.java:62) [java] [p2.composite.repository] at org.eclipse.equinox.p2.internal.repository.tools.tasks.CompositeRepositoryTask.execute(CompositeRepositoryTask.java:35) [java] [p2.composite.repository] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) [java] [p2.composite.repository] at java.lang.reflect.Method.invoke(libgcj.so.9) [java] [p2.composite.repository] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) [java] [p2.composite.repository] at org.apache.tools.ant.Task.perform(Task.java:348) [java] [p2.composite.repository] at org.apache.tools.ant.Target.execute(Target.java:357) [java] [p2.composite.repository] at org.apache.tools.ant.Target.performTasks(Target.java:385) [java] [p2.composite.repository] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337) [java] [p2.composite.repository] at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38) [java] [p2.composite.repository] at org.eclipse.ant.internal.core.ant.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30) [java] [p2.composite.repository] at org.apache.tools.ant.Project.executeTargets(Project.java:1189) [java] [p2.composite.repository] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416) [java] [p2.composite.repository] at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105) [java] [p2.composite.repository] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) [java] [p2.composite.repository] at java.lang.reflect.Method.invoke(libgcj.so.9) [java] [p2.composite.repository] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) [java] [p2.composite.repository] at org.apache.tools.ant.Task.perform(Task.java:348) [java] [p2.composite.repository] at org.apache.tools.ant.Target.execute(Target.java:357) [java] [p2.composite.repository] at org.apache.tools.ant.Target.performTasks(Target.java:385) [java] [p2.composite.repository] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337) [java] [p2.composite.repository] at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38) [java] [p2.composite.repository] at org.eclipse.ant.internal.core.ant.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30) [java] [p2.composite.repository] at org.apache.tools.ant.Project.executeTargets(Project.java:1189) [java] [p2.composite.repository] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416) [java] [p2.composite.repository] at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105) [java] [p2.composite.repository] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) [java] [p2.composite.repository] at java.lang.reflect.Method.invoke(libgcj.so.9) [java] [p2.composite.repository] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) [java] [p2.composite.repository] at org.apache.tools.ant.Task.perform(Task.java:348) [java] [p2.composite.repository] at org.apache.tools.ant.Target.execute(Target.java:357) [java] [p2.composite.repository] at org.apache.tools.ant.Target.performTasks(Target.java:385) [java] [p2.composite.repository] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337) [java] [p2.composite.repository] at org.apache.tools.ant.Project.executeTarget(Project.java:1306) [java] [p2.composite.repository] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) [java] [p2.composite.repository] at org.eclipse.ant.internal.core.ant.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32) [java] [p2.composite.repository] at org.apache.tools.ant.Project.executeTargets(Project.java:1189) [java] [p2.composite.repository] at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:662) [java] [p2.composite.repository] at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:534) [java] [p2.composite.repository] at java.lang.reflect.Method.invoke(libgcj.so.9) [java] [p2.composite.repository] at org.eclipse.ant.core.AntRunner.run(AntRunner.java:513) [java] [p2.composite.repository] at org.eclipse.ant.core.AntRunner.start(AntRunner.java:600) [java] [p2.composite.repository] at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) [java] [p2.composite.repository] at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) [java] [p2.composite.repository] at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) [java] [p2.composite.repository] at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) [java] [p2.composite.repository] at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) [java] [p2.composite.repository] at java.lang.reflect.Method.invoke(libgcj.so.9) [java] [p2.composite.repository] at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620) [java] [p2.composite.repository] at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575) [java] [p2.composite.repository] at org.eclipse.equinox.launcher.Main.run(Main.java:1408) [java] [p2.composite.repository] at org.eclipse.equinox.launcher.Main.main(Main.java:1384) [java] BUILD SUCCESSFUL
Although Buckminster is available from a shared location, I don't think everyone should be invoking it from there. I don't think it's designed to be run on multiple servers by multiple users. See bug 416163
I'm not sure whether Buckminster is being used in earnest. I'm invoking one of the http://wiki.eclipse.org/Modeling_Project_Builds/Utilities#manage-composite.xml facilitiers that has been working for many years.
(In reply to Ed Willink from comment #2) I meant to add that I'm running interactively.
> I meant to add that I'm running interactively. Right... Regardless, the logs seem to indicate it is being run. SO what happens if Buckminster does this: clean_up_tmp(); whie(stuff) { create_tmp(); write_tmp(); sleep read_tmp() } If it happens that Buckminster is called from more than one process in the exact same location, one process' clean_up_tmp() can clobber what another server is currently doing. I have no evidence this is what is happening, but based on my thumb to the wind, I'm willing to bet serious coin that it is. What's the fix? Either invoke the tool from a non-shared location or fix the tool.
Shared location is not really a fix. Every interactive user would need their own copy. And if I'm clever enough to run two scripts concurrently I need two local copies.... Seems like the Buckminster fix is the only solution. Naively, I thought tmp files always used the pid to disambiguate, which just leaves a minor garbage collector to pick up week old files from crashed processes.
So just for kicks, I gave it a try myself: droy@build:~/crud> ant -f /shared/modeling/tools/promotion/manage-composite.xml add -Dchild.repository=5.0.0 Buildfile: /shared/modeling/tools/promotion/manage-composite.xml add: -call.operation: -locate.framework.launcher: -call.operation.indirectly: [java] Buildfile: /shared/modeling/tools/promotion/manage-composite.xml [java] [java] add: [java] [java] -call.operation: [java] [java] -add.named: [java] [java] -add: [java] [p2.composite.repository] java.io.FileNotFoundException: /opt/public/common/buckminster-3.6/configuration/org.eclipse.osgi/bundles/82/data/1630078689/artifacts.xml (No such file or directory) Examining the directory leads me to this: build:/opt/public/common/buckminster-3.6/configuration/org.eclipse.osgi/bundles # ls -l total 120 drwxrwsr-x+ 3 mparker common 4096 Dec 31 00:22 101 drwxrwsr-x+ 3 mparker common 4096 Dec 31 00:22 11 drwxrwsr-x+ 3 hudsonBuild common 4096 Feb 23 2013 110 drwxrwsr-x+ 3 sbouchet common 4096 Mar 29 2011 115 drwxrwsr-x+ 3 sbouchet common 4096 Mar 29 2011 117 drwxrwsr-x+ 3 mruzicka common 4096 Mar 29 2011 26 drwxrwsr-x+ 3 mparker common 4096 Dec 31 00:22 28 drwxrwsr-x+ 3 mruzicka common 4096 Mar 29 2011 37 drwxrwsr-x+ 3 hudsonBuild common 4096 Dec 31 01:16 39 drwxrwsr-x+ 3 mruzicka common 4096 Mar 29 2011 41 drwxrwsr-x+ 3 mparker common 4096 Dec 31 00:22 43 drwxrwsr-x+ 3 mruzicka common 4096 Mar 29 2011 59 drwxrwsr-x+ 3 mparker common 4096 Dec 31 00:22 61 drwxrwsr-x+ 3 mruzicka common 4096 Mar 29 2011 69 drwxrwsr-x+ 3 mparker common 4096 Dec 31 00:22 71 drwxrwsr-x+ 3 mruzicka common 4096 Mar 29 2011 72 drwxrwsr-x+ 3 mruzicka common 4096 Mar 29 2011 74 drwxrwsr-x+ 3 mruzicka common 4096 Mar 29 2011 75 drwxrwsr-x+ 3 mparker common 4096 Dec 31 00:22 76 drwxrwsr-x+ 3 mparker common 4096 Dec 31 00:22 77 drwxrwsr-x+ 4 mruzicka common 4096 Dec 31 00:22 79 drwxr-sr-x+ 3 glefur common 4096 Jan 7 05:57 82 drwxrwsr-x+ 3 mruzicka common 4096 Mar 29 2011 85 drwxrwsr-x+ 3 mparker common 4096 Dec 31 00:22 89 drwxrwsr-x+ 3 mruzicka common 4096 Mar 29 2011 9 drwxrwsr-x+ 3 hudsonBuild common 4096 Feb 23 2013 90 drwxrwsr-x+ 3 mruzicka common 4096 Mar 29 2011 94 drwxrwsr-x+ 3 hudsonBuild common 4096 Dec 31 01:16 95 drwxrwsr-x+ 3 mruzicka common 4096 Mar 29 2011 96 drwxrwsr-x+ 3 mparker common 4096 Dec 31 00:22 99 Notice how directory "82" is not group-writable. After setting permissions, the ant job completes. I would expect an application to write temp files in a true $TMP location, not somewhere nested under the app's directory tree. Moving to Buckminster for comment.
Not sure what's expected from the Buckminster team here. 3.6 was a long time ago and Denis is probably correct. Shared execution might lead to problems since Eclipse alters shared areas on disk. Any chance the build in question could be upgraded so that it instead uses the Hudson buckminster plug-in and thus, uses a freshly installed buckminster for each run?
(In reply to Thomas Hallgren from comment #7) > Any chance the build in question could be upgraded so that it instead uses > the Hudson buckminster plug-in and thus, uses a freshly installed > buckminster for each run? It's not a build. http://wiki.eclipse.org/Modeling_Project_Builds/Utilities are a set of tools to assist in interactive maintenance. I guess it just needs someone who understands them to give them a refresh. But I presume it will be a separately invoked Hudson each time just like any other separately invoked application.
> Not sure what's expected from the Buckminster team here. To be honest, I'm not sure either. Feel free to close this as WONTFIX. Ed, you, or whomever owns the process you're running, will need to maintain that process and either upgrade Buckminster or use the correct Hudson plugin.
Moving to Modeling PDE Support and adding the wiki page user as a CC. It looks as if our scripts need a refresh.
I don't whether this is the case or if it can help, but you could install your own (not shared) buckminster and let manage-composite.xml point to that; for https://bugs.eclipse.org/bugs/show_bug.cgi?id=420155#c23 I wrote this ant script https://github.com/LorenzoBettini/director-buckminster-b3-install