-
Notifications
You must be signed in to change notification settings - Fork 79
How to make a release of a Rascal implemenation project
Jurgen J. Vinju edited this page Jun 21, 2022
·
3 revisions
Note that continuous unstable releases are produced by the build server at http://ci.usethesource.io producing continuous releases at http://nexus.usethesource.io/content/repositories/snapshots/
- This holds for projects like vallang, typepal, rascal, rascal-eclipse, etc. Each "release" described here is for a single project.
- Releasing a stable release of Rascal is done by registering an issue with the Rascal project with the "Release" template. A full TODO list is contained in that issue template.
The following steps produce a new consolidated and bundled jar file on the nexus repository at http://nexus.usethesource.io/content/repositories/releases/. We assume you have configured maven by providing passwords for this server in your settings.xml
.
- First assume you have released all the dependencies correctly already , including capsule and vallang.
-
cd yourRascalCloneDirectory
* -
git pull
to find out nothing has changed since your last test run and the continuous integration build. If something did change, it's time to reconsider your plan for a stable release. -
mvn release:prepare
and give the release a version number and the new target version as well. You have to choose the stable version of things these projects depend on as well. Pick carefully! - then to clean up you have to:
mvn release:clean
- the deploy will now run on the Github Actions server, and will appear on nexus on completion
Releasing Rascal-eclipse
- Take the above steps in your rascal-eclipse clone
- TODO: manual steps to unzip the update site and publish it on usethesource.io and rascalmpl.org
Releasing rascal-vscode-extension
- Set proper version information in package.json
- Create release issue from the template on the rascal-language-servers project on github
- Go through all the steps in the issue template
- `cd rascal-lsp; mvn release:prepare
git tag vNewVersion
git push --tags
- the deploy will now run on the Github Actions server, and will appear on the MS VScode extension marketplace automatically on success