Skip to main content

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

Hi, Benoit,

Thanks for taking the time to play with this!

I'm not in a position at the moment to look into the exceptions that you got in #1 (I never actually tried installing the Modeling EPP) and #2, but for #3 I can tell you that I'm already working on a bit of a re-design (prompted by Ed) that should help with this.

The next iteration will have common git repository, Mylyn, and PDE Target content in the root "Papyrus" Oomph-project so that you should be able to install just an extra component and have it compile against the Papyrus nightly build in the PDE Target, without actually loading all of the core plug-in projects into the workspace.

I'm not sure what the steps are to add new EPPs to the central Oomph catalogue; I expect that all EPPs published by Eclipse would end up in there.  If Papyrus ships an EPP on a side channel, then it would always be possible to drop an Oomph model of it locally on your system as with the Papyrus model that is currently in development.  Not ideal, but we'll take it one step at a time.

Splitting up the main project is, of course, feasible but then it's a usability issue for anyone who wants to install all of them, that they must all be added in the wizard.  :-)  And what are the boundaries of those components?  The dependencies are not always as well defined as we would like.  This probably needs some more thought ...

Stay tuned!

Christian


On Jul 7, 2014, at 10:23 AM, MAGGI Benoit Intérimaire <Benoit.MAGGI@xxxxxx> wrote:

Hi Christian,
 
I just tried Oomph with your model and managed to get an environment working.
I looks pretty cool and seems to offer a lot of opportunities but I ran into some issues :
 
1)      I got an exception with “Eclipse Modeling Tool” as main Product
ð  see OomphPapyrusFailedModelingCore.txt
2)      While following your video (except cloning the git repo) I got an OutOfBoundException
ð   see Oomph Installer_OutOfBoundException
3)      I tried to install only an extra-plugin (Moka) but I got a workspace with compilation problems                
ð  probably because we don’t have any papyrus product entry
 
I also have some remarks :
-          My first installation (without cloning the git repository) took 20/30 min (+15 min for “build all”)
ð  For a new guy hopping to contribute, it will take at least one hour to get the environment working.
-          Is it possible to have an official Papyrus product  on the wizard first page ?
-          I would prefer to split the Main project in sub projects : infra, uml, sysml…  
 
My main concern is for the thirds issue because it will be a normal use case : contributing to an extra  without coding in Papyrus main.
 
Regards,
Benoit
 
 
De : mdt-papyrus.dev-bounces@xxxxxxxxxxx [mailto:mdt-papyrus.dev-bounces@xxxxxxxxxxx] De la part de Christian W. Damus
Envoyé : lundi 7 juillet 2014 04:24
À : Papyrus Project list
Objet : [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
 

 

 
<OomphPapyrusFailedModelingCore.txt><Oomph Installer_OutOfBoundException.png>_______________________________________________
mdt-papyrus.dev mailing list
mdt-papyrus.dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/mdt-papyrus.dev


Back to the top