Skip to content

Remove std scheme - #2828

Open
toinehartman wants to merge 38 commits into
mainfrom
feature/2817-remove-std-scheme/2819-pathconfig
Open

Remove std scheme#2828
toinehartman wants to merge 38 commits into
mainfrom
feature/2817-remove-std-scheme/2819-pathconfig

Conversation

@toinehartman

@toinehartman toinehartman commented Jul 16, 2026

Copy link
Copy Markdown
Member

Closes #2819.
Closes #2821.
Closes #2820.
Closes #2825.
Closes #2822.
Closes #2830.

toinehartman and others added 2 commits July 15, 2026 11:17
Part of #2819.

Co-authored-by: Rodin Aarssen <rodin.aarssen@swat.engineering>
@toinehartman toinehartman self-assigned this Jul 16, 2026
@codecov

codecov Bot commented Jul 16, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 41.17647% with 50 lines in your changes missing coverage. Please review.
✅ Project coverage is 45%. Comparing base (16abf95) to head (2faf2c6).
⚠️ Report is 66 commits behind head on main.

Files with missing lines Patch % Lines
src/org/rascalmpl/library/util/PathConfig.java 39% 20 Missing and 9 partials ⚠️
src/org/rascalmpl/uri/URIUtil.java 35% 5 Missing and 4 partials ⚠️
src/org/rascalmpl/library/util/Reflective.java 40% 2 Missing and 1 partial ⚠️
...c/org/rascalmpl/shell/AbstractCommandlineTool.java 0% 2 Missing ⚠️
src/org/rascalmpl/shell/ShellEvaluatorFactory.java 50% 2 Missing ⚠️
...rascalmpl/uri/file/MavenRepositoryURIResolver.java 33% 1 Missing and 1 partial ⚠️
...nterpreter/load/SourceLocationListContributor.java 0% 1 Missing ⚠️
...ascalmpl/repl/completers/RascalQualifiedNames.java 0% 1 Missing ⚠️
...mpl/uri/remote/jsonrpc/SourceLocationResponse.java 0% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff            @@
##              main   #2828     +/-   ##
=========================================
- Coverage       46%     45%     -1%     
- Complexity    6776    6797     +21     
=========================================
  Files          844     843      -1     
  Lines        67103   68796   +1693     
  Branches     10022   10030      +8     
=========================================
+ Hits         30903   31344    +441     
- Misses       33828   35073   +1245     
- Partials      2372    2379      +7     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@toinehartman

toinehartman commented Jul 16, 2026

Copy link
Copy Markdown
Member Author

toinehartman and others added 5 commits July 15, 2026 10:32
This removes `std://` locations in the published Rascal JARs, in favor
of `mvn://` pointing to this specific released version. Closes #2820.

Closes #2820.
Co-authored-by: Rodin Aarssen <rodin.aarssen@swat.engineering>
Part of #2819.

Co-authored-by: Rodin Aarssen <rodin.aarssen@swat.engineering>
Closes #2821.

Co-authored-by: Rodin Aarssen <rodin.aarssen@swat.engineering>
@toinehartman
toinehartman force-pushed the feature/2817-remove-std-scheme/2819-pathconfig branch from 47dfb34 to aac53b3 Compare July 17, 2026 10:12
@toinehartman
toinehartman changed the base branch from feature/2817-remove-std-scheme/final to main July 17, 2026 10:16
@toinehartman toinehartman changed the title Remove std scheme from path configs Remove std scheme Jul 17, 2026
This was referenced Jul 17, 2026
@toinehartman
toinehartman force-pushed the feature/2817-remove-std-scheme/2819-pathconfig branch from 5dbea58 to 34d136f Compare July 17, 2026 10:51
toinehartman and others added 2 commits July 17, 2026 12:58
Closes #2825.

Co-authored-by: Rodin Aarssen <rodin.aarssen@swat.engineering>
Closes #2822.

Co-authored-by: Rodin Aarssen <rodin.aarssen@swat.engineering>
@toinehartman
toinehartman force-pushed the feature/2817-remove-std-scheme/2819-pathconfig branch from 34d136f to 64173b4 Compare July 17, 2026 11:00
@toinehartman
toinehartman force-pushed the feature/2817-remove-std-scheme/2819-pathconfig branch 2 times, most recently from 3a90d49 to 6d18180 Compare July 28, 2026 16:17
Comment thread src/org/rascalmpl/interpreter/load/IRascalSearchPathContributor.java Outdated
Comment thread src/org/rascalmpl/interpreter/load/URIContributor.java Outdated
Comment thread src/org/rascalmpl/library/util/PathConfig.java
Comment thread src/org/rascalmpl/library/util/PathConfig.java Outdated
Comment thread src/org/rascalmpl/uri/file/MavenRepositoryURIResolver.java
Comment thread src/org/rascalmpl/uri/remote/jsonrpc/SourceLocationResponse.java
@toinehartman

