Skip to content

Commit 7e229a3

Browse files
committed
chore(release): v2.2.1 --- Fix Release Metadata for Central --- Rule Loading Bugfix --- cleanup --- logging fixes -- deprecated BDSLUserDefinedExtensionLoader --- renamed etc -> assets --- pathfinding BDSL script fixed
1 parent b68fa9d commit 7e229a3

36 files changed

+398
-267
lines changed

README.md

Lines changed: 48 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,63 @@
1-
<img src="./etc/logo-bdsl-interpreter-dark.png" style="zoom:90%;" />
1+
<img src="./assets/logo-bdsl-interpreter-dark.png" style="zoom:90%;" alt="logo of bdsl interpreter"/>
22

3-
> Latest Version: **2.2.0**
3+
> Latest Version: **2.2.1**
44
55
- BDSL user guide: https://nbn-resolving.org/urn:nbn:de:bsz:14-qucosa2-752170
6-
6+
- For Users: See [Getting Started](#standalone-tool) for how to install and run the standalone interpreter.
7+
- For Developers: See [Development](#development) if you want to build locally.
78
---
89

910
# BDSL Interpreter Framework
1011

11-
The BDSL Interpreter is a multi-module Maven project
12-
designed to provide an extensible framework for interpreting BDSL scripts.
13-
Each module in the project focuses on a specific set of features,
14-
enabling a modular and maintainable architecture for developing and executing BDSL-based applications.
12+
The BDSL Interpreter Framework provides an extensible framework for basic BDSL language engineering (e.g., interpreting custom BDSL scripts).
13+
The framework is organized as a multi-module Maven project.
14+
Each module in this project focuses on a specific set of features to enable the development of BDSL-based applications.
15+
1516
Below is an overview of the project and its modules:
1617

1718
**Project Modules:**
1819
- **bdsl-interpreter-parent:** Acts as the parent module for the entire project, managing shared configurations, dependencies, and build settings for all submodules.
19-
- **bdsl-interpreter-core:** Contains the core features and foundational components of the BDSL interpreter. This module defines the architectural framework and fundamental mechanisms required for interpreting BDSL language constructs.
20-
- **bdsl-interpreter-cli:** Implements a command-line interface for interacting with the BDSL interpreter. This module enables users to execute BDSL models and interact with the interpreter from the terminal.
20+
- **bdsl-interpreter-cli:** Implements a command-line tool for interacting with the functionality of the BDSL Interpreter Framework.
21+
- **bdsl-interpreter-core:** Contains the core components of the BDSL interpreter. This module defines the parsing framework (visitor design pattern, extension methods) required for general BDSL language interpretation. It depends on the BDSL Grammar and evaluates the individual language statements.
2122
- **bdsl-execution-common:** Provides the common execution environment and reusable strategies for the BDSL interpreter. This module encapsulates shared execution logic, environment management, and strategy definitions.
2223

23-
The framework and grammar can be extended and facilitate "bigraphical language engineering."
24-
2524
**Version Compatibility**
2625

2726
| BDSL Interpreter Release | BDSL Core Elements (Grammar) | Bigraph Framework |
2827
|--------------------------|------------------------------|-------------------|
29-
| **2.2.0** (current) | 2.0.1 | 2.2.0 |
28+
| **2.2.1** (current) | 2.0.1 | 2.2.0 |
29+
| 2.2.0 | 2.0.1 | 2.2.0 |
3030
| 2.0.1 | 2.0.1 | 2.0.1 |
3131

32+
**Screenshot** of the Standalone Tool
3233

34+
<img src="assets/docs/bdsl-script-launch-1.png" style="zoom:55%;" alt="screenshot-of-bdsl-interpreter"/>
35+
36+
Command: `java -jar bdsl.jar --main=./test_bdsl_01.bdsl` <br/>
37+
Source: [test_bdsl_01.bdsl](bdsl-interpreter-cli/src/test/resources/test_bdsl_01.bdsl)
3338

3439
## Getting Started
3540

36-
### Maven Configuration
41+
42+
### Standalone Tool
43+
44+
> Related Module: `bdsl-interpreter-cli`
45+
>
46+
> Refer [here](#building) for installation.
47+
48+
The functionality of the BDSL Interpreter Framework is made available directly under the terminal.
49+
50+
**Usage:**
51+
52+
```bash
53+
$ java -jar bdsl.jar --version
54+
$ java -jar bdsl.jar --main=./program.bdsl <other-options...>
55+
$ java -jar bdsl.jar --help
56+
```
57+
58+
### Framework Usage
59+
60+
#### Maven Configuration
3761

3862
```xml
3963
<dependencies>
@@ -58,15 +82,8 @@ The framework and grammar can be extended and facilitate "bigraphical language e
5882
</dependencies>
5983
```
6084

61-
### Usage Instructions
6285

63-
> Related Module: `bdsl-interpreter-cli`
64-
65-
```bash
66-
java -jar bdsl.jar --main=program.bdsl <other-options...>
67-
```
68-
69-
## Development: Build Configuration
86+
## Development
7087

7188
**Requirements:**
7289

@@ -75,17 +92,18 @@ java -jar bdsl.jar --main=program.bdsl <other-options...>
7592

7693
To build the project and all its individual components:
7794

95+
### Building
96+
7897
```shell
79-
$ mvn clean install -DskipTests
98+
$ mvn clean package -DskipTests
8099
```
81100

82-
To build the runnable BDSL CLI interpreter tool:
101+
To build the standalone BDSL interpreter tool:
83102
```bash
84-
$ cd ./bdsl-interpreter-cli
85-
$ mvn package -Pbuild-cli
103+
$ mvn clean package -DskipTests -Pbuild-cli
86104
```
87-
After executing the command above, the command-line interpreter tool for BDSL is then available under `./bdsl-interpreter-cli/target/` from the root directory of this project.
88-
See also the `README.md` of the respective submodules for more details on how to use the whole BDSL interpreter framework.
105+
106+
After executing the command above, the tool is available under `./out/` from the root directory of this project.
89107

90108
### Dependencies
91109

@@ -94,6 +112,8 @@ The grammar, parser and other DSL-related things come from [BDSL Grammar](https:
94112

95113
This BDSL interpreter project uses both dependencies to implement the fundamental interpretation logic and the command-line tool of the interpreter.
96114

115+
Refer to the `README.md` of the respective submodules for more details on how to use the whole BDSL interpreter Framework.
116+
97117
### Deployment
98118

99119
To deploy the BDSL Interpreter Framework to the Central Repository:
@@ -128,7 +148,7 @@ Copyright 2020-present Bigraph Toolkit Developers
128148
you may not use this file except in compliance with the License.
129149
You may obtain a copy of the License at
130150
131-
http://www.apache.org/licenses/LICENSE-2.0
151+
https://www.apache.org/licenses/LICENSE-2.0
132152
133153
Unless required by applicable law or agreed to in writing, software
134154
distributed under the License is distributed on an "AS IS" BASIS,
80.5 KB
Loading
37.3 KB
Loading
File renamed without changes.

bdsl-execution-common/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.bigraphs.dsl.interpreter</groupId>
77
<artifactId>bdsl-interpreter-parent</artifactId>
8-
<version>2.2.0</version>
8+
<version>2.2.1</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111
<artifactId>bdsl-execution-common</artifactId>

bdsl-interpreter-cli/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<img src="../etc/logo-bdsl-cli-dark.png" style="zoom:90%;" />
1+
<img src="../assets/logo-bdsl-cli-dark.png" style="zoom:90%;" />
22

33
# Command-line Interpreter Tool for BDSL
44

@@ -38,10 +38,10 @@ It has the name `bdsl-${version}.jar`.
3838

3939
## Launcher Script
4040

41-
Inside the `./etc/` from the root of the parent project, the install script `ìnstall.sh` is contained.
41+
Inside the `./assets/` from the root of the parent project, the install script `ìnstall.sh` is contained.
4242
After this project has been successfully built, the script can be executed to install the BDSL interpreter on the system, so it can be run inside the terminal by just calling `bdsl <options...>`.
4343

44-
> *Note:* The install script has to run with `sudo`. The install script needs to be executed inside the `./etc/` directory.
44+
> *Note:* The install script has to run with `sudo`. The install script needs to be executed inside the `./assets/` directory.
4545
4646
To remove the files that the install script creates, delete the following files and folders:
4747
- /usr/local/bin/bdsl

bdsl-interpreter-cli/pom.xml

Lines changed: 28 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.bigraphs.dsl.interpreter</groupId>
77
<artifactId>bdsl-interpreter-parent</artifactId>
8-
<version>2.2.0</version>
8+
<version>2.2.1</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111
<artifactId>bdsl-interpreter-cli</artifactId>
@@ -53,38 +53,43 @@
5353
<finalName>bdsl-${project.version}</finalName>
5454
<plugins>
5555
<plugin>
56-
<groupId>org.apache.maven.plugins</groupId>
57-
<artifactId>maven-assembly-plugin</artifactId>
56+
<groupId>org.springframework.boot</groupId>
57+
<artifactId>spring-boot-maven-plugin</artifactId>
5858
<executions>
5959
<execution>
60-
<phase>package</phase>
60+
<id>repackage</id>
6161
<goals>
62-
<goal>single</goal>
62+
<goal>repackage</goal>
6363
</goals>
6464
<configuration>
65-
<appendAssemblyId>true</appendAssemblyId>
66-
<descriptors>
67-
<descriptor>src/main/resources/sources-jar-build.xml</descriptor>
68-
</descriptors>
69-
<finalName>bdsl-${project.version}</finalName>
65+
<finalName>bdsl</finalName>
7066
</configuration>
7167
</execution>
7268
</executions>
7369
</plugin>
7470
<plugin>
75-
<groupId>org.springframework.boot</groupId>
76-
<artifactId>spring-boot-maven-plugin</artifactId>
77-
<!-- <executions>-->
78-
<!-- <execution>-->
79-
<!-- <id>repackage</id>-->
80-
<!-- <goals>-->
81-
<!-- <goal>repackage</goal>-->
82-
<!-- </goals>-->
83-
<!-- <configuration>-->
84-
<!-- <finalName>bdsl</finalName>-->
85-
<!-- </configuration>-->
86-
<!-- </execution>-->
87-
<!-- </executions>-->
71+
<groupId>org.apache.maven.plugins</groupId>
72+
<artifactId>maven-antrun-plugin</artifactId>
73+
<version>3.1.0</version>
74+
<executions>
75+
<execution>
76+
<phase>package</phase>
77+
<goals>
78+
<goal>run</goal>
79+
</goals>
80+
<configuration>
81+
<target>
82+
<mkdir dir="${basedir}/../out"/>
83+
<copy file="${project.build.directory}/${project.build.finalName}.jar"
84+
tofile="${basedir}/../out/bdsl.jar"/>
85+
<copy file="${basedir}/src/test/resources/test_bdsl_01.bdsl"
86+
tofile="${basedir}/../out/hello.bdsl"/>
87+
<copy file="${basedir}/src/test/resources/sample-pathfinding.bdsl"
88+
tofile="${basedir}/../out/pathfinding.bdsl"/>
89+
</target>
90+
</configuration>
91+
</execution>
92+
</executions>
8893
</plugin>
8994
</plugins>
9095
</build>

bdsl-interpreter-cli/src/main/java/org/bigraphs/dsl/cli/VersionHolder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ public class VersionHolder {
77
private final String version;
88

99
public VersionHolder(ApplicationContext context) {
10-
version = "2.2.0";
10+
version = "2.2.1";
1111
}
1212

1313
public String getVersion() {

0 commit comments

Comments
 (0)