Home » Archived » Buckminster » Show Log View dependencies
Show Log View dependencies [message #489077] |
Thu, 01 October 2009 12:56 |
Bob Walker Messages: 31 Registered: July 2009 |
Member |
|
|
Hi,
I tried to add the Error Log View according to Lars Vogel's tutorial here:
http://www.vogella.de/blog/2009/08/17/eclipse-rcp-error-view/
This builds and runs against my locally defined target platform, which basically contains the RCP SDK and PDE
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.5"?>
<target name="Base RCP (Binary Only)">
<locations>
<location includeAllPlatforms="false" includeMode="planner" type="InstallableUnit">
<unit id="org.eclipse.pde.feature.group" version="3.5.1.R35x_v20090811-7Z7_F9zFDX-aT6Ywvh8_S93"/>
<repository location="http://download.eclipse.org/releases/galileo"/>
</location>
<location includeAllPlatforms="false" includeMode="planner" type="InstallableUnit">
<unit id="org.eclipse.rcp.sdk.id" version="3.5.1.M20090917-0800"/>
<repository location="http://download.eclipse.org/releases/galileo"/>
</location>
</locations>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86</arch>
<nl>en</nl>
</environment>
</target>
but won't build with buckminster on my build machine, which has an mspec/cquery for RCP SDK, PDE, and Equinox Executable.
I get this error:
[ant] Cannot complete the install because one or more required items could not be found.
[ant] Software being installed: My Manager 0.0.1 (my.manager.product 0.0.1)
[ant] Missing requirement: my.manager 1.0.0.200910010833 requires 'bundle org.eclipse.ui.views.log 1.0.100' but it could not be found
[ant] Cannot satisfy dependency:
[ant] From: My Manager 0.0.1 (my.manager.product 0.0.1)
[ant] To: my.manager.product.feature.feature.group [1.0.0.200910010833-7J7O_8cKL4k-84NN_QTUeeFHQaD_]
[ant] Cannot satisfy dependency:
[ant] From: My Manager Core 1.0.0.200910010833-7J7O_8cKL4k-84NN_QTUeeFHQaD_ (my.manager.product.feature.feature.group 1.0.0.200910010833-7J7O_8cKL4k-84NN_QTUeeFHQaD_)
[ant] To: my.manager 1.0.0
[ant] Application failed, log file location: C:\Program Files\eclipse\buckminster3.5\configuration\1254400429763.log
The log contains the following:
!SESSION 2009-10-01 06:19:31.884 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_13
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments: -application org.eclipse.equinox.p2.director -artifactRepository file:/D:/Data/JavaBuilds/Hudson/jobs/MyManager/workspace/buckminster.output/my.manager.product.feature_1.0.0-eclipse.feature/site.p2/ -metadataRepository file:/D:/Data/JavaBuilds/Hudson/jobs/MyManager/workspace/buckminster.output/my.manager.product.feature_1.0.0-eclipse.feature/site.p2/ -destination D:\Data\JavaBuilds\Hudson\jobs\MyManager\workspace\buckminster.output\my.manager.product.feature_1.0.0-eclipse.feature\MyManager -bundlepool D:\Data\JavaBuilds\Hudson\jobs\MyManager\workspace\buckminster.output\my.manager.product.feature_1.0.0-eclipse.feature\MyManager -profile MyManagerProfile -profileProperties org.eclipse.update.install.features=true -installIU my.manager.product -p2.os win32 -p2.ws win32 -p2.arch x86
Command-line arguments: -application org.eclipse.equinox.p2.director -artifactRepository file:/D:/Data/JavaBuilds/Hudson/jobs/MyManager/workspace/buckminster.output/my.manager.product.feature_1.0.0-eclipse.feature/site.p2/ -metadataRepository file:/D:/Data/JavaBuilds/Hudson/jobs/MyManager/workspace/buckminster.output/my.manager.product.feature_1.0.0-eclipse.feature/site.p2/ -destination D:\Data\JavaBuilds\Hudson\jobs\MyManager\workspace\buckminster.output\my.manager.product.feature_1.0.0-eclipse.feature\MyManager -bundlepool D:\Data\JavaBuilds\Hudson\jobs\MyManager\workspace\buckminster.output\my.manager.product.feature_1.0.0-eclipse.feature\MyManager -profile MyManagerProfile -profileProperties org.eclipse.update.install.features=true -installIU my.manager.product -p2.os win32 -p2.ws win32 -p2.arch x86 -consoleLog
!ENTRY org.eclipse.equinox.p2.director 4 1 2009-10-01 06:19:34.696
!MESSAGE Cannot complete the install because one or more required items could not be found.
!SUBENTRY 1 org.eclipse.equinox.p2.director 4 0 2009-10-01 06:19:34.696
!MESSAGE Software being installed: My Manager 0.0.1 (my.manager.product 0.0.1)
!SUBENTRY 1 org.eclipse.equinox.p2.director 4 0 2009-10-01 06:19:34.696
!MESSAGE Missing requirement: my.manager 1.0.0.200910010605 requires 'bundle org.eclipse.ui.views.log 1.0.100' but it could not be found
!SUBENTRY 1 org.eclipse.equinox.p2.director 4 1 2009-10-01 06:19:34.696
!MESSAGE Cannot satisfy dependency:
!SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2009-10-01 06:19:34.696
!MESSAGE From: my.manager.plugin.security 1.0.0.200910010605
!SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2009-10-01 06:19:34.696
!MESSAGE To: bundle my.manager 0.0.0
!SUBENTRY 1 org.eclipse.equinox.p2.director 4 1 2009-10-01 06:19:34.696
!MESSAGE Cannot satisfy dependency:
!SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2009-10-01 06:19:34.696
!MESSAGE From: My Manager 0.0.1 (my.manager.product 0.0.1)
!SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2009-10-01 06:19:34.696
!MESSAGE To: my.manager.product.feature.feature.group [1.0.0.200910010619-7J7O_8cKL4k-84NN_QTUeeFHQaD_]
!SUBENTRY 1 org.eclipse.equinox.p2.director 4 1 2009-10-01 06:19:34.696
!MESSAGE Cannot satisfy dependency:
!SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2009-10-01 06:19:34.696
!MESSAGE From: My Manager Core 1.0.0.200910010619-7J7O_8cKL4k-84NN_QTUeeFHQaD_ (my.manager.product.feature.feature.group 1.0.0.200910010619-7J7O_8cKL4k-84NN_QTUeeFHQaD_)
!SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2009-10-01 06:19:34.696
!MESSAGE To: my.manager.plugin.security [1.0.0.200910010605]
Usign the BOM dependency viewer locally for my PDE cquery, it reports the following unresolvable nodes for org.eclipse.ui.views.log:
org.eclipse.ui.ide
org.eclipse.core.filesystem
org.eclipse.equinox.registry
org.eclipse.core.runtime.compatibility.auth
but I have plugins for all of those present in my target platform, and I can see the build output clearly resolving those from my target platform earlier in the build.
Any clues where I should be looking, and for that matter, what for?
Regards,
Bob
|
|
|
Re: Show Log View dependencies [message #489088 is a reply to message #489077] |
Thu, 01 October 2009 13:12 |
|
Hi Bob,
I'm afraid I need a little more detail.
How do you build the update site? How is the dependency from your product to the missing bundle described? You say it
won't build, but apparently it is built but won't install.
Would it be possible for you to provide a sample?
Regards,
Thomas Hallgren
On 10/01/2009 02:56 PM, Bob Walker wrote:
> Hi,
>
> I tried to add the Error Log View according to Lars Vogel's tutorial here:
>
> http://www.vogella.de/blog/2009/08/17/eclipse-rcp-error-view /
>
> This builds and runs against my locally defined target platform, which
> basically contains the RCP SDK and PDE
>
>
> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> <?pde version="3.5"?>
>
> <target name="Base RCP (Binary Only)">
> <locations>
> <location includeAllPlatforms="false" includeMode="planner"
> type="InstallableUnit">
> <unit id="org.eclipse.pde.feature.group"
> version="3.5.1.R35x_v20090811-7Z7_F9zFDX-aT6Ywvh8_S93"/>
> <repository location="http://download.eclipse.org/releases/galileo"/>
> </location>
> <location includeAllPlatforms="false" includeMode="planner"
> type="InstallableUnit">
> <unit id="org.eclipse.rcp.sdk.id" version="3.5.1.M20090917-0800"/>
> <repository location="http://download.eclipse.org/releases/galileo"/>
> </location>
> </locations>
> <environment>
> <os>win32</os>
> <ws>win32</ws>
> <arch>x86</arch>
> <nl>en</nl>
> </environment>
> </target>
>
>
> but won't build with buckminster on my build machine, which has an
> mspec/cquery for RCP SDK, PDE, and Equinox Executable.
> I get this error:
>
>
> [ant] Cannot complete the install because one or more required items
> could not be found.
> [ant] Software being installed: My Manager 0.0.1 (my.manager.product 0.0.1)
> [ant] Missing requirement: my.manager 1.0.0.200910010833 requires
> 'bundle org.eclipse.ui.views.log 1.0.100' but it could not be found
> [ant] Cannot satisfy dependency:
> [ant] From: My Manager 0.0.1 (my.manager.product 0.0.1)
> [ant] To: my.manager.product.feature.feature.group
> [1.0.0.200910010833-7J7O_8cKL4k-84NN_QTUeeFHQaD_]
> [ant] Cannot satisfy dependency:
> [ant] From: My Manager Core
> 1.0.0.200910010833-7J7O_8cKL4k-84NN_QTUeeFHQaD_
> (my.manager.product.feature.feature.group
> 1.0.0.200910010833-7J7O_8cKL4k-84NN_QTUeeFHQaD_)
> [ant] To: my.manager 1.0.0
> [ant] Application failed, log file location: C:\Program
> Files\eclipse\buckminster3.5\configuration\1254400429763.log
>
>
> The log contains the following:
>
>
> !SESSION 2009-10-01 06:19:31.884
> -----------------------------------------------
> eclipse.buildId=unknown
> java.version=1.6.0_13
> java.vendor=Sun Microsystems Inc.
> BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
> Framework arguments: -application org.eclipse.equinox.p2.director
> -artifactRepository
> file:/D:/Data/JavaBuilds/Hudson/jobs/MyManager/workspace/buc kminster.output/my.manager.product.feature_1.0.0-eclipse.fea ture/site.p2/
> -metadataRepository
> file:/D:/Data/JavaBuilds/Hudson/jobs/MyManager/workspace/buc kminster.output/my.manager.product.feature_1.0.0-eclipse.fea ture/site.p2/
> -destination
> D:\Data\JavaBuilds\Hudson\jobs\MyManager\workspace\buckminst er.output\my.manager.product.feature_1.0.0-eclipse.feature\M yManager
> -bundlepool
> D:\Data\JavaBuilds\Hudson\jobs\MyManager\workspace\buckminst er.output\my.manager.product.feature_1.0.0-eclipse.feature\M yManager
> -profile MyManagerProfile -profileProperties
> org.eclipse.update.install.features=true -installIU my.manager.product
> -p2.os win32 -p2.ws win32 -p2.arch x86
> Command-line arguments: -application org.eclipse.equinox.p2.director
> -artifactRepository
> file:/D:/Data/JavaBuilds/Hudson/jobs/MyManager/workspace/buc kminster.output/my.manager.product.feature_1.0.0-eclipse.fea ture/site.p2/
> -metadataRepository
> file:/D:/Data/JavaBuilds/Hudson/jobs/MyManager/workspace/buc kminster.output/my.manager.product.feature_1.0.0-eclipse.fea ture/site.p2/
> -destination
> D:\Data\JavaBuilds\Hudson\jobs\MyManager\workspace\buckminst er.output\my.manager.product.feature_1.0.0-eclipse.feature\M yManager
> -bundlepool
> D:\Data\JavaBuilds\Hudson\jobs\MyManager\workspace\buckminst er.output\my.manager.product.feature_1.0.0-eclipse.feature\M yManager
> -profile MyManagerProfile -profileProperties
> org.eclipse.update.install.features=true -installIU my.manager.product
> -p2.os win32 -p2.ws win32 -p2.arch x86 -consoleLog
>
> !ENTRY org.eclipse.equinox.p2.director 4 1 2009-10-01 06:19:34.696
> !MESSAGE Cannot complete the install because one or more required items
> could not be found.
> !SUBENTRY 1 org.eclipse.equinox.p2.director 4 0 2009-10-01 06:19:34.696
> !MESSAGE Software being installed: My Manager 0.0.1 (my.manager.product
> 0.0.1)
> !SUBENTRY 1 org.eclipse.equinox.p2.director 4 0 2009-10-01 06:19:34.696
> !MESSAGE Missing requirement: my.manager 1.0.0.200910010605 requires
> 'bundle org.eclipse.ui.views.log 1.0.100' but it could not be found
> !SUBENTRY 1 org.eclipse.equinox.p2.director 4 1 2009-10-01 06:19:34.696
> !MESSAGE Cannot satisfy dependency:
> !SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2009-10-01 06:19:34.696
> !MESSAGE From: my.manager.plugin.security 1.0.0.200910010605
> !SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2009-10-01 06:19:34.696
> !MESSAGE To: bundle my.manager 0.0.0
> !SUBENTRY 1 org.eclipse.equinox.p2.director 4 1 2009-10-01 06:19:34.696
> !MESSAGE Cannot satisfy dependency:
> !SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2009-10-01 06:19:34.696
> !MESSAGE From: My Manager 0.0.1 (my.manager.product 0.0.1)
> !SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2009-10-01 06:19:34.696
> !MESSAGE To: my.manager.product.feature.feature.group
> [1.0.0.200910010619-7J7O_8cKL4k-84NN_QTUeeFHQaD_]
> !SUBENTRY 1 org.eclipse.equinox.p2.director 4 1 2009-10-01 06:19:34.696
> !MESSAGE Cannot satisfy dependency:
> !SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2009-10-01 06:19:34.696
> !MESSAGE From: My Manager Core
> 1.0.0.200910010619-7J7O_8cKL4k-84NN_QTUeeFHQaD_
> (my.manager.product.feature.feature.group
> 1.0.0.200910010619-7J7O_8cKL4k-84NN_QTUeeFHQaD_)
> !SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2009-10-01 06:19:34.696
> !MESSAGE To: my.manager.plugin.security [1.0.0.200910010605]
>
>
> Usign the BOM dependency viewer locally for my PDE cquery, it reports
> the following unresolvable nodes for org.eclipse.ui.views.log:
> org.eclipse.ui.ide
> org.eclipse.core.filesystem
> org.eclipse.equinox.registry
> org.eclipse.core.runtime.compatibility.auth
>
> but I have plugins for all of those present in my target platform, and I
> can see the build output clearly resolving those from my target platform
> earlier in the build.
>
> Any clues where I should be looking, and for that matter, what for?
>
> Regards,
>
> Bob
|
|
|
Re: Show Log View dependencies [message #489114 is a reply to message #489077] |
Thu, 01 October 2009 14:31 |
Bob Walker Messages: 31 Registered: July 2009 |
Member |
|
|
Hi Thomas,
Thanks for getting back to me.
Sorry I didn't distinguish between building and installing - I just meant it in terms of a build job that I have setup that fails.
I'm building the update site with Johannes' Hudson plugin, but I get the same results from the command line. My build is still pretty close to the MailApp example with the setup described in his wiki (http:// wiki.eclipse.org/Building_an_RCP_application_with_hudson_(Bu ckminster))
Basically, I resolve a target platform in a separate step, then resolve a cquery for my product feature, then call create.product.zip in my product feature.
I define the dependency in my application's main plugin - this is the skeleton of my RCP application and has the following Require-Bundle entry:
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
org.eclipse.core.databinding;bundle-version="1.2.0",
org.eclipse.jface.databinding;bundle-version="1.3.0",
org.eclipse.ui.views.log;bundle-version="1.0.100"
It is the last entry that makes the difference between a working installation and a broken one.
As per Mailapp, this plugin is contained within a feature that is the single feature that describes my product.
I'll try to get an example together, but I'm a bit short of time at the moment.
Thanks for your input, much appreciated.
Regards,
Bob
|
|
|
Re: Show Log View dependencies [message #489119 is a reply to message #489114] |
Thu, 01 October 2009 14:37 |
Johannes Utzig Messages: 329 Registered: July 2009 |
Senior Member |
|
|
Hi Bob,
is it possible that you simply forgot to include
org.eclipse.ui.views.log into the list of included plugins of the
feature that defines your product?
Because that what it sounds like to me...
Best regards,
Johannes
Bob Walker schrieb:
> Hi Thomas,
> Thanks for getting back to me.
>
> Sorry I didn't distinguish between building and installing - I just
> meant it in terms of a build job that I have setup that fails.
> I'm building the update site with Johannes' Hudson plugin, but I get the
> same results from the command line. My build is still pretty close to
> the MailApp example with the setup described in his wiki
> ( http://wiki.eclipse.org/Building_an_RCP_application_with_hud son_(Buckminster))
>
>
> Basically, I resolve a target platform in a separate step, then resolve
> a cquery for my product feature, then call create.product.zip in my
> product feature.
> I define the dependency in my application's main plugin - this is the
> skeleton of my RCP application and has the following Require-Bundle entry:
> Require-Bundle: org.eclipse.ui,
> org.eclipse.core.runtime,
> org.eclipse.core.databinding;bundle-version="1.2.0",
> org.eclipse.jface.databinding;bundle-version="1.3.0",
> org.eclipse.ui.views.log;bundle-version="1.0.100"
>
>
> It is the last entry that makes the difference between a working
> installation and a broken one.
>
> As per Mailapp, this plugin is contained within a feature that is the
> single feature that describes my product.
>
> I'll try to get an example together, but I'm a bit short of time at the
> moment.
>
> Thanks for your input, much appreciated.
>
> Regards,
>
> Bob
|
|
| |
Re: Show Log View dependencies [message #489213 is a reply to message #489138] |
Thu, 01 October 2009 20:08 |
Johannes Utzig Messages: 329 Registered: July 2009 |
Senior Member |
|
|
Hi Bob,
the problem is that there are 2 separate things involved here:
Buckminster, which builds a p2 Repository from your feature and the p2
director which assembles a product from a repository. That buckminster
invokes p2 for you doesn't change the fact that it's 2 different tools.
Buckminster knows that you declared a dependency to the log view and is
able to retrieve it, so it can build your update site/p2 repository for
you without producing an error.
But you only have a dependency to the log view, you did not include it
into the output. Now this feature is perfectly valid and can be
installed into a platform that fullfills any missing depenencies (i.e.
the log view).
But now you invoke p2 director and tell it to assemble a product from
this feature.
The director application examines your features and bundles and
recognizes that not all dependencies are satisfied.
To sum it up, for a feature this is absolutely valid because a feature
does not need to contain all its dependencies, but for a product, it is not.
Is that maybe clearer?
best regards,
Johannes
Bob Walker schrieb:
> Johannes,
>
> I think that's exactly what I forgot, thanks!
>
> With the benefit of hindsight this is totally obvious, but coming at it
> from the angle I was, I found it very confusing. I don't think I had
> picked up on the relationship between the required plugins/included
> features in the Feature and the required plugins for the Plugin itself.
> To my mind - the fact that I had declared a dependency in my plugin was
> enough for it to be reconciled into my built product.
> Now I see that my feature needs to declare that this should be included
> because it doesn't exists in the RCP and Equinox Executable features
> included as per the example, but it wasn't clear from the IDE that I
> needed to do this, nor was the Buckminster output clear that this was
> the root cause.
> Any suggestions as to how this can be made clearer?
>
> Thanks again and best regards,
>
> Bob
|
|
|
Re: Show Log View dependencies [message #489237 is a reply to message #489213] |
Fri, 02 October 2009 00:42 |
Henrik Lindberg Messages: 2509 Registered: July 2009 |
Senior Member |
|
|
Good explanation.
An alternative is to run the director against an aggregated repository
that consists of the repository you produced + the repositories where
all the "missing" bundles are. The director is then able to resolve the
"missing" pieces from the additional repositories that you aggregated.
The Buckminster aggregator can be used to create such a repository.
You can do all kinds of cool stuff with this. You can for instance:
- create an aggregated (and appropriately filtered) repository
containing all the things that developers in you organization may use
when they are creating products. (Useful as the foundation for the
target platform used to build against).
- create an aggregated repository out of all your organization's product
repositories + the blessed "platform repository".
- create different zipped products from the final mega repository
etc. etc.
The best approach depends on the complexity of what you are building. If
you only have one product, you can just as well include "missing pieces"
directly into the repository you are producing. If you have several
teams building several products (or a base product with extensions) you
probably benefit from using aggregated repositories.
regards
- henrik
On 10/1/09 10:08 PM, Johannes Utzig wrote:
> Hi Bob,
>
> the problem is that there are 2 separate things involved here:
> Buckminster, which builds a p2 Repository from your feature and the p2
> director which assembles a product from a repository. That buckminster
> invokes p2 for you doesn't change the fact that it's 2 different tools.
> Buckminster knows that you declared a dependency to the log view and is
> able to retrieve it, so it can build your update site/p2 repository for
> you without producing an error.
> But you only have a dependency to the log view, you did not include it
> into the output. Now this feature is perfectly valid and can be
> installed into a platform that fullfills any missing depenencies (i.e.
> the log view).
> But now you invoke p2 director and tell it to assemble a product from
> this feature.
> The director application examines your features and bundles and
> recognizes that not all dependencies are satisfied.
> To sum it up, for a feature this is absolutely valid because a feature
> does not need to contain all its dependencies, but for a product, it is
> not.
> Is that maybe clearer?
>
> best regards,
> Johannes
>
> Bob Walker schrieb:
>> Johannes,
>>
>> I think that's exactly what I forgot, thanks!
>>
>> With the benefit of hindsight this is totally obvious, but coming at
>> it from the angle I was, I found it very confusing. I don't think I
>> had picked up on the relationship between the required
>> plugins/included features in the Feature and the required plugins for
>> the Plugin itself. To my mind - the fact that I had declared a
>> dependency in my plugin was enough for it to be reconciled into my
>> built product.
>> Now I see that my feature needs to declare that this should be
>> included because it doesn't exists in the RCP and Equinox Executable
>> features included as per the example, but it wasn't clear from the IDE
>> that I needed to do this, nor was the Buckminster output clear that
>> this was the root cause.
>> Any suggestions as to how this can be made clearer?
>>
>> Thanks again and best regards,
>>
>> Bob
|
|
|
Goto Forum:
Current Time: Wed Feb 05 14:08:38 GMT 2025
Powered by FUDForum. Page generated in 0.03186 seconds
|