[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [buckminster-dev] Different builds using Buckminster
|
Mikhail Kadan wrote:
Hi.
I understood your approaches, but both of them are similar in one way -
I have to manually package my sources into jars, and then feed them to
Updater/target platform, to be sure they have actual code.Of course
this can be performed automatically for example on night build.
But I wanted to know, is there a possibility to implement such a
behaviour using Buckminster:
1) take all sources from SVN (so the most actual sources are taken)
2) put some of them to local workspace (which sources to put must be
marked somehow)
3) package the rest to jars
4) put this jars to target platform or somewhere else (it doesn't
matter) - the reason of this step is to make them somehow VISIBLE to Ecipse
I would suggest that you create a top-level component that contains a
buckminster.cspec and an ant build script.
You let the buckminster.cspec list dependencies to all the bundles that
you want to include and you then create an action that collects their
sources into a jar. The prerequisites to this action must list the
'eclipse.build.source' of each bundle that you want to include.
The action could look something like this:
<cs:public name="gather.source" actor="ant">
<cs:actorProperties>
<cs:property key="buildFileId" value="buckminster.pdetasks"/>
<cs:property key="targets" value="create.zip"/>
</cs:actorProperties>
<cs:prerequisites alias="action.requirements">
<cs:attribute name="eclipse.build.source" component="x.y.1"/>
<cs:attribute name="eclipse.build.source" component="x.y.2"/>
<cs:attribute name="eclipse.build.source" component="x.y.3"/>
</cs:prerequisites>
<cs:products alias="action.output" base="generated/">
<cs:path path="source.zip"/>
</cs:products>
</cs:public>
This approach requires the absolute latest version of Buckminster found
at http://download.eclipse.org/tools/buckminster/updates-3.4. In
previous versions, the 'eclipse.build.source' attribute was private.
Regards,
Thomas Hallgren
Thanks.
2008/5/22, Thomas Hallgren <thomas@xxxxxxx <mailto:thomas@xxxxxxx>>:
Hi Mikhail,
One way of accomplishing what you talk about here is to maintain an
update site where you publish some stable collection of the plug-ins
that you develop. You can then use an RMAP that appoints this update
site using a reader of type "eclipse.import". What it does is
essentially importing the binary plug-ins into your workspace.
Another way to resolve this is to define a target platform that is
pre-configured with the binaries and have the customization team use
that target platform as the base for their builds.
The sources is a different matter. Buckminster doesn't provide any
special support for creating jars with sources in them. I would
recommend that you do this the same way it's done by the Eclipse
platform. They create specific source bundles that use an extension
point to automatically connect the respective sources to their
corresponding binary.
Regards,
Thomas Hallgren
Mikhail Kadan wrote:
Hi.
Let's assume such situation: I have some Eclipse plugins in SVN
in source form. I need to gather them together to compose a
working project.
I can easily get them all in my workspace using simple CQUERY.
It will be perfect for our developers team, as they need to see
all the sources and need to modify them often.
But we also have customization team, which don't need all of the
source projects in the workspace - it would be preferable for
them to pack each project into jar, include sources in it (for
debugging purposes, but not for modification) and put all this
jars somewhere together, so the project will be composed
properly, but there will be minimal set of subprojects in the
workspace.
Is it possible to complete with Buckminster? I've read
Buckminster documentation, but only way to partially complete
this seems to add action to each Eclipse plugin (using CSPEX),
which will create .jar from plugin (and include sources in it).
I have two questions then:
1) How can I call this action automatically? I think maybe
"pre-bind" action will work there?
1) How can I gather this jars together or make Eclipse
understand where to look for them? Is there any standart
implementation for this?
Thanks.
_______________________________________________
buckminster-dev mailing list
buckminster-dev@xxxxxxxxxxx <mailto:buckminster-dev@xxxxxxxxxxx>
https://dev.eclipse.org/mailman/listinfo/buckminster-dev