Home » Archived » Buckminster » Materializing target platform
Materializing target platform [message #387650] |
Tue, 07 July 2009 12:04  |
Eclipse User |
|
|
|
Hi,
now that I have managed to successfully materialize all the plug-ins for
my RCP application into my workspace, I'd love to go further.
First item of order is to materialize the target platform.
The only mentions in the newsgroups and out there on the web only
mention this as a passing item, so I must be missing something very obvious.
How do I start so that I will be able to materialize the target platform
(in the eclipse/osgi sense).
--
Roland
|
|
|
Re: Materializing target platform [message #387651 is a reply to message #387650] |
Tue, 07 July 2009 14:59   |
Eclipse User |
|
|
|
Hi Roland,
Materializing the target platform is not that much different from
materializing source code. You would start by defining a CQUERY for the
component (typically an eclipse.feature) that you want to have in your
target platform. In your RMAP, you can use the eclipse.import reader to
resolve that from a regular (p2) update site:
<provider readerType="eclipse.import"
componentTypes="eclipse.feature,osgi.bundle"
mutable="false"
source="false">
<uri
format=" http://www.somewhere.org/path/to/update/site?importType=bina ry"/>
</provider>
Finally, you must use the "p2" materializer and specify an installLocation
in your MSPEC. Repeat the process for all features you want to have in your
target platform. That's it. :-)
Some final notes:
* You should use the following advisory node in your CQUERY to prevent
Buckminster from resolving components that are already in your workspace or
in your current target platform:
<cq:advisorNode namePattern=".*" useTargetPlatform="false"
useWorkspace="false" />
* Instead of resolving multiple features sequentially, you can also define
your own target platform component with a CSPEC and resolve everything in
one go. Mine looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<cs:cspec xmlns:cs="http://www.eclipse.org/buckminster/CSpec-1.0"
name="base.target.platform" componentType="buckminster" version="1.5.0">
<cs:dependencies>
<cs:dependency name="org.eclipse.emf.emfqtv.all.sdk"
componentType="eclipse.feature" versionDesignator="[1.3.0,2.0.0)"/>
<cs:dependency name="org.eclipse.emf.sdk"
componentType="eclipse.feature" versionDesignator="[2.5.0,3.0.0)"/>
<cs:dependency name="org.eclipse.gef.sdk"
componentType="eclipse.feature" versionDesignator="[3.5.0,4.0.0)"/>
<cs:dependency name="org.eclipse.gmf.sdk"
componentType="eclipse.feature" versionDesignator="[2.2.0,3.0.0)"/>
<cs:dependency name="org.eclipse.ocl.all.sdk"
componentType="eclipse.feature" versionDesignator="[1.3.0,2.0.0)"/>
<cs:dependency name="org.eclipse.sdk"
componentType="eclipse.feature" versionDesignator="[3.5.0,4.0.0)"/>
<cs:dependency name="org.eclipse.uml2.sdk"
componentType="eclipse.feature" versionDesignator="[3.0.0,4.0.0)"/>
<cs:dependency name="org.eclipse.xpand.sdk"
componentType="eclipse.feature" versionDesignator="[0.7.0,1.0.0)"/>
<cs:dependency name="org.eclipse.xsd.sdk"
componentType="eclipse.feature" versionDesignator="[2.5.0,3.0.0)"/>
</cs:dependencies>
</cs:cspec>
However, the p2 materializer cannot deal with components of type
Buckminster, so you'll have to add this line to your MSPEC:
<md:mspecNode namePattern=".*" componentType="buckminster"
exclude="true"/>
HTH,
Achim
Roland Tepp wrote:
> Hi,
>
> now that I have managed to successfully materialize all the plug-ins for
> my RCP application into my workspace, I'd love to go further.
>
> First item of order is to materialize the target platform.
>
> The only mentions in the newsgroups and out there on the web only
> mention this as a passing item, so I must be missing something very
> obvious.
>
> How do I start so that I will be able to materialize the target platform
> (in the eclipse/osgi sense).
>
|
|
|
Re: Materializing target platform [message #387652 is a reply to message #387650] |
Tue, 07 July 2009 15:05   |
Eclipse User |
|
|
|
Hi Roland,
I'm not sure if you're talking about a target platform in the sense of
the platform you build your plugins against, or materializing an eclipse
product.
For the first case, Thomas gave me some great insight here:
http://dev.eclipse.org/mhonarc/lists/buckminster-dev/msg0085 5.html
For the later case you might want to have a look at the RCP MailApp
tutorial in the buckminster SVN.
If you're interesting in adding that kind of build to a CI system, I'm
about the write a tutorial for that for the Hudson CI server. I just
need to add some stuff to the Buckminster PlugIn for Hudson first so it
will take a few days, but I'll post in the newsgroup once I'm done.
Best regards,
Johannes
Roland Tepp schrieb:
> Hi,
>
> now that I have managed to successfully materialize all the plug-ins for
> my RCP application into my workspace, I'd love to go further.
>
> First item of order is to materialize the target platform.
>
> The only mentions in the newsgroups and out there on the web only
> mention this as a passing item, so I must be missing something very
> obvious.
>
> How do I start so that I will be able to materialize the target platform
> (in the eclipse/osgi sense).
>
|
|
|
Re: Materializing target platform [message #387739 is a reply to message #387652] |
Mon, 13 July 2009 04:35   |
Eclipse User |
|
|
|
Hey, thanks for all the great answers.
I was initially interested in materializing the target platform to the
workspace to build and develop against, but the second option of
building the RCP product is also on the plate and I'll be waiting for
Your installment on that :)
7.07.2009 22:05, Johannes Utzig kirjutas:
> Hi Roland,
>
> I'm not sure if you're talking about a target platform in the sense of
> the platform you build your plugins against, or materializing an eclipse
> product.
> For the first case, Thomas gave me some great insight here:
> http://dev.eclipse.org/mhonarc/lists/buckminster-dev/msg0085 5.html
>
> For the later case you might want to have a look at the RCP MailApp
> tutorial in the buckminster SVN.
> If you're interesting in adding that kind of build to a CI system, I'm
> about the write a tutorial for that for the Hudson CI server. I just
> need to add some stuff to the Buckminster PlugIn for Hudson first so it
> will take a few days, but I'll post in the newsgroup once I'm done.
>
> Best regards,
> Johannes
>
> Roland Tepp schrieb:
>> Hi,
>>
>> now that I have managed to successfully materialize all the plug-ins
>> for my RCP application into my workspace, I'd love to go further.
>>
>> First item of order is to materialize the target platform.
>>
>> The only mentions in the newsgroups and out there on the web only
>> mention this as a passing item, so I must be missing something very
>> obvious.
>>
>> How do I start so that I will be able to materialize the target
>> platform (in the eclipse/osgi sense).
>>
|
|
|
Re: Materializing target platform [message #467869 is a reply to message #387652] |
Mon, 03 August 2009 05:10   |
Eclipse User |
|
|
|
Hi Johannes,
I have one last question about Target platform materrialization.
I want to materialize the TP into the running eclipse workspace.
I managed to materialize the workspace via File->Import... but there are
few questions I want to ask.
The MSPEC has a property reference:
installLocation="${targetPlatformPath}"
Is there any way I could use eclipse properties (e.g. ${workspace_loc})
as defaults for that property (or if I can use these directly) so that
they would be automagically expanded to the real paths?
Also - I get to materialize the TP, but I'd like to set this TP in the
running workspace as well. Do I have to create the build.xml to do that
or can I somehow force the materialization to set up the target platform
as a separate (or same) step from the Eclipse UI?
(come to think of that - I kind of like the build.xml idea - I could do
the TP materialization and workspace materialization in one sweeping
step...)
7.07.2009 22:05, Johannes Utzig kirjutas:
> Hi Roland,
>
> I'm not sure if you're talking about a target platform in the sense of
> the platform you build your plugins against, or materializing an eclipse
> product.
> For the first case, Thomas gave me some great insight here:
> http://dev.eclipse.org/mhonarc/lists/buckminster-dev/msg0085 5.html
>
> For the later case you might want to have a look at the RCP MailApp
> tutorial in the buckminster SVN.
> If you're interesting in adding that kind of build to a CI system, I'm
> about the write a tutorial for that for the Hudson CI server. I just
> need to add some stuff to the Buckminster PlugIn for Hudson first so it
> will take a few days, but I'll post in the newsgroup once I'm done.
>
> Best regards,
> Johannes
>
> Roland Tepp schrieb:
>> Hi,
>>
>> now that I have managed to successfully materialize all the plug-ins
>> for my RCP application into my workspace, I'd love to go further.
>>
>> First item of order is to materialize the target platform.
>>
>> The only mentions in the newsgroups and out there on the web only
>> mention this as a passing item, so I must be missing something very
>> obvious.
>>
>> How do I start so that I will be able to materialize the target
>> platform (in the eclipse/osgi sense).
>>
|
|
| |
Re: Materializing target platform [message #467908 is a reply to message #467897] |
Mon, 03 August 2009 07:14  |
Eclipse User |
|
|
|
3.08.2009 13:29, Thomas Hallgren kirjutas:
>> I have one last question about Target platform materrialization.
>>
>> I want to materialize the TP into the running eclipse workspace.
>>
> I'm confused. You either have things in the TP or in the workspace, i.e.
> you can import (materialize) binaries into your workspace or into a TP.
> Also, you use the term "running" which makes me think about the running
> Eclipse instance (which incidentally is the default TP). The term
> "running workspace" is confusing.
>
> You have:
> 1. The current workspace
> 2. The current target platform
> 3. The running instance (can be used as a target platform)
>
> Can you please clarify what it is you want to materialize into?
>
Okay, I guess I used a bit confusing terminology here...
Basically I want to use Buckminster for easier setup of the eclipse
workspace (that would be first step at least).
As we are building our product against an older Eclipse (3.2 to be
precise) the first thing I need to materialize is the target platform.
I want to be able from the "ru8nning insance" of eclipse to materialize
the target platform into the local filesystem and set the "current
workspace" to use this materialized TP as "current target platform".
Did that make any sense?
>> Is there any way I could use eclipse properties (e.g.
>> ${workspace_loc}) as defaults for that property (or if I can use these
>> directly) so that they would be automagically expanded to the real paths?
>>
> You can use ${workspace.root} to reference the root folder of the
> workspace. That's the folder where the workspace meta-data resides but
> not necessarily the folder for the physical project directories.
>
Thanks - that sounds like it :)
|
|
|
Goto Forum:
Current Time: Sat Jul 19 05:29:40 EDT 2025
Powered by FUDForum. Page generated in 0.04571 seconds
|