Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Buckminster » Basedir for Feature incorrect(External project location in Git repository)
Basedir for Feature incorrect [message #713778] Tue, 09 August 2011 03:22 Go to next message
Terran Gilman is currently offline Terran Gilman
Messages: 67
Registered: July 2009
Member
I've got a simple three project setup that I'm trying generate a p2 repository for:



  • bundle project (no dependencies)
  • feature project (includes bundle - no dependencies)
  • update site feature (references feature - no dependencies)


These projects are located outside of my workspace in a Git repository. They are bound into the workspace by the Import Projects function of the Eclipse Git tooling. The issue is that when initiating the p2.site action, it indicates that the feature project basedir is incorrect. It is listing the project as being rooted in the workspace. The bundle build that occurs just prior to the feature action works correctly and is rooted in the external location.

The property of buckminster.home for the bundle is the repository path and the same property for the feature is the workspace. Is there a way to tell buckminster where this project should be found?
Re: Basedir for Feature incorrect [message #713825 is a reply to message #713778] Tue, 09 August 2011 06:30 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas Hallgren
Messages: 3229
Registered: July 2009
Senior Member
Hi Trip,

We're using a setup that is very similar to yours but haven't seen this problem. Can you give a bit more detail? Exactly
where do you see the incorrect basedir?

- thomas

On 2011-08-09 05:22, Trip Gilman wrote:
> I've got a simple three project setup that I'm trying generate a p2 repository for:
>
>
>
> bundle project (no dependencies)
> feature project (includes bundle - no dependencies)
> update site feature (references feature - no dependencies)
>
>
> These projects are located outside of my workspace in a Git repository. They are bound into the workspace by the Import
> Projects function of the Eclipse Git tooling. The issue is that when initiating the p2.site action, it indicates that
> the feature project basedir is incorrect. It is listing the project as being rooted in the workspace. The bundle build
> that occurs just prior to the feature action works correctly and is rooted in the external location.
>
> The property of buckminster.home for the bundle is the repository path and the same property for the feature is the
> workspace. Is there a way to tell buckminster where this project should be found?
Re: Basedir for Feature incorrect [message #713997 is a reply to message #713825] Tue, 09 August 2011 14:55 Go to previous messageGo to next message
Terran Gilman is currently offline Terran Gilman
Messages: 67
Registered: July 2009
Member
Below is the buckminster log from a failed attempt. As you can see in the bundle actions, buckminster.home is correctly set to the project path in the repository, "/Users/trip/git/VXML-IVR/Toolkit_Library/". When the feature actions are executed, they incorrectly reference the workspace as buckminster.home, "/Users/trip/workspaces/OpenVXML 4.0/com.openmethods.client.toolkit.feature/".

One thing to consider, these projects were originally created in the workspace. They were then added to version control using the Git ui. A side effect of having an external repository location is that the project is relocated to the repository and then rebound into the Eclipse workspace. Could it be that buckminster is caching the original location for this feature project? I tried deleting the projects from the workspace (leaving them on disk) and then re-importing them from the Git ui. This did not fix the issue.

Quote:
Actions to perform (in order)
com.openmethods.client.toolkit:osgi.bundle$1.0.0.qualifier#eclipse.build
com.openmethods.client.toolkit:osgi.bundle$1.0.0.qualifier#target.fragments
com.openmethods.client.toolkit:osgi.bundle$1.0.0.qualifier#manifest
com.openmethods.client.toolkit:osgi.bundle$1.0.0.qualifier#bundle.jar
com.openmethods.client.toolkit.feature:eclipse.feature$1.0.0.qualifier#manifest
com.openmethods.client.toolkit.feature:eclipse.feature$1.0.0.qualifier#feature.jar
com.openmethods.client.toolkit.updatesite:eclipse.feature$1.0.0.qualifier#copy.subfeatures
com.openmethods.client.toolkit.updatesite:eclipse.feature$1.0.0.qualifier#copy.plugins
com.openmethods.client.toolkit.updatesite:eclipse.feature$1.0.0.qualifier#manifest
com.openmethods.client.toolkit.updatesite:eclipse.feature$1.0.0.qualifier#site.p2
init actor: eclipse.build[com.openmethods.client.toolkit:osgi.bundle$1.0.0.qualifier#eclipse.build]
[start com.openmethods.client.toolkit:osgi.bundle$1.0.0.qualifier#eclipse.build]
target.arch=*
buckminster.component=com.openmethods.client.toolkit
qualifier.replacement.*=generator:buildTimestamp
workspace.root=/Users/trip/workspaces/OpenVXML 4.0
buckminster.temp=/Users/trip/tmp/client-p2Site.tmp/com.openmethods.client.toolkit_1.0.0-osgi.bundle/temp
buckminster.home=/Users/trip/git/VXML-IVR/Toolkit_Library/
buckminster.output=/Users/trip/Desktop/client-p2Site/com.openmethods.client.toolkit_1.0.0-osgi.bundle
buckminster.temp.root=/Users/trip/tmp/client-p2Site.tmp
localhost=tgilman.local
cbi.include.source=false
generator.buildTimestamp.format=yyyyMMddHHmm
buckminster.component.type=osgi.bundle
buckminster.version=1.0.0.qualifier
target.nl=en_US
target.ws=*
eclipse.home=/Applications/Eclipse-3.7/eclipse
buckminster.output.root=/Users/trip/Desktop/client-p2Site
target.os=*
target.location=/Users/trip/workspaces/OpenVXML 4.0/.buckminster/tp
[end com.openmethods.client.toolkit:osgi.bundle$1.0.0.qualifier#eclipse.build]
init actor: copyTargetFragments[com.openmethods.client.toolkit:osgi.bundle$1.0.0.qualifier#target.fragments]
Action com.openmethods.client.toolkit:osgi.bundle$1.0.0.qualifier#target.fragments using 'up to date' policy ACTOR: Product is up to date
Action com.openmethods.client.toolkit:osgi.bundle$1.0.0.qualifier#manifest using 'up to date' policy DEFAULT: Rebuild needed: Product has folders
init actor: ant[com.openmethods.client.toolkit:osgi.bundle$1.0.0.qualifier#manifest]
buildFileId=buckminster.pdetasks
targets=expand.bundle.version
[start com.openmethods.client.toolkit:osgi.bundle$1.0.0.qualifier#manifest]
Product alias = action.output
Product base = ${buckminster.output}/temp/
target.arch=*
buckminster.component=com.openmethods.client.toolkit
qualifier.replacement.*=generator:buildTimestamp
workspace.root=/Users/trip/workspaces/OpenVXML 4.0
buckminster.temp=/Users/trip/tmp/client-p2Site.tmp/com.openmethods.client.toolkit_1.0.0-osgi.bundle/temp
buckminster.home=/Users/trip/git/VXML-IVR/Toolkit_Library/
buckminster.output=/Users/trip/Desktop/client-p2Site/com.openmethods.client.toolkit_1.0.0-osgi.bundle
buckminster.temp.root=/Users/trip/tmp/client-p2Site.tmp
localhost=tgilman.local
cbi.include.source=false
generator.buildTimestamp.format=yyyyMMddHHmm
buckminster.component.type=osgi.bundle
buckminster.version=1.0.0.qualifier
target.nl=en_US
target.ws=*
eclipse.home=/Applications/Eclipse-3.7/eclipse
buckminster.output.root=/Users/trip/Desktop/client-p2Site
target.os=*
target.location=/Users/trip/workspaces/OpenVXML 4.0/.buckminster/tp
[end com.openmethods.client.toolkit:osgi.bundle$1.0.0.qualifier#manifest]
Action com.openmethods.client.toolkit:osgi.bundle$1.0.0.qualifier#bundle.jar using 'up to date' policy COUNT: Rebuild needed: File count(0) < expected(1)
init actor: ant[com.openmethods.client.toolkit:osgi.bundle$1.0.0.qualifier#bundle.jar]
buildFileId=buckminster.pdetasks
targets=create.bundle.jar
[start com.openmethods.client.toolkit:osgi.bundle$1.0.0.qualifier#bundle.jar]
Product alias = action.output
Product base = ${buckminster.output}/jar/
target.arch=*
buckminster.component=com.openmethods.client.toolkit
qualifier.replacement.*=generator:buildTimestamp
workspace.root=/Users/trip/workspaces/OpenVXML 4.0
buckminster.temp=/Users/trip/tmp/client-p2Site.tmp/com.openmethods.client.toolkit_1.0.0-osgi.bundle/temp
buckminster.home=/Users/trip/git/VXML-IVR/Toolkit_Library/
buckminster.output=/Users/trip/Desktop/client-p2Site/com.openmethods.client.toolkit_1.0.0-osgi.bundle
buckminster.temp.root=/Users/trip/tmp/client-p2Site.tmp
localhost=tgilman.local
cbi.include.source=false
generator.buildTimestamp.format=yyyyMMddHHmm
buckminster.component.type=osgi.bundle
buckminster.version=1.0.0.qualifier
target.nl=en_US
target.ws=*
eclipse.home=/Applications/Eclipse-3.7/eclipse
buckminster.output.root=/Users/trip/Desktop/client-p2Site
target.os=*
target.location=/Users/trip/workspaces/OpenVXML 4.0/.buckminster/tp
[end com.openmethods.client.toolkit:osgi.bundle$1.0.0.qualifier#bundle.jar]
Action com.openmethods.client.toolkit.feature:eclipse.feature$1.0.0.qualifier#manifest using 'up to date' policy DEFAULT: Rebuild needed: Product has folders
init actor: ant[com.openmethods.client.toolkit.feature:eclipse.feature$1.0.0.qualifier#manifest]
buildFileId=buckminster.pdetasks
targets=expand.feature.version
[start com.openmethods.client.toolkit.feature:eclipse.feature$1.0.0.qualifier#manifest]
Product alias = action.output
Product base = ${buckminster.output}/temp/manifest/
target.arch=*
buckminster.component=com.openmethods.client.toolkit.feature
qualifier.replacement.*=generator:buildTimestamp
workspace.root=/Users/trip/workspaces/OpenVXML 4.0
buckminster.temp=/Users/trip/tmp/client-p2Site.tmp/com.openmethods.client.toolkit.feature_1.0.0-eclipse.feature/temp
buckminster.home=/Users/trip/workspaces/OpenVXML 4.0/com.openmethods.client.toolkit.feature/
buckminster.output=/Users/trip/Desktop/client-p2Site/com.openmethods.client.toolkit.feature_1.0.0-eclipse.feature
buckminster.temp.root=/Users/trip/tmp/client-p2Site.tmp
localhost=tgilman.local
cbi.include.source=false
generator.buildTimestamp.format=yyyyMMddHHmm
buckminster.component.type=eclipse.feature
buckminster.version=1.0.0.qualifier
target.nl=en_US
target.ws=*
eclipse.home=/Applications/Eclipse-3.7/eclipse
buckminster.output.root=/Users/trip/Desktop/client-p2Site
target.os=*
target.location=/Users/trip/workspaces/OpenVXML 4.0/.buckminster/tp
Base: /Users/trip/workspaces/OpenVXML 4.0/com.openmethods.client.toolkit.feature: No such file or directory
Base: /Users/trip/Desktop/client-p2Site/com.openmethods.client.toolkit_1.0.0-osgi.bundle/fragments: No such file or directory
Base: /Users/trip/workspaces/OpenVXML 4.0/com.openmethods.client.toolkit.feature: No such file or directory
org.eclipse.core.runtime.CoreException: Basedir /Users/trip/workspaces/OpenVXML 4.0/com.openmethods.client.toolkit.feature does not exist
org.eclipse.core.runtime.CoreException: Basedir /Users/trip/workspaces/OpenVXML 4.0/com.openmethods.client.toolkit.feature does not exist
at org.eclipse.buckminster.ant.AntRunner.handleInvocationTargetException(AntRunner.java:167)
at org.eclipse.buckminster.ant.AntRunner.run(AntRunner.java:322)
at org.eclipse.buckminster.ant.actor.AntActor.internalPerform(AntActor.java:254)
at org.eclipse.buckminster.core.actor.AbstractActor.perform(AbstractActor.java:195)
at org.eclipse.buckminster.core.internal.actor.PerformManager$DirectActionInvocation.execute(PerformManager.java:143)
at org.eclipse.buckminster.core.internal.actor.PerformManager.internalPerform(PerformManager.java:454)
at org.eclipse.buckminster.core.internal.actor.PerformManager.perform(PerformManager.java:293)
at org.eclipse.buckminster.core.internal.actor.PerformManager.perform(PerformManager.java:305)
at org.eclipse.buckminster.ui.InvokeActionJob.runInWorkspace(InvokeActionJob.java:67)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: Basedir /Users/trip/workspaces/OpenVXML 4.0/com.openmethods.client.toolkit.feature does not exist
at org.apache.tools.ant.Project.setBaseDir(Project.java:844)
at org.apache.tools.ant.Project.setBasedir(Project.java:829)
at org.apache.tools.ant.helper.ProjectHelper2$ProjectHandler.onStartElement(ProjectHelper2.java:841)
at org.apache.tools.ant.helper.ProjectHelper2$RootHandler.startElement(ProjectHelper2.java:600)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:400)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:626)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3103)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:922)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:307)
at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:178)
at org.eclipse.ant.internal.core.ant.InternalAntRunner.parseBuildFile(InternalAntRunner.java:348)
at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:634)
at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:496)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.buckminster.ant.AntRunner.run(AntRunner.java:318)
... 9 more
Basedir /Users/trip/workspaces/OpenVXML 4.0/com.openmethods.client.toolkit.feature does not exist

Re: Basedir for Feature incorrect [message #714003 is a reply to message #713997] Tue, 09 August 2011 15:01 Go to previous messageGo to next message
Terran Gilman is currently offline Terran Gilman
Messages: 67
Registered: July 2009
Member
Update:

I love finding a work around to my issue not five minutes after posting the "long" post. It appears that this is indeed related to the relocation of projects by the Git tooling. I was able to build the p2 repository by following these steps:



  1. Delete bundle, feature, and update site feature from workspace (leave on disk)
  2. Close Eclipse completely
  3. Re-open Eclipse and allow to complete start-up fully
  4. Import projects from repository using Git tooling


Does buckminster maintain a cache of project locations? If it does there seems to be in issue with being notified of project location changes made by other tools. Is there a safe or more correct way to do manage projects under Git while using buckminster?
Re: Basedir for Feature incorrect [message #715241 is a reply to message #714003] Fri, 12 August 2011 21:29 Go to previous messageGo to next message
Terran Gilman is currently offline Terran Gilman
Messages: 67
Registered: July 2009
Member
This just happened again, however my workaround doesn't seem to work now. Any ideas as to why it would be looking in my workspace for the project even though it is located another place?
Re: Basedir for Feature incorrect [message #715292 is a reply to message #715241] Sat, 13 August 2011 06:21 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas Hallgren
Messages: 3229
Registered: July 2009
Senior Member
On 2011-08-12 23:29, Trip Gilman wrote:
> This just happened again, however my workaround doesn't seem to work now. Any ideas as to why it would be looking in my
> workspace for the project even though it is located another place?

The only way I've been able to reproduce this is when EGit moves the project physically. Buckminster isn't really
prepared for that. A restart of the IDE in combination with a reset of the Buckminster meta-data should help. If all
else fails, simply try removing the metadata by removing the directory:

<workspace>/.metadata/.plugins/org.eclipse.buckminster.core

Make sure the IDE (or headless bucky) is not running when doing it.

HTH,
- thomas
Re: Basedir for Feature incorrect [message #715452 is a reply to message #715292] Sun, 14 August 2011 04:42 Go to previous messageGo to next message
Terran Gilman is currently offline Terran Gilman
Messages: 67
Registered: July 2009
Member
The last time it happened wasn't related to a project move, however I can't seem to reproduce it. I have confirmed that the removal of the meta-data folder and a full IDE restart takes care of the issue. Refreshing the meta-data didn't seem to help the issue. Maybe on refresh, or start up, you could poll the projects to check their physical locations against the current meta-data and rebuild it if some of the values don't match?
Re: Basedir for Feature incorrect [message #715953 is a reply to message #715292] Tue, 16 August 2011 05:18 Go to previous message
Thomas Hallgren is currently offline Thomas Hallgren
Messages: 3229
Registered: July 2009
Senior Member
On 2011-08-14 06:50, Trip Gilman wrote:
> Looks like my last 3 responses are now part of the digital ether... Forums 3-0 Trip. Apparently the Quick Reply form at
> the bottom of the thread page no longer works.
>
> Anyways, I have confirmed that shutting down the IDE and removing the core meta-data directory resolves this issue.
> Since this is related to cached meta-data, do you think a check could be added upon action, or on start up, to compare
> the cached location against the project's registered physical location?

It could be improved for sure. I suggest you enter a bugzilla for this.

- thomas
Previous Topic:UI artefacts after installing of features into buckminster
Next Topic:buckminster headless install
Goto Forum:
  


Current Time: Wed Sep 03 02:24:34 GMT 2014

Powered by FUDForum. Page generated in 0.01938 seconds