Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 431133

Summary: Publish target platform definitions that downsteam projects can reuse
Product: [Modeling] Sirius Reporter: Pierre-Charles David <pierre-charles.david>
Component: RelengAssignee: Pierre-Charles David <pierre-charles.david>
Status: CLOSED FIXED QA Contact: Maxime Porhel <maxime.porhel>
Severity: normal    
Priority: P3 CC: maxime.porhel
Version: 1.0.0M6Keywords: triaged
Target Milestone: 1.0.0M7   
Hardware: All   
OS: All   
Whiteboard:

Description Pierre-Charles David CLA 2014-03-25 11:59:00 EDT
As part of the build we should publish *.targetplatform files at an HTTP-accessible location that downstream projects can reference and reuse if they want to build against Sirius.
Comment 1 Pierre-Charles David CLA 2014-03-25 12:06:36 EDT
For each update-site we publish, we could also publish the sirius_xxx.targetplatform file we used for the build as sirius-deps_xxx.targetplatform, and a separate sirius.targetplatform which references the content of the build.

This shows that the current naming of our targets is not ideal: sirius_juno.targetplatform for example is not "Juno with Sirius" as the name would imply, but the dependencies needed to build Sirius on top of Juno.

Also, publishing the second file, sirius.targetplatform, requires knowing the URL through which it will be exposed. Should it reference an exact build ID (e.g. nightly/1.0.0-N201403250900), a branch (e.g. nightly/1.0.x), or  just point to the latest (e.g. nightly/lastest)?
Comment 2 Pierre-Charles David CLA 2014-04-03 08:42:51 EDT
See commit 1f03ee4238990ae51fbe86ba2d53db0c6c6d539b for a first iteration.
Comment 3 Pierre-Charles David CLA 2014-04-03 10:18:34 EDT
The nightly builds' promotion script now publishes all the target definitions and the targets themselves at http://download.eclipse.org/sirius/updates/nightly/targets/

Downstream projects can do something like this:

include "http://download.eclipse.org/sirius/updates/nightly/targets/sirius_kepler.targetplatform"

in their *.targetplatform files to include the same dependencies as the ones used by Sirius. They can also pick specific dependencies from http://download.eclipse.org/sirius/updates/nightly/targets/modules if they do now want/need everything.
Comment 4 Pierre-Charles David CLA 2014-04-22 04:06:27 EDT
Moving to M7 as this is actually mostly finished.
Comment 5 Pierre-Charles David CLA 2014-04-24 09:51:46 EDT
Fixed here, and validated with downstream (internal) projects which now use targets generated using these published definitions.
Comment 6 Pierre-Charles David CLA 2014-05-12 03:45:35 EDT
Available in Sirius 1.0.0M7 (see https://wiki.eclipse.org/Sirius/1.0.0M7 & http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/tag/?id=v1.0.0M7).