toinehartman commented Aug 25, 2026

Copy link
Copy Markdown
Member Author

mvn rascal:console in Bird IDE (on this branch, after installing Bird Core): ✅

[INFO] --- rascal:0.31.0:console (default-cli) @ bird-ide ---
[INFO] The Rascal runtime was resolved at C:\Users\toine\.m2\repository\org\rascalmpl\rascal\0.43.1-RC13-SNAPSHOT\rascal-0.43.1-RC13-SNAPSHOT.jar
[INFO] pom.xml: Rascal version is 0.43.1-RC13-SNAPSHOT
[INFO] pom.xml: Project root is |file:///C:/Users/toine/swat/projects/bird/bird-ide/|
[INFO] pom.xml: Bin folder   is |file:///C:/Users/toine/swat/projects/bird/bird-ide/target/classes|
[INFO] pom.xml: Source module path is:
  - |mvn://org.rascalmpl--rascal--0.43.1-rc13-snapshot/org/rascalmpl/library|
  - |mvn://org.rascalmpl--rascal-lsp--2.22.6-snapshot|
  - |file:///C:/Users/toine/swat/projects/bird/bird-core/src/main/rascal|
  - |mvn://org.rascalmpl--typepal--0.17.0/src|
  - |file:///C:/Users/toine/swat/projects/bird/bird-ide/src/main/rascal|
[INFO] pom.xml: Library module (and classes) path is:
  - |mvn://org.rascalmpl--rascal--0.43.1-rc13-snapshot|
  - |mvn://org.rascalmpl--rascal-lsp--2.22.6-snapshot|
  - |file:///C:/Users/toine/swat/projects/bird/bird-core/|
  - |file:///C:/Users/toine/swat/projects/bird/bird-core/target/classes|
  - |mvn://org.rascalmpl--typepal--0.17.0|
  - |mvn://junit--junit--4.13.1|
  - |mvn://org.hamcrest--hamcrest-core--1.3|
