Skip to content

Adding a project to the Rascal libraries

Jurgen J. Vinju edited this page Sep 29, 2017 · 7 revisions

At https://update.rascal-mpl.org/libs/ we publish a set of Eclipse features which bundle Rascal projects that contain generic and reusable library feature or specific language support for programming languages.

To add a project to this update site, please follow the following steps:

  1. Create a Rascal project in Eclipse and add your Rascal and Java source code files.
  2. Make sure the project has a META-INF/RASCAL.MF file with the right information. If the project has a main function for example to register an Eclipse IDE language, this needs to be specified right there.
  3. Add a plugin.xml file with this extension: <extension id="rascal-ecore-library" point="rascal_eclipse.rascalLibrary"> </extension>
  4. Copy a Jenkinsfile from an existing plugin, like clair
  5. Copy a pom.xml from an existing plugin like clair and change the name of the project inside.
  6. git push your project with the new pom.xml and Jenkinsfile
  7. Go to http://ci.usethesource.io/ and edit the configuration of the SWAT organisation to include the new project name as one of the projects to search for a Jenkinsfile.
  8. Edit rascal-eclipse-libraries/pom.xml and add your new project as a module
  9. Copy -r an existing feature project to a new project: cp -r rascal-eclipse-libraries/clair rascal-eclipse-libraries/my-project
  10. Edit `rascal-eclipse-libraries/my-project/feature.xml to contain the right information
  11. git commit -am "added new feature"; git push
  12. Done.

If your project contains Java code then it is imperative to have configured build.properties in such a way that:

  1. All Rascal source files en up in the jar in a sub-folder called src
  2. All class files end up in the top-level jar

Example build.properties file:

bin.includes = META-INF/,\
               src/,\
               plugin.xml,\
               LICENSE,\
               CITATION,\
               .
source.. = src/