Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[mdt-papyrus.dev] Papyrus Oomph Setup Model has Gone to Mars

Hi, Team,

Pursuant to Camille's git branch and releng changes for Luna maintenance and the Mars development stream, the Oomph Papyrus model is now updated for Mars.

The setup model now defines two streams:

  • master — this is the Mars development stream
  • streams/1.0-maintenance — this is the Luna 1.0.x maintenance stream

To configure an IDE for Mars development, you should:

  • select either Luna or Mars version of the base package on which to build your IDE in the first page of the setup wizard.  Either should work, at least for now.  Historically it has been a dicey proposition to have an earlier release of PDE and other tooling work on a PDE Target comprising development builds of a later release, so YMMV
  • in the second page, select the "master" stream of the Papyrus projects that you wish to import from Git
  • in the variables page, make sure that the Target Platform variable is set to Mars.  You may have to engage the "Show all variables" check-box to access this variable.  This is important, as it determines which p2 repositories are accessed to download the various Papyrus dependencies into your PDE Target

For now, the setup model pulls the Mars nightly builds of Papyrus into your PDE Target directly from the Papyrus HIPP build's artifacts.  This will change once we start pushing nightly Mars builds to download.eclipse.org.

To configure an IDE for Luna maintenance development, you should:

  • select the Luna or Mars version of the base package on which to build your IDE in the first page of the setup wizard.  If Mars cannot work with a Luna version of the PDE Target, then that's a problem, because most tools should be able to target past releases.  Certainly PDE and EMF can ...
  • in the second page, select the "streams/1.0-maintenance" stream of the Papyrus projects that you wish to import from Git
  • in the variables page, make sure that the Target Platform variable is set to Luna.  You may have to engage the "Show all variables" check-box to access this variable.  This is important, as it determines which p2 repositories are accessed to download the various Papyrus dependencies into your PDE Target

The next time you re-run your setup, you *should* just get the same version of the PDE Target content as before because you should still be on the Luna target platform.  But, you may want to go back a page in the wizard to check your Target Platform variable first, just to be sure.

The Mylyn Builds queries in the setup model now include the master branch builds from the Tycho-based builds on the Papyrus HIPP instance.

A further note for the releng maintainers:  the org.eclipse.papyrus.releng.tools plug-in is enhanced to add updating of the Papyrus dependencies' repository URLs in the papyrus.setup model from a B3 aggregation spec.  This works much as for updating the dependencies in Maven POMs and before that in the Buckminster RMap files.  Please, when updating the POMs, take a moment also to update the papyrus.setup also so that developers will get the same dependencies in the PDE Targets as the builds are using.  It's the same context-menu action on the papyrus.setup file in the Project Explorer.

Unlike the RMaps and POMs, the setup updater tool looks for annotations on the repository elements in the targlets, rather than XML comments.  This is because editing the setup model in the Oomph setup editor loses comments.  The textual syntax is slightly different, to feel a bit more like annotation source URIs.  So, if you add a new sub-project to the Papyrus setup model, and it needs a Targlet definition to add some PDE Target content, be sure to account for the need to update the repository URL from the aggregation spec in the same fashion as existing components.  Note that only the master stream has the updateFrom annotations; maintenance streams for earlier releases are "frozen" on the corresponding R0 repositories, or would have to be updated manually on an individual basis as needed/

As an example, this is what the entire targlet definition for the CDO Integration "extra" component looks like:

         <targlet
             name="Papyrus CDO Dependencies"
             activeRepositoryList="${eclipse.target.platform}">
           <requirement
               name="org.eclipse.emf.cdo.sdk.feature.group"/>
           <repositoryList
               name="Mars">
             <repository
                 url=""http://download.eclipse.org/modeling/emf/cdo/drops/R20140610-0212">http://download.eclipse.org/modeling/emf/cdo/drops/R20140610-0212">
               <annotation
                   source="updateFrom:EMF CDO:0"/>
             </repository>
           </repositoryList>
           <repositoryList
               name="Luna">
             <repository
                 url=""/>
           </repositoryList>
         </targlet>
       </setupTask>

Enjoy,

Christian


Back to the top