Home » Archived » Buckminster » Problems resolving from a p2 site with Buckminster 3.5
Problems resolving from a p2 site with Buckminster 3.5 [message #502520] |
Tue, 08 December 2009 16:45 |
John Messages: 107 Registered: July 2009 |
Senior Member |
|
|
Hi!
I'm trying to build two components independently.
The first one is a core feature, which builds fine from the source.
I have used Buckminster to build a p2 site.
The other component is dependent on the first component and is contributing to a menu.
It consist of the feature org.john.bmtest.contrib.feature with the plugin org.john.bmtest.contrib.
The plugin is dependent on the plugin org.john.bmtest from the first component.
Here's a snippet of the rmap used for the second component:
<searchPath name="COMP2">
<provider
readerType="url.catalog"
componentTypes="osgi.bundle,eclipse.feature,buckminster"
source="true">
<uri format="file:{1}/{0}">
<bc:propertyRef key="buckminster.component" />
<bc:propertyRef key="disk.source.dir" />
</uri>
</provider>
</searchPath>
<searchPath name="COMP1">
<provider
readerType="eclipse.import"
componentTypes="osgi.bundle,eclipse.feature"
mutable="false"
source="false">
<uri format=" file:/C:/Temp/bmtest35-core/psd_build/org.john.bmtest.produc t_1.0.0-eclipse.feature/site.p2?importType=binary "/>
</provider>
</searchPath>
<locator searchPathRef="COMP2" pattern="^org\.john\.bmtest\.contrib\..*" />
<locator searchPathRef="COMP1" pattern="^org\.john\..*" />
With this the resolve fails to locate the plugin org.john.bmtest.contrib.
Shouldn't the pattern "^org\.john\.bmtest\.contrib\..*" match this also?
If I instead use the following locators, the resolve works.
<locator searchPathRef="COMP2" pattern="^org\.john\.bmtest\.contrib\..*" />
<locator searchPathRef="COMP2" pattern="^org\.john\.bmtest\.contrib" />
<locator searchPathRef="COMP1" pattern="^org\.john\..*" />
However, now the materialization fails.
Below is part of the debug log, where it's seen that the materialization apparently goes well,
for the source based feature org.john.bmtest.contrib.feature and plugin org.john.bmtest.contrib.
Also the binary plugin org.john.bmtest from the p2 site seem to be OK.
But the I get this error about a path problem, without information of which path it is.
The only suspicious thing I can find is, that in the workspace it materializes to,
the features and plugins folders contain the source for org.john.bmtest.contrib.feature and org.john.bmtest.contrib,
while the plugins folder contains an empty folder with the name org.john.bmtest.
Is this the reason for the exception? Why is it an empty folder?
I would expect it to be the jar file materialized from the p2 site.
I'll appreciate any help.
Thanks.
/John
!ENTRY org.eclipse.buckminster.core 0 293 2009-12-08 17:09:53.684
!MESSAGE Provider url.catalog(file:/Temp/bmtest-source35-contrib/org.john.bmte st.contrib.feature): materializing to C:/Temp/bmtest35-contrib/psd_workspace/features/org.john.bmt est.contrib.feature/
Provider url.catalog(file:/Temp/bmtest-source35-contrib/org.john.bmte st.contrib.feature): materializing to C:/Temp/bmtest35-contrib/psd_workspace/features/org.john.bmt est.contrib.feature/
!ENTRY org.eclipse.buckminster.core 0 293 2009-12-08 17:09:53.700
!MESSAGE Provider eclipse.import(file:/C:/Temp/bmtest35-core/psd_build/org.joh n.bmtest.product_1.0.0-eclipse.feature/site.p2?importType=bi nary): materializing to C:/Temp/bmtest35-contrib/psd_workspace/plugins/org.john.bmte st/
Provider eclipse.import(file:/C:/Temp/bmtest35-core/psd_build/org.joh n.bmtest.product_1.0.0-eclipse.feature/site.p2?importType=bi nary): materializing to C:/Temp/bmtest35-contrib/psd_workspace/plugins/org.john.bmte st/
!ENTRY org.eclipse.buckminster.core 0 293 2009-12-08 17:09:53.731
!MESSAGE Provider url.catalog(file:/Temp/bmtest-source35-contrib/org.john.bmte st.contrib): materializing to C:/Temp/bmtest35-contrib/psd_workspace/plugins/org.john.bmte st.contrib/
Provider url.catalog(file:/Temp/bmtest-source35-contrib/org.john.bmte st.contrib): materializing to C:/Temp/bmtest35-contrib/psd_workspace/plugins/org.john.bmte st.contrib/
!ENTRY org.eclipse.buckminster.core 4 293 2009-12-08 17:09:53.747
!MESSAGE ERROR [0003] : java.io.IOException: The system cannot find the path specified
ERROR [0003] : java.io.IOException: The system cannot find the path specified
!ENTRY org.eclipse.buckminster.runtime 4 0 2009-12-08 17:09:53.762
!MESSAGE java.io.IOException: The system cannot find the path specified
!STACK 0
java.io.IOException: The system cannot find the path specified
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.checkAndCreate(Unknown Source)
at java.io.File.createTempFile(Unknown Source)
at java.io.File.createTempFile(Unknown Source)
at org.eclipse.buckminster.core.helpers.FileUtils.createTempFol der(FileUtils.java:492)
at org.eclipse.buckminster.pde.internal.EclipseImportReaderType .getTempSite(EclipseImportReaderType.java:279)
at org.eclipse.buckminster.pde.internal.EclipseImportReaderType .localizeContents(EclipseImportReaderType.java:693)
at org.eclipse.buckminster.pde.internal.EclipseImportReader.loc alize(EclipseImportReader.java:239)
at org.eclipse.buckminster.pde.internal.EclipseImportReader.inn erMaterialize(EclipseImportReader.java:86)
at org.eclipse.buckminster.core.reader.AbstractCatalogReader.ma terialize(AbstractCatalogReader.java:270)
at org.eclipse.buckminster.core.materializer.FileSystemMaterial izer.materialize(FileSystemMaterializer.java:268)
at org.eclipse.buckminster.core.materializer.MaterializerJob.ru n(MaterializerJob.java:70)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
ERROR: java.io.IOException: The system cannot find the path specified
java.io.IOException: The system cannot find the path specified
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.checkAndCreate(Unknown Source)
at java.io.File.createTempFile(Unknown Source)
at java.io.File.createTempFile(Unknown Source)
at org.eclipse.buckminster.core.helpers.FileUtils.createTempFol der(FileUtils.java:492)
at org.eclipse.buckminster.pde.internal.EclipseImportReaderType .getTempSite(EclipseImportReaderType.java:279)
at org.eclipse.buckminster.pde.internal.EclipseImportReaderType .localizeContents(EclipseImportReaderType.java:693)
at org.eclipse.buckminster.pde.internal.EclipseImportReader.loc alize(EclipseImportReader.java:239)
at org.eclipse.buckminster.pde.internal.EclipseImportReader.inn erMaterialize(EclipseImportReader.java:86)
at org.eclipse.buckminster.core.reader.AbstractCatalogReader.ma terialize(AbstractCatalogReader.java:270)
at org.eclipse.buckminster.core.materializer.FileSystemMaterial izer.materialize(FileSystemMaterializer.java:268)
at org.eclipse.buckminster.core.materializer.MaterializerJob.ru n(MaterializerJob.java:70)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
!ENTRY org.eclipse.buckminster.core 4 293 2009-12-08 17:09:53.872
!MESSAGE Errors and Warnings
!STACK 1
org.eclipse.core.runtime.CoreException: Errors and Warnings
at org.eclipse.buckminster.runtime.BuckminsterException.wrap(Bu ckminsterException.java:109)
at org.eclipse.buckminster.core.materializer.MaterializationJob .internalRun(MaterializationJob.java:175)
at org.eclipse.buckminster.core.materializer.MaterializationJob .run(MaterializationJob.java:144)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Contains: [0003] : java.io.IOException: The system cannot find the path specified
java.io.IOException: The system cannot find the path specified
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.checkAndCreate(Unknown Source)
at java.io.File.createTempFile(Unknown Source)
at java.io.File.createTempFile(Unknown Source)
at org.eclipse.buckminster.core.helpers.FileUtils.createTempFol der(FileUtils.java:492)
at org.eclipse.buckminster.pde.internal.EclipseImportReaderType .getTempSite(EclipseImportReaderType.java:279)
at org.eclipse.buckminster.pde.internal.EclipseImportReaderType .localizeContents(EclipseImportReaderType.java:693)
at org.eclipse.buckminster.pde.internal.EclipseImportReader.loc alize(EclipseImportReader.java:239)
at org.eclipse.buckminster.pde.internal.EclipseImportReader.inn erMaterialize(EclipseImportReader.java:86)
at org.eclipse.buckminster.core.reader.AbstractCatalogReader.ma terialize(AbstractCatalogReader.java:270)
at org.eclipse.buckminster.core.materializer.FileSystemMaterial izer.materialize(FileSystemMaterializer.java:268)
at org.eclipse.buckminster.core.materializer.MaterializerJob.ru n(MaterializerJob.java:70)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
!SUBENTRY 1 org.eclipse.buckminster.core 4 0 2009-12-08 17:09:53.919
!MESSAGE Errors and Warnings
!SUBENTRY 2 org.eclipse.buckminster.runtime 4 0 2009-12-08 17:09:53.919
!MESSAGE [0003] : java.io.IOException: The system cannot find the path specified
!STACK 0
java.io.IOException: The system cannot find the path specified
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.checkAndCreate(Unknown Source)
at java.io.File.createTempFile(Unknown Source)
at java.io.File.createTempFile(Unknown Source)
at org.eclipse.buckminster.core.helpers.FileUtils.createTempFol der(FileUtils.java:492)
at org.eclipse.buckminster.pde.internal.EclipseImportReaderType .getTempSite(EclipseImportReaderType.java:279)
at org.eclipse.buckminster.pde.internal.EclipseImportReaderType .localizeContents(EclipseImportReaderType.java:693)
at org.eclipse.buckminster.pde.internal.EclipseImportReader.loc alize(EclipseImportReader.java:239)
at org.eclipse.buckminster.pde.internal.EclipseImportReader.inn erMaterialize(EclipseImportReader.java:86)
at org.eclipse.buckminster.core.reader.AbstractCatalogReader.ma terialize(AbstractCatalogReader.java:270)
at org.eclipse.buckminster.core.materializer.FileSystemMaterial izer.materialize(FileSystemMaterializer.java:268)
at org.eclipse.buckminster.core.materializer.MaterializerJob.ru n(MaterializerJob.java:70)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
ERROR: Errors and Warnings
org.eclipse.core.runtime.CoreException: Errors and Warnings
at org.eclipse.buckminster.runtime.BuckminsterException.wrap(Bu ckminsterException.java:109)
at org.eclipse.buckminster.core.materializer.MaterializationJob .internalRun(MaterializationJob.java:175)
at org.eclipse.buckminster.core.materializer.MaterializationJob .run(MaterializationJob.java:144)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Contains: [0003] : java.io.IOException: The system cannot find the path specified
java.io.IOException: The system cannot find the path specified
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.checkAndCreate(Unknown Source)
at java.io.File.createTempFile(Unknown Source)
at java.io.File.createTempFile(Unknown Source)
at org.eclipse.buckminster.core.helpers.FileUtils.createTempFol der(FileUtils.java:492)
at org.eclipse.buckminster.pde.internal.EclipseImportReaderType .getTempSite(EclipseImportReaderType.java:279)
at org.eclipse.buckminster.pde.internal.EclipseImportReaderType .localizeContents(EclipseImportReaderType.java:693)
at org.eclipse.buckminster.pde.internal.EclipseImportReader.loc alize(EclipseImportReader.java:239)
at org.eclipse.buckminster.pde.internal.EclipseImportReader.inn erMaterialize(EclipseImportReader.java:86)
at org.eclipse.buckminster.core.reader.AbstractCatalogReader.ma terialize(AbstractCatalogReader.java:270)
at org.eclipse.buckminster.core.materializer.FileSystemMaterial izer.materialize(FileSystemMaterializer.java:268)
at org.eclipse.buckminster.core.materializer.MaterializerJob.ru n(MaterializerJob.java:70)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
!ENTRY org.eclipse.buckminster.core 1 293 2009-12-08 17:09:54.028
!MESSAGE TAG-ID 0003 = Query for ${plugin.id}:eclipse.feature, path: org.john.bmtest.contrib.feature:eclipse.feature$1.0.0 -> org.john.bmtest.contrib:osgi.bundle$1.0.0
INFO: TAG-ID 0003 = Query for ${plugin.id}:eclipse.feature, path: org.john.bmtest.contrib.feature:eclipse.feature$1.0.0 -> org.john.bmtest.contrib:osgi.bundle$1.0.0
|
|
| |
Re: Problems resolving from a p2 site with Buckminster 3.5 [message #502636 is a reply to message #502625] |
Wed, 09 December 2009 09:08 |
|
On 2009-12-09 09:37, John wrote:
> OK, I found out that the first problem was caused by an incorrect
> regular expression.
>
> The following solves the resolve problem:
> <locator searchPathRef="PSD-DISK"
> pattern="^org\.john\.bmtest\.(contrib|contrib\..*)" />
>
> I keep getting confused by package names that looks like a folder
> hierarchy. ;)
>
You're not the only one. The use of regexps may be powerful, but it's also a fairly obscure syntax. I'm contemplating a
solution where we allow a simpler syntax that would only expand '*' (any character any number of times) and '?' (any
character, exactly one time) and no other mystic. We could call it 'match' instead of pattern and thus get:
<locator searchPathRef="PSD-DISK" match="org.john.bmtest.contrib.*"/>
<locator searchPathRef="PSD-DISK" match="org.john.bmtest.contrib"/>
or, if you don't want to protect against contribxxx names specifically, just:
<locator searchPathRef="PSD-DISK" match="org.john.bmtest.contrib*"/>
What do you think?
> But I'm still lost with the missing path exception.
> Any help is greatly appreciated.
>
It seems the materializer is unable to create a temporary file. This suggests that you don't have write permission to
the whatever your JVM considers java.io.tmpdir to be, or that this folder simply doesn't exist.
Regards,
Thomas Hallgren
|
|
|
Re: Problems resolving from a p2 site with Buckminster 3.5 [message #502645 is a reply to message #502636] |
Wed, 09 December 2009 09:36 |
John Messages: 107 Registered: July 2009 |
Senior Member |
|
|
Hi Thomas!
Thanks for the response. See my answers below.
Quote: |
You're not the only one. The use of regexps may be powerful, but it's also a fairly obscure syntax. I'm contemplating a
solution where we allow a simpler syntax that would only expand '*' (any character any number of times) and '?' (any
character, exactly one time) and no other mystic. We could call it 'match' instead of pattern and thus get:
<locator searchPathRef="PSD-DISK" match="org.john.bmtest.contrib.*"/>
<locator searchPathRef="PSD-DISK" match="org.john.bmtest.contrib"/>
or, if you don't want to protect against contribxxx names specifically, just:
<locator searchPathRef="PSD-DISK" match="org.john.bmtest.contrib*"/>
What do you think?
|
I think that sounds like a great improvement.
I would, however, like to protect against contribxxx names
and I would also like to do this in just one line.
Something like the way it works with path matching in ANT.
Quote: | It seems the materializer is unable to create a temporary file. This suggests that you don't have write permission to
the whatever your JVM considers java.io.tmpdir to be, or that this folder simply doesn't exist.
|
I have been explicitely setting java.io.tmpdir for a long time, so I know I have write permission to that. My call to Buckminster is:
buckminster -data /temp/bmtest35-contrib/psd_workspace -S build-component.script -vmargs -Xmx768M -XX:"MaxPermSize=256M"
-D"build.plugin.id=org.john.bmtest.contrib.feature" -D"build.action=create.zip" -D"build.cquery=build-feature.cquery"
-D"java.io.tmpdir=/temp/bmtest35-contrib/psd_temp" -D"buckminster.output.root=/temp/bmtest35-contrib/psd_build "
-D"ncdbuilder.buildtype=full" -D"build.rmap.file=build-bmtest-contrib.rmap"
-D"build.disk.source.dir=/Temp/bmtest-source35-contrib" -D"build.rcp.target=\Eclipse-RCP-3.5\eclipse"
-D"cbi.include.source=false"
I have tried to do the "import features or plugins" as mentioned in the Bucky book, and it gives me a plugin project in my workspace, that looks like described. But when doing it with Buckminster I just get an empty folder.
/John
|
|
|
Re: Problems resolving from a p2 site with Buckminster 3.5 [message #502673 is a reply to message #502645] |
Wed, 09 December 2009 10:54 |
|
On 2009-12-09 10:36, John wrote:
> I have been explicitely setting java.io.tmpdir for a long time, so I
> know I have write permission to that. My call to Buckminster is:
>
> buckminster -data /temp/bmtest35-contrib/psd_workspace -S
> build-component.script -vmargs -Xmx768M -XX:"MaxPermSize=256M"
> -D"build.plugin.id=org.john.bmtest.contrib.feature"
> -D"build.action=create.zip" -D"build.cquery=build-feature.cquery"
> -D"java.io.tmpdir=/temp/bmtest35-contrib/psd_temp"
> -D"buckminster.output.root=/temp/bmtest35-contrib/psd_build "
> -D"ncdbuilder.buildtype=full" -D"build.rmap.file=build-bmtest-contrib.rmap"
> -D"build.disk.source.dir=/Temp/bmtest-source35-contrib"
> -D"build.rcp.target=\Eclipse-RCP-3.5\eclipse"
> -D"cbi.include.source=false"
>
> I have tried to do the "import features or plugins" as mentioned in the
> Bucky book, and it gives me a plugin project in my workspace, that looks
> like described. But when doing it with Buckminster I just get an empty
> folder.
>
Well, fact remains. The call that fails (from your stacktrace):
at org.eclipse.buckminster.core.helpers.FileUtils.createTempFol der(FileUtils.java:492)
does this:
tmpFile = File.createTempFile(prefix, suffix);
It's called with prefix = "bmsite" and suffix = ".tmp". The stack after that is:
java.io.IOException: The system cannot find the path specified
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.checkAndCreate(Unknown Source)
at java.io.File.createTempFile(Unknown Source)
at java.io.File.createTempFile(Unknown Source)
Which leads me to believe that something is amiss with /temp/bmtest35-contrib/psd_temp. I can't see any other reason for
that particular error.
Regards,
Thomas Hallgren
|
|
| |
Re: Problems resolving from a p2 site with Buckminster 3.5 [message #502687 is a reply to message #502682] |
Wed, 09 December 2009 12:18 |
|
Hi John,
I guess you do an import directly followed by a perform?
Try inserting a build in between. The reason is that a full workspace build is sometimes necessary to overcome
circularity problems. The perform command will only do a strictly hierarchical build.
Regards,
Thomas Hallgren
On 2009-12-09 13:02, John wrote:
> Hi Thomas!
>
>
> Thank you for insisting. :)
> As mentioned I have used this for a long time now with Buckminster 3.4.
> Actually the folder /temp/bmtest35-contrib/psd_temp doesn't exist before
> I make my call.
> This has given me reason to believe that the folder was created for me
> if needed.
> If I create the folder first the error disappears.
> I have had no problems building with Buckminster 3.4 or 3.5 before now,
> so the conclusion must be that the folder is created for me in some
> cases or that is has never been used for my builds?!
>
> Now my plugin org.john.bmtest is metarialized and the project looks like
> when imported with Eclipse.
> Unfortunately I get the error below, that Buckminster can't build my
> contrib plugin until org.john.bmtest is build.
> But this is a binary loaded from a p2 site?
> This is already usable as it is, right?
>
> Thanks.
>
>
> /John
>
> Here's the last part of the debug log:
>
> Provider eclipse.import(file:/C:/Temp/bmtest35-core/psd_build/org.joh
> n.bmtest.product_1.0.0-eclipse.feature/site.p2?importType=bi nary):
> materializing to
> C:/Temp/bmtest35-contrib/psd_workspace/plugins/org.john.bmte st/
> Project org.john.bmtest.contrib.feature now has dynamic dependencies to
> org.john.bmtest.contrib
> Project org.john.bmtest.contrib now has dynamic dependencies to
> org.john.bmtest
> INFO: Import complete.
> Doing full workspace refresh
> Waiting for jobs to end
> perform 'org.john.bmtest.contrib.feature#create.zip'
> Actions to perform (in order)
> org.john.bmtest.contrib:osgi.bundle$1.0.0#eclipse.build
> org.john.bmtest.contrib:osgi.bundle$1.0.0#target.fragments
> org.john.bmtest.contrib:osgi.bundle$1.0.0#bundle.jar
> org.john.bmtest.contrib.feature:eclipse.feature$1.0.0#manife st
> org.john.bmtest.contrib.feature:eclipse.feature$1.0.0#featur e.jar
> org.john.bmtest.contrib.feature:eclipse.feature$1.0.0#source .manifest
> org.john.bmtest.contrib.feature:eclipse.feature$1.0.0#source .feature.jar
> org.john.bmtest.contrib.feature:eclipse.feature$1.0.0#copy.f eatures
> org.john.bmtest.contrib.feature:eclipse.feature$1.0.0#copy.p lugins
> org.john.bmtest.contrib.feature:eclipse.feature$1.0.0#create .zip
> init actor: eclipse.build[org.john.bmtest.contrib:osgi.bundle$1.0.0#ecli
> pse.build]
> INFO: [start org.john.bmtest.contrib:osgi.bundle$1.0.0#eclipse.build]
> target.arch=x86
> buckminster.component=org.john.bmtest.contrib
> workspace.root=C:/Temp/bmtest35-contrib/psd_workspace
> buckminster.temp=/temp/bmtest35-contrib/psd_temp/buckminster
> /org.john.bmtest.contrib_1.0.0-osgi.bundle/temp
> buckminster.home=C:\Temp\bmtest35-contrib\psd_workspace\plug
> ins\org.john.bmtest.contrib\
> buckminster.output=/temp/bmtest35-contrib/psd_build/org.john
> .bmtest.contrib_1.0.0-osgi.bundle
> localhost=DK-0000LWM0168
> generator.buildTimestamp.format=2009-12-09T11:53:53.081+0000
> buckminster.component.type=osgi.bundle
> buckminster.version=1.0.0
> target.nl=da_DK
> target.ws=win32
> eclipse.home=C:\Temp\bm35\buckminster
> target.os=win32
> target.location=C:\Eclipse-RCP-3.5\eclipse
> Doing full workspace refresh
> Waiting for jobs to end
> The project cannot be built until its prerequisite org.john.bmtest is
> built. Cleaning and building all projects is recommended
|
|
| | |
Re: Problems resolving from a p2 site with Buckminster 3.5 [message #503294 is a reply to message #503280] |
Fri, 11 December 2009 17:02 |
|
On 2009-12-11 17:38, John wrote:
> Hi Thomas!
>
> John wrote on Wed, 09 December 2009 07:42
>> It works with a build between the import and the perform.
>> I don't think the need is related to circularity problems, though.
>> I don't have any in my simple test case.
>>
>> But the actions performed on my contrib plugin clearly didn't include
>> the org.john.bmtest, since it's imported from a p2 site.
>> I guess the need is because it's materialized in the workspace as a
>> binary project and it still needs the build action?
>
>
> I would really like to understand this, so could you please let me know
> if I understood it correctly?
>
> From the actions Buckminster produces:
>
> Quote:
>> Actions to perform (in order)
>> org.john.bmtest.contrib:osgi.bundle$1.0.0#eclipse.build
>> org.john.bmtest.contrib:osgi.bundle$1.0.0#target.fragments
>> org.john.bmtest.contrib:osgi.bundle$1.0.0#bundle.jar
>> org.john.bmtest.contrib.feature:eclipse.feature$1.0.0#manife st
>> org.john.bmtest.contrib.feature:eclipse.feature$1.0.0#featur e.jar
>> org.john.bmtest.contrib.feature:eclipse.feature$1.0.0#source .manifest
>> org.john.bmtest.contrib.feature:eclipse.feature$1.0.0#source .feature.jar
>> org.john.bmtest.contrib.feature:eclipse.feature$1.0.0#copy.f eatures
>> org.john.bmtest.contrib.feature:eclipse.feature$1.0.0#copy.p lugins
>> org.john.bmtest.contrib.feature:eclipse.feature$1.0.0#create .zip
>
>
> it's clear that it doesn't decide to build org.john.bmtest. Is this
> because it's a binary dependency downloaded from an update site?
> But adding the build command is necessary, since it doesn't work otherwise?
>
> If that's the case, shouldn't build of binary downloads also be included
> in the actions to perform?
>
If a build is necessary, yes. But is it, really? I'm not sure that that's the problem. The way I recollect import of
binaries is that they actually show up as just that, binaries, and thus doesn't have to be built.
- thomas
|
|
| | |
Re: Problems resolving from a p2 site with Buckminster 3.5 [message #517955 is a reply to message #517922] |
Tue, 02 March 2010 10:38 |
|
On 03/02/2010 03:35 PM, John wrote:
> Hi Thomas!
>
> I still have this problem. If I remove the explicit call of the build
> action I get an error with a dependency to an imported binary project
> when I execute the action on my primary feature (e.g. site.p2).
>
> Do you have any idea what I could be doing wrong or should I enter a bug
> for this?
>
Why do you consider adding a build command a problem? I consider that quite normal. You import things into your
workspace, issue a build to ensure that all eclipse related builders have executed, and then you do a perform.
- thomas
|
|
|
Re: Problems resolving from a p2 site with Buckminster 3.5 [message #518034 is a reply to message #517955] |
Tue, 02 March 2010 20:12 |
John Messages: 107 Registered: July 2009 |
Senior Member |
|
|
Hi Thomas!
Before I started using binary imports of our projects/components, I had all of them as source. By invoking the desired action on the root component, Buckminster would determine a plan, which included building the projects/components and they would be built and everything worked well.
Now that I import some of our projects/components as binaries and follow the same strategy, Buckminster seem to be of the oppinion, that since some of the projects are binary imported projects, they shouldn't be built. But then I get an error because Eclipse doesn't believe they're built (if I understand the error correct).
This indicates to me hat there is something strange going on, so I'm first of all trying to understand this.
Second, by starting with a build action of the workspace, it actually solves the problem when I ask Buckminster to perform the action on my root component. As far as I can tell, Buckminster creates the exact same plan as before, which must mean it doesn't think the binary imported projects needs a build. And since it actually works, the first build action of the workspace must have done something that makes it work.
This indicates to me that the binary imported projects needs a build. So as I see it, Buckminster eiher is incorrect in thinking that the binary imported projects doesn't need a build or there is some problem in the way that the binary imported projects are created in the workspace, since they apparently need to be built.
So I'm left with the impression that there's something odd.
/John
|
|
|
Re: Problems resolving from a p2 site with Buckminster 3.5 [message #518050 is a reply to message #518034] |
Tue, 02 March 2010 21:00 |
|
On 03/02/2010 09:12 PM, John wrote:
> This indicates to me that the binary imported projects needs a build. So
> as I see it, Buckminster eiher is incorrect in thinking that the binary
> imported projects doesn't need a build or there is some problem in the
> way that the binary imported projects are created in the workspace,
> since they apparently need to be built.
>
The reason they need to be built is to satisfy JDT and it's internal Java model. The same thing happens when you import
projects into your IDE although at that point it is triggered by events caused by changes in your workspace. This
auto-build is disabled when running a headless Buckminster build. Hence the need for a manually triggered build at a
controlled point of the whole flow. The binaries are not actually built in the sense that new artifacts are produced.
- thomas
|
|
| | | |
Goto Forum:
Current Time: Tue Sep 24 14:04:28 GMT 2024
Powered by FUDForum. Page generated in 0.06305 seconds
|