Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[mdt-papyrus.dev] Oomph model for Papyrus

Hi, Team,

I have developed an initial Oomph model for Papyrus that provides a complete Eclipse IDE for working on the Papyrus sources. This model defines several projects:

  • Main - the main Papyrus sources. You should always import this Oomph project
  • Extras/* - the extra components sources. Import any of these Oomph projects only if you need to work on those extra components
  • Developer - the development-time code generation tools and debugging aids

that each have two different streams:

  • maintenance (Luna/1.0.x) - for SR1 development, until we branch it and master is taken over for Mars
  • master (Mars/1.1) - a sketch of what the Mars stream would look like once we have branched Luna maintenance and Papyrus’s dependencies have started publishing milestone builds towards Mars release

For now, the Luna maintenance stream is the default choice because that is the only active stream in the Papyrus repository (it actually is master) and the Mars stream isn’t actually functional because it guesses at what p2 repositories of project dependencies will be that don’t yet exist. Be sure, if you import both the main and extras Oomph projects, that you import the same stream of each.

So, when using this Oomph model to import Papyrus, you can only reasonably choose the Luna maintenance stream (which is the default selection).

Both of these streams are configured to perform the following setup tasks:

  • install various tools in the host workbench required for development of the Papyrus code, including:
    • Eclipse (of course)
    • EMF Ecore Tools for editing Ecore models
    • UML2 for editing UML models
    • Papyrus for editing our developer documentation models but also because the QVTo editor requires it for resolving Papyrus metamodels in the customization model generation transforms: QVTo doesn’t resolve these dependencies in the PDE target (as it should) but instead in the installed IDE
    • Mylyn for working with Git, Bugzilla, Gerrit, and Hudson builds
    • m2e for working with Maven POMs etc.
    • SWTBot for recording automated UI test cases
    • Oomph for running setup tasks
  • clone the Papyrus git repository into the location of your choice if it has not already been cloned
  • define a complete PDE target for all of the Papyrus codebase, including both main and “extra” plug-ins
    • features and plug-ins required by Papyrus
    • the latest Papyrus nightly build from the appropriate stream (so that you don’t have to have all of the Papyrus source projects open in your workspace)
  • import all of the currently active Papyrus main plug-in projects into the workspace from the git repository (and the extra components if you also imported any of those Oomph sub-projects)
  • Mylyn queries for:
    • Open bugs in bugzilla
    • Open enhancement requests in bugzilla
    • Resolved items in bugzilla
    • Bugzilla items that are flagged for review (the review? flag)
    • All open Gerrit reviews
    • Hudson builds:
      • Papyrus trunk nightly
      • Papyrus trunk nightly tests
      • Papyrus trunk extras nightly
      • Papyrus trunk extras nightly tests
  • working sets to organize all of the Papyrus main sources (and the extra components if you imported any of those Oomph sub-projects)
  • workspace-wide preferences, including:
    • the Papyrus code formatter profile
    • the Papyrus copyright header and possibly other templates
    • J2SE 1.6 compliance for compilation

You can see a short(ish) video of this Oomph model in action, here:


and you can try it out for yourself by running the Oomph installer on the setup model in the new org.eclipse.papyrus.oomph project in Git master:

releng/org.eclipse.papyrus.oomph/setups/papyrus.setup

If you have any feed-back or suggestions of content to change or add in this model, please comment on the bugzilla:  


When we deem this model sufficiently ready for the community at large to start using it to provision their workbenches for contributing to Papyrus, then I'll work with the Oomph team to add it to the official project catalogue.

Thanks,

Christian





Back to the top