2026-08-25T13:02:00.042740100Z main ERROR Log4j API could not find a logging provider.
rascal>import List;
ok
rascal>toSet
set[&T] (list[&T]): function(|mvn://org.rascalmpl--rascal--0.43.1-rc13-snapshot/List.rsc|(22094,373,<855,0>,<873,33>))
rascal>toSet([1, 2, 3]);
set[int]: {1,3,2}

@toinehartman

toinehartman commented Aug 25, 2026

Copy link
Copy Markdown
Member Author

java -jar on Bird IDE (same context as above): ✅

$ java -jar ../../Rascal/rascal/target/rascal-0.43.1-RC13-SNAPSHOT.jar 
[INFO] pom.xml: Rascal version is 0.43.1-RC13-SNAPSHOT
[INFO] pom.xml: Project root is |file:///C:/Users/toine/swat/projects/bird/bird-ide/|
[INFO] pom.xml: Bin folder   is |file:///C:/Users/toine/swat/projects/bird/bird-ide/target/classes|
[INFO] pom.xml: Source module path is:
  - |mvn://org.rascalmpl--rascal--0.43.1-rc13-snapshot/org/rascalmpl/library|
  - |mvn://org.rascalmpl--rascal-lsp--2.22.6-snapshot|
  - |file:///C:/Users/toine/swat/projects/bird/bird-core/src/main/rascal|
  - |mvn://org.rascalmpl--typepal--0.17.0/src|
  - |file:///C:/Users/toine/swat/projects/bird/bird-ide/src/main/rascal|
[INFO] pom.xml: Library module (and classes) path is:
  - |mvn://org.rascalmpl--rascal--0.43.1-rc13-snapshot|
  - |mvn://org.rascalmpl--rascal-lsp--2.22.6-snapshot|
  - |file:///C:/Users/toine/swat/projects/bird/bird-core/|
  - |file:///C:/Users/toine/swat/projects/bird/bird-core/target/classes|
  - |mvn://org.rascalmpl--typepal--0.17.0|
  - |mvn://junit--junit--4.13.1|
  - |mvn://org.hamcrest--hamcrest-core--1.3|
2026-08-25T13:10:35.797067Z main ERROR Log4j API could not find a logging provider.
rascal>import List;
ok
rascal>toSet
set[&T] (list[&T]): function(|mvn://org.rascalmpl--rascal--0.43.1-rc13-snapshot/List.rsc|(22094,373,<855,0>,<873,33>))
rascal>toSet([1, 2, 3]);
set[int]: {1,3,2}

@toinehartman

toinehartman commented Aug 25, 2026

Copy link
Copy Markdown
Member Author

java -jar in folder without Rascal project: ✅

$ java -jar Rascal/rascal/target/rascal-0.43.1-RC13-SNAPSHOT.jar 
[ERROR] META-INF/RASCAL.MF: Source folder |file:///C:/Users/toine/swat/projects/src| does not exist.
[INFO] pom.xml: Rascal version is 0.43.1-RC13-SNAPSHOT
[WARNING] pom.xml: No Rascal dependency found in pom.xml. Using jar+file:///C:/Users/toine/swat/projects/Rascal/rascal/target/rascal-0.43.1-RC13-SNAPSHOT.jar!/ instead.
[INFO] pom.xml: Project root is |file:///C:/Users/toine/swat/projects/|
[INFO] pom.xml: Bin folder   is |file:///C:/Users/toine/swat/projects/target/classes|
[INFO] pom.xml: Source module path is:
  - |jar+file:///C:/Users/toine/swat/projects/Rascal/rascal/target/rascal-0.43.1-RC13-SNAPSHOT.jar!/org/rascalmpl/library|
  - |file:///C:/Users/toine/swat/projects/src|
[INFO] pom.xml: Library module (and classes) path is:
  - |jar+file:///C:/Users/toine/swat/projects/Rascal/rascal/target/rascal-0.43.1-RC13-SNAPSHOT.jar!/|
rascal>import List;
ok
rascal>toSet
set[&T] (list[&T]): function(|jar+file:///C:/Users/toine/swat/projects/Rascal/rascal/target/rascal-0.43.1-RC13-SNAPSHOT.jar!/List.rsc|(22094,373,<855,0>,<873,33>))
rascal>toSet([1, 2, 3]);
set[int]: {1,3,2}

@DavyLandman

Copy link
Copy Markdown
Member

[WARNING] pom.xml: No Rascal dependency found in pom.xml. Using jar+file:///C:/Users/toine/swat/projects/Rascal/rascal/target/rascal-0.43.1-RC13-SNAPSHOT.jar!/ instead.

that is a bit weird of a message in the "no rascal project" case? Like why is it searching for rascal, we already have a rascal version, namely the one on the CP?

@toinehartman

Copy link
Copy Markdown
Member Author

This message is generated at the time of computing the path config. Since there are no known dependencies (because: not a Rascal project), at this time the Rascal from the class path is used instead, and this warning is generated at the same time. It was meant for Rascal projects that have a pom.xml, but are missing the Rascal dependency.

Since that should be solved in LSP instead (first attempt), I agree that this message should not be shown here at all.

@DavyLandman DavyLandman left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, I have a few small notes that requires a bit more thought.

Comment thread src/org/rascalmpl/interpreter/load/IRascalSearchPathContributor.java Outdated
Comment thread src/org/rascalmpl/compiler/lang/rascalcore/check/TestConfigs.rsc
Comment thread src/org/rascalmpl/library/util/PathConfig.java Outdated
Comment thread src/org/rascalmpl/library/util/PathConfig.java
Comment thread src/org/rascalmpl/library/util/PathConfig.java Outdated
Comment thread src/org/rascalmpl/library/index.md Outdated
Comment thread src/org/rascalmpl/shell/ShellEvaluatorFactory.java Outdated
Comment thread test/org/rascalmpl/test/util/URIUtilTests.java
Comment thread .git-blame-ignore-revs Outdated
Comment thread pom.xml Outdated
@toinehartman
toinehartman force-pushed the feature/2817-remove-std-scheme/2819-pathconfig branch 2 times, most recently from c7b7463 to 673001d Compare August 26, 2026 06:50
@toinehartman
toinehartman force-pushed the feature/2817-remove-std-scheme/2819-pathconfig branch from e3bf3e2 to 4c9b303 Compare August 26, 2026 15:00
@toinehartman

toinehartman commented Aug 26, 2026

Copy link
Copy Markdown
Member Author

Rebased this branch to get rid of some ugly commits and all the intermediate release stuff. There were some reverted commits and an attempt to exclude those from git blame. Rebased and force-pushed from e3bf3e2 to 8a9150c. Proof that nothing changed unintentionally:

$ git diff e3bf3e2 8a9150c
diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs
index eb431e4e11..d556b15bdc 100644
--- a/.git-blame-ignore-revs
+++ b/.git-blame-ignore-revs
@@ -14,7 +14,3 @@ a004c2604cef592975f60a572c4a03491b2f7971
 # Revert and re-application of a merge commit
 3d5369b35a00bddc085d722010baf329580b1c68
 b277ae88b653f039b576717f8d9ecd56e5dbd2fe
-
-# Reverts of commits
-9775112e739b03fb292f01d5303d50031e267322
-371fec8d66014bf75f46937ad67633190ac6037b

After the rebase, I added 4c9b303 (which does introduce changes). Therefore, the force-push shows that commit as endpoint.

rodinaarssen and others added 2 commits August 27, 2026 16:55
Co-authored-by: Toine Hartman <toine.hartman@swat.engineering>
Co-authored-by: Toine Hartman <toine.hartman@swat.engineering>
@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment