The implementation of the Rascal meta-programming language (including interpreter, type checker, parser generator, compiler and JVM based run-time system)
[x] Clicking links in REPL opens editors and websites
[x] rascal>1 + 1 on the REPL
[x] import IO; println("Hello Rascal!");
[x] in editor, click on use of name jumps to definition
[x] jump-to-definition also works to library modules and inside library modules
[x] clicking in outline jumps to editor to right position
[x] syntax highlighting in editor works
[x] add dependency on another project by editing RASCAL.MF: Required-Libraries: |lib://otherProject|, import a module and test the type-checker as well as the interpreter for correct resolution
[x] import demo::lang::Pico::Plugin; registerPico(); and test the editor of the example pico files (syntax highlighting, menu options)
[x] release rascal project (when resolving SNAPSHOT dependencies choose the right versions of vallang etc, and make sure to bump the new rascal SNAPSHOT release one minor version)
[x] release rascal-eclipse project (take care to choose the right release versions of typepal and rascal-core you release earlier and choose their new SNAPSHOT dependencies to the latest)
[ ] change the configuration of the stable version in update-site-nexus-link-script/refresh-nexus-data to the released version
Preliminaries
Pre-releasing dependent tools in unstable
First a "pre-release" of the supporting compiler/typechecker tools must be done, so we know we are releasing a consistently compiled standard library.
Manual version checks
Manual feature tests
[x] Eclipse download and install latest unstable release from update site https://releases.usethesource.io/maven/org/rascalmpl/rascal-update-site/
[x] Open a Rascal REPL using the toolbar button
[x] Can create new Rascal project using the wizard
[x] Can create new Rascal module using the wizard
[x] Can edit Rascal file in Rascal project
[x] Save on Rascal file triggers type-checker
[x] Rascal outline works
[x] Rascal navigator works
[x] Rascal navigator displays working sets
[x] Rascal navigator displays interpreter's search path
[x] Clicking links in REPL opens editors and websites
[x]
rascal>1 + 1
on the REPL[x]
import IO; println("Hello Rascal!");
[x] in editor, click on use of name jumps to definition
[x] jump-to-definition also works to library modules and inside library modules
[x] clicking in outline jumps to editor to right position
[x] syntax highlighting in editor works
[x] add dependency on another project by editing
RASCAL.MF
:Required-Libraries: |lib://otherProject|
, import a module and test the type-checker as well as the interpreter for correct resolution[x]
import demo::lang::Pico::Plugin; registerPico();
and test the editor of the example pico files (syntax highlighting, menu options)[x]
import demo::lang::Pico::Plugin; rascal>:edit demo::lang::Pico::Plugin
Actual release
[x] release rascal project (when resolving SNAPSHOT dependencies choose the right versions of vallang etc, and make sure to bump the new rascal SNAPSHOT release one minor version)
[x] release rascal-eclipse project (take care to choose the right release versions of typepal and rascal-core you release earlier and choose their new SNAPSHOT dependencies to the latest)
[ ] change the configuration of the stable version in
update-site-nexus-link-script/refresh-nexus-data
to the released version[ ] test the stable update site at https://update.rascal-mpl.org/stable
[x] write release notes and publish on the usethesource.io blog
Downstream implications
The following items can be executed asynchronously, but are nevertheless not to be forgotten: