Skip to content

Commit 6f4f55e

Browse files
committed
Merge branch 'main' into adopt-tutor-code
2 parents 224dcb9 + e0bfa4d commit 6f4f55e

239 files changed

Lines changed: 9016 additions & 8916 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.git-blame-ignore-revs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# List of commits that shouldn't be included in `git blame`.
2+
# Github and other tools already support it if it's this exact filename
3+
# But you have to teach your own git about this by running this command (in this repo)
4+
# git config blame.ignoreRevsFile .git-blame-ignore-revs
5+
6+
# indent fix for JSON
7+
31b1031ade5d84f9c60e30d17da3b55e78d291fb
8+
9+
# fixing tabs & spaces mixed
10+
0d048e15683740b5c944be5333ec0680df825e47
11+
23ec4b622bbe503ef013be5a458e45ae6fd89b97
12+
200b0352084be9435c64aa60c550edd24a59131b

.github/workflows/build.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ on:
88
pull_request:
99
branches:
1010
- main
11+
- 'feat/*'
1112
env:
1213
MAVEN_OPTS: "-Xmx4G -Dhttps.protocols=TLSv1.2 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true"
1314

@@ -113,6 +114,22 @@ jobs:
113114
env:
114115
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
115116

117+
- name: prepare-unshaded
118+
if: startsWith(github.ref, 'refs/tags/')
119+
run: sed -i 's#<artifactId>rascal</artifactId>#<artifactId>rascal-unshaded</artifactId>#' pom.xml
120+
121+
- name: Deploy unshaded jar
122+
if: startsWith(github.ref, 'refs/tags/v')
123+
uses: usethesource/releases-maven-action@v1
124+
with:
125+
maven-username: ${{ secrets.RELEASE_MAVEN_USERNAME }}
126+
maven-password: ${{ secrets.RELEASE_MAVEN_PASSWORD }}
127+
maven-local-port: ${{ secrets.RELEASE_MAVEN_LOCAL_PORT }}
128+
ssh-hostname: ${{ secrets.RELEASE_SSH_SERVER }}
129+
ssh-known-host: ${{ secrets.RELEASE_SSH_KNOWN_HOSTS }}
130+
ssh-username: ${{ secrets.RELEASE_SSH_USERNAME }}
131+
ssh-private-key: ${{ secrets.RELEASE_SSH_PRIVATE_KEY }}
132+
maven-options: -Punshaded -Drascal.compile.skip -Drascal.tutor.skip -DskipTests
116133

117134
tests:
118135
if: ${{ !(github.ref == 'refs/heads/main' && contains(github.event.head_commit.message, '[maven-release-plugin]')) }}

pom.xml

Lines changed: 152 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
<groupId>org.rascalmpl</groupId>
55
<artifactId>rascal</artifactId>
6-
<version>0.40.7-SNAPSHOT</version>
6+
<version>0.41.0-RC8-SNAPSHOT</version>
77
<packaging>jar</packaging>
88

99
<scm>
@@ -29,12 +29,23 @@
2929
<properties>
3030
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
3131
<lucence-version>7.5.0</lucence-version>
32+
<maven-version>3.9.9</maven-version>
3233
<exec.mainClass>org.rascalmpl.shell.RascalShell</exec.mainClass>
33-
<rascal.test.memory>2</rascal.test.memory>
34+
<rascal.test.memory>3</rascal.test.memory>
3435
<maven.compiler.release>11</maven.compiler.release>
35-
<rascal-maven.version>0.28.0-RC1</rascal-maven.version>
36+
<rascal-maven.version>0.28.9-BOOT1</rascal-maven.version>
3637
</properties>
3738

39+
<licenses>
40+
<license>
41+
<name>BSD-2-Clause</name>
42+
<url>https://opensource.org/license/BSD-2-Clause</url>
43+
<distribution>repo</distribution>
44+
<!-- we cannot define multiple licenses in this maven block, as it would mean the user can choose either of the licenses -->
45+
<comments>Note, some older files are still licensed under Eclipse v1</comments>
46+
</license>
47+
</licenses>
48+
3849

3950
<build>
4051
<sourceDirectory>src</sourceDirectory>
@@ -55,6 +66,9 @@
5566
<include>rascal-DEPENDENCIES.txt</include>
5667
</includes>
5768
</resource>
69+
<resource>
70+
<directory>${project.build.directory}/generated-resources</directory>
71+
</resource>
5872
</resources>
5973
<testSourceDirectory>test</testSourceDirectory>
6074
<testResources>
@@ -90,7 +104,7 @@
90104
<plugin>
91105
<groupId>org.codehaus.mojo</groupId>
92106
<artifactId>buildnumber-maven-plugin</artifactId>
93-
<version>3.2.0</version>
107+
<version>3.2.1</version>
94108
<executions>
95109
<execution>
96110
<phase>validate</phase>
@@ -136,7 +150,7 @@
136150
<ignore>${project.basedir}/src/org/rascalmpl/library/lang/rascal/syntax/tests</ignore>
137151
</srcIgnores>
138152
<enableStandardLibrary>false</enableStandardLibrary>
139-
<parallel>false</parallel>
153+
<parallel>true</parallel>
140154
<parallelPreChecks>
141155
<pre>${project.basedir}/src/org/rascalmpl/library/Prelude.rsc</pre>
142156
</parallelPreChecks>
@@ -156,7 +170,8 @@
156170
<goal>package</goal>
157171
</goals>
158172
</execution>
159-
<execution>
173+
<!-- commented out for bootstrapping purposes;
174+
<execution>
160175
<id>default-cli</id>
161176
<phase>compile</phase>
162177
<goals>
@@ -177,7 +192,7 @@
177192
<ignore>${project.basedir}/src/org/rascalmpl/library/lang/rascal</ignore>
178193
</ignores>
179194
</configuration>
180-
</execution>
195+
</execution> -->
181196
</executions>
182197
</plugin>
183198
<plugin>
@@ -199,7 +214,7 @@
199214
<plugin>
200215
<groupId>org.apache.maven.plugins</groupId>
201216
<artifactId>maven-surefire-plugin</artifactId>
202-
<version>3.3.1</version>
217+
<version>3.5.2</version>
203218
<executions>
204219
<execution>
205220
<id>test</id>
@@ -247,7 +262,7 @@
247262
<plugin>
248263
<groupId>org.apache.maven.plugins</groupId>
249264
<artifactId>maven-dependency-plugin</artifactId>
250-
<version>3.7.1</version>
265+
<version>3.8.1</version>
251266
<executions>
252267
<execution>
253268
<goals>
@@ -263,12 +278,25 @@
263278
<plugin>
264279
<groupId>org.apache.maven.plugins</groupId>
265280
<artifactId>maven-release-plugin</artifactId>
266-
<version>3.1.0</version>
281+
<version>3.1.1</version>
267282
<configuration>
268283
<tagNameFormat>v@{project.version}</tagNameFormat>
269284
<arguments>-Drascal.compile.skip -Drascal.tutor.skip -DskipTests</arguments>
270285
</configuration>
271286
</plugin>
287+
<plugin>
288+
<groupId>org.codehaus.mojo</groupId>
289+
<artifactId>license-maven-plugin</artifactId>
290+
<version>2.5.0</version>
291+
<executions>
292+
<execution>
293+
<id>download-licenses</id>
294+
<goals>
295+
<goal>download-licenses</goal>
296+
</goals>
297+
</execution>
298+
</executions>
299+
</plugin>
272300
<plugin>
273301
<groupId>org.apache.maven.plugins</groupId>
274302
<artifactId>maven-shade-plugin</artifactId>
@@ -291,7 +319,17 @@
291319
</transformer>
292320
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
293321
<resource>org/rascalmpl/uri/resolvers.config</resource>
294-
<resource>io/usethesource/vallang/type/types.config </resource>
322+
</transformer>
323+
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
324+
<resource>io/usethesource/vallang/type/types.config</resource>
325+
</transformer>
326+
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
327+
<resource>META-INF/sisu/javax.inject.Named</resource> <!-- Needed for dependency injection in MavenCli -->
328+
</transformer>
329+
<transformer implementation="org.apache.maven.plugins.shade.resource.ComponentsXmlResourceTransformer" /> <!-- Needed for dependency injection in MavenCli -->
330+
<transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer" />
331+
<transformer implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer">
332+
<addHeader>false</addHeader>
295333
</transformer>
296334
</transformers>
297335
<relocations>
@@ -397,7 +435,7 @@
397435
<dependency>
398436
<groupId>io.usethesource</groupId>
399437
<artifactId>vallang</artifactId>
400-
<version>1.0.0-RC12</version>
438+
<version>1.0.0-RC15</version>
401439
</dependency>
402440
<dependency>
403441
<groupId>org.ow2.asm</groupId>
@@ -414,30 +452,25 @@
414452
<artifactId>commons-math</artifactId>
415453
<version>2.2</version>
416454
</dependency>
417-
<dependency>
418-
<groupId>commons-lang</groupId>
419-
<artifactId>commons-lang</artifactId>
420-
<version>2.6</version>
421-
</dependency>
422455
<dependency> <!-- used by the compression uri feature-->
423456
<groupId>org.apache.commons</groupId>
424457
<artifactId>commons-compress</artifactId>
425-
<version>1.26.1</version>
458+
<version>1.27.1</version>
426459
</dependency>
427460
<dependency> <!-- needed by commons-compress for compressed+...://...zst -->
428461
<groupId>com.github.luben</groupId>
429462
<artifactId>zstd-jni</artifactId>
430-
<version>1.5.5-11</version>
463+
<version>1.5.6-8</version>
431464
</dependency>
432465
<dependency> <!-- used for base32 encoding in IO and String, needed anyway for commons-compress -->
433466
<groupId>commons-codec</groupId>
434467
<artifactId>commons-codec</artifactId>
435-
<version>1.17.0</version>
468+
<version>1.17.1</version>
436469
</dependency>
437470
<dependency>
438471
<groupId>com.google.code.gson</groupId>
439472
<artifactId>gson</artifactId>
440-
<version>2.10.1</version>
473+
<version>2.11.0</version>
441474
</dependency>
442475
<dependency>
443476
<groupId>jline</groupId>
@@ -447,7 +480,7 @@
447480
<dependency>
448481
<groupId>org.yaml</groupId>
449482
<artifactId>snakeyaml</artifactId>
450-
<version>2.2</version>
483+
<version>2.3</version>
451484
</dependency>
452485
<dependency>
453486
<groupId>org.jsoup</groupId>
@@ -487,7 +520,103 @@
487520
<dependency>
488521
<groupId>com.ibm.icu</groupId>
489522
<artifactId>icu4j</artifactId>
490-
<version>74.2</version>
523+
<version>76.1</version>
524+
</dependency>
525+
<dependency>
526+
<groupId>org.apache.maven</groupId>
527+
<artifactId>maven-embedder</artifactId>
528+
<version>${maven-version}</version>
529+
</dependency>
530+
<dependency>
531+
<groupId>org.apache.maven.plugins</groupId>
532+
<artifactId>maven-dependency-plugin</artifactId>
533+
<version>3.8.1</version>
534+
</dependency>
535+
<dependency> <!-- needed for maven-embedder-->
536+
<groupId>org.slf4j</groupId>
537+
<artifactId>slf4j-nop</artifactId>
538+
<version>1.7.36</version>
539+
</dependency>
540+
<dependency> <!-- needed for maven-embedder-->
541+
<groupId>org.apache.maven</groupId>
542+
<artifactId>maven-compat</artifactId>
543+
<version>${maven-version}</version>
544+
</dependency>
545+
<dependency> <!-- needed for maven-embedder-->
546+
<groupId>org.apache.maven</groupId>
547+
<artifactId>maven-core</artifactId>
548+
<version>${maven-version}</version>
491549
</dependency>
492550
</dependencies>
551+
<profiles>
552+
<profile>
553+
<id>unshaded</id>
554+
<build>
555+
<plugins>
556+
<plugin>
557+
<groupId>org.apache.maven.plugins</groupId>
558+
<artifactId>maven-shade-plugin</artifactId>
559+
<version>3.6.0</version>
560+
<executions>
561+
<execution>
562+
<phase>package</phase>
563+
<goals>
564+
<goal>shade</goal>
565+
</goals>
566+
<configuration>
567+
<transformers>
568+
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
569+
<manifestEntries>
570+
<Name>rascal</Name>
571+
<Main-Class>org.rascalmpl.shell.RascalShell</Main-Class>
572+
<Specification-Version>${project.version}</Specification-Version>
573+
<Specification-Vendor>http://www.usethesource.io</Specification-Vendor>
574+
</manifestEntries>
575+
</transformer>
576+
</transformers>
577+
<relocations>
578+
<relocation>
579+
<pattern>org.fusesource.jansi</pattern>
580+
<shadedPattern>org.rascalmpl.fusesource.jansi</shadedPattern>
581+
<excludes>
582+
<exclude>org.fusesource.jansi.internal.*</exclude>
583+
</excludes>
584+
</relocation>
585+
<relocation>
586+
<pattern>jline</pattern>
587+
<shadedPattern>org.rascalmpl.jline</shadedPattern>
588+
</relocation>
589+
</relocations>
590+
<filters>
591+
<filter>
592+
<artifact>*:*</artifact>
593+
<excludes>
594+
<exclude>META-INF/*.SF</exclude>
595+
<exclude>META-INF/*.DSA</exclude>
596+
<exclude>META-INF/*.RSA</exclude>
597+
</excludes>
598+
</filter>
599+
</filters>
600+
<artifactSet>
601+
<includes>
602+
<include>jline:*</include>
603+
</includes>
604+
</artifactSet>
605+
</configuration>
606+
</execution>
607+
</executions>
608+
</plugin>
609+
<plugin>
610+
<groupId>org.codehaus.mojo</groupId>
611+
<artifactId>license-maven-plugin</artifactId>
612+
<configuration>
613+
<skipDownloadLicenses>true</skipDownloadLicenses>
614+
</configuration>
615+
</plugin>
616+
</plugins>
617+
</build>
618+
</profile>
619+
<profile>
620+
</profile>
621+
</profiles>
493622
</project>

src/org/rascalmpl/ast/Assignable.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import io.usethesource.vallang.IConstructor;
2020
import io.usethesource.vallang.ISourceLocation;
2121

22+
@SuppressWarnings(value = {"unused"})
2223
public abstract class Assignable extends AbstractAST {
2324
public Assignable(ISourceLocation src, IConstructor node) {
2425
super(src /* we forget node on purpose */);

src/org/rascalmpl/ast/Assignment.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ protected void addForLineNumber(int $line, java.util.List<AbstractAST> $result)
5959
if (getLocation().getBeginLine() == $line) {
6060
$result.add(this);
6161
}
62+
ISourceLocation $l;
6263

6364
}
6465

src/org/rascalmpl/ast/Backslash.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import io.usethesource.vallang.IConstructor;
2020
import io.usethesource.vallang.ISourceLocation;
2121

22+
@SuppressWarnings(value = {"unused"})
2223
public abstract class Backslash extends AbstractAST {
2324
public Backslash(ISourceLocation src, IConstructor node) {
2425
super(src /* we forget node on purpose */);

src/org/rascalmpl/ast/Body.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import io.usethesource.vallang.IConstructor;
2020
import io.usethesource.vallang.ISourceLocation;
2121

22+
@SuppressWarnings(value = {"unused"})
2223
public abstract class Body extends AbstractAST {
2324
public Body(ISourceLocation src, IConstructor node) {
2425
super(src /* we forget node on purpose */);

src/org/rascalmpl/ast/BooleanLiteral.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import io.usethesource.vallang.IConstructor;
2020
import io.usethesource.vallang.ISourceLocation;
2121

22+
@SuppressWarnings(value = {"unused"})
2223
public abstract class BooleanLiteral extends AbstractAST {
2324
public BooleanLiteral(ISourceLocation src, IConstructor node) {
2425
super(src /* we forget node on purpose */);

src/org/rascalmpl/ast/Case.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import io.usethesource.vallang.IConstructor;
2020
import io.usethesource.vallang.ISourceLocation;
2121

22+
@SuppressWarnings(value = {"unused"})
2223
public abstract class Case extends AbstractAST {
2324
public Case(ISourceLocation src, IConstructor node) {
2425
super(src /* we forget node on purpose */);

0 commit comments

Comments
 (0)