Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Papyrus PapyGame

PapyGame

PapyGame is a gamification extension for Papyrus, i.e. modeling becomes a game. See more information on the PapyGame home page.

Installation instructions

PapyGame can either be added to an existing Eclipse or Papyrus installation by using the PapyGame update site. Use the standard mechanisms to install SW from an update site (Help -> Install New Software -> Use the "Add..." button to add the Update Site)

Alternatively, you might want to install ready-to use binary available for Windows, Linux or MacOS, a so-called RCP available here

Development guidelines

PapyGame follows the same guidelines as the development of Papyrus itself. These are available in the Papyrus developer guide. A subsection clarifies how-to contribute the developed code.

Git

The source code can be found in the PapyGame git, the linked website offers several options to clone it.

Local development

The git repository does not contain several libraries that are required for PapyGame. These are also not part of Eclipse and do not come with a P2 update-site. For local compilation using Eclipse, the following maven command automatically creates a lib folder within the papygame plugin and will copy the required libraries (from maven central) inside.

mvn clean verify -Declipse.targetrelease=2021-12

The papygame plugin also depends on Papyrus and UML2 plugins that are not automatically installed, when you import the plugin into your workspace. Therefore, a user should also install Papyrus for local development. The source code should work with all Eclipse version starting from 2021-12 (and likely also with some that are older).

Once the plugin compiles, it can be tested "as usual" in an Eclipse development: start a 2nd Eclipse instance that takes the workspace plugins into account.

Build

The build of the PapyGame plugins (not the Gamification engine) is done by the Eclipse CI infrastructure, see PapyGame CI view. There a several jobs.

  • A nightly build job that schedules a new build each day
  • A gerrit build job that is scheduled when changes are pushed to git, See [1], a general mechanism to manage proposed patches.
  • A specific job PapyGame-Gerrit-Test that produces an update-site and an installable RCP (an archived Eclipse installation having all extensions). This build gets triggered, when a developer uses test specific topic “Test”, for instance via
git push origin HEAD:refs/for/master/Test

It may be possible to add additional build jobs with additional topics.

A Papyrus committer can verify the quality of the committed patch and eventually merge it into the git repository. It is possible to refine patches with subsequent amendments (git --amend) and eventually out update-site or RCP by using the "Test" gerrit job.

Back to the top