Skip to main content

[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





Back to the top