Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
3878bb5
Redirect files to TNO/XPlus
PaulN2112CGE May 13, 2026
d2ba61b
Update features
PaulN2112CGE May 18, 2026
719a2da
Add lsp.generator to lsp features
PaulN2112CGE May 19, 2026
6c1a879
Changes in target platform in fresh dev-env
Yuri-Blankenstein-TNO May 26, 2026
bf0c123
Fixing Oomph setup redirect
Yuri-Blankenstein-TNO May 26, 2026
5cb3461
Fixing renaming left-overs
Yuri-Blankenstein-TNO May 26, 2026
6a1713b
Removed version method
Yuri-Blankenstein-TNO May 27, 2026
c648506
Updated feature dependencies
Yuri-Blankenstein-TNO May 27, 2026
9132d81
Repaired languages overview graph
Yuri-Blankenstein-TNO May 27, 2026
0f550bc
No need for ecore dependencies
Yuri-Blankenstein-TNO May 27, 2026
1b8f614
Fix a reference in adoc
PaulN2112CGE May 28, 2026
3b4f148
Leftovers from OfflineMBT
PaulN2112CGE May 28, 2026
3f30eca
Make nl.esi.xplus.doc.design package public for reuse
PaulN2112CGE May 28, 2026
ccfc9e1
Prepare version 0.2.0
PaulN2112CGE May 29, 2026
27f96b9
Support named arguments for function calls
PaulN2112CGE May 29, 2026
605d737
Use alternative way for filtering projects in xtext language overview
Yuri-Blankenstein-TNO Jun 1, 2026
49e9f6b
Merge pull request #2 from TNO/sync_with_offlinembt
PaulN2112CGE Jun 1, 2026
0ac78c5
Bugfix NullPointerException if no Require-Bundle in Manifest
Yuri-Blankenstein-TNO Jun 1, 2026
b77dce6
Merge pull request #3 from TNO/sync_with_offlinembt
Yuri-Blankenstein-TNO Jun 1, 2026
bcae728
Sync with OfflineMBT
Yuri-Blankenstein-TNO Jun 2, 2026
ec08f9e
Merge remote-tracking branch 'origin/develop' into sync_with_offlinembt
Jun 2, 2026
ba5e6fa
Prepare new release
Yuri-Blankenstein-TNO Jun 2, 2026
e2d0cb5
Prepare version 0.3.0
Yuri-Blankenstein-TNO Jun 2, 2026
8c9d66b
Merge pull request #4 from TNO/sync_with_offlinembt
Yuri-Blankenstein-TNO Jun 2, 2026
f02e73f
Remove symbolic-ref
PaulN2112CGE Jun 4, 2026
8c858e5
Add tests for all examples in the adoc
PaulN2112CGE Jul 1, 2026
f38c31c
Add tests for all examples in the adoc
PaulN2112CGE Jul 1, 2026
163221d
Make actions testable (with ActionModel). Explain rationale
PaulN2112CGE Jul 1, 2026
f4af9f8
Add action documentation
PaulN2112CGE Jul 1, 2026
12f4bb7
Review
PaulN2112CGE Jul 1, 2026
ff7d17c
Review
PaulN2112CGE Jul 1, 2026
3aea774
publish adoc
PaulN2112CGE Jul 1, 2026
9e849fb
Merge pull request #6 from TNO/5-cleanup-actions-language
PaulN2112CGE Jul 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,10 @@ jobs:
releng/nl.esi.xplus.standard.site/target/*.zip

# Deploy P2 Repository to GitHub Pages for versioned releases
# NOTE: After deployment, use these URLs to add the repository in Eclipse:
# - For releases: https://TNO.github.io/XPlus/releases/TAG_NAME
# - For nightly: https://TNO.github.io/XPlus/nightly
# Do NOT use the github.com/tree/gh-pages URLs as those are web interface URLs, not P2 repository URLs
- name: Deploy P2 Repository (Release)
if: github.ref_type == 'tag' && success()
uses: peaceiris/actions-gh-pages@v4
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# XPlus
Base Xtext Languages and Eclipse Plugins

XPlus is a collection of base Xtext languages and Eclipse plugins/libraries that serve as the foundation for projects such as Offline MBT and other model-based tools.
XPlus is a collection of base Xtext languages and Eclipse plugins/libraries that serve as the foundation for projects such as Offline MBT, LSAT and other model-based tools.

### Conventions

Expand Down Expand Up @@ -52,7 +52,7 @@ To create a development environment:
- In the second wizard window:
- Use the green '+' icon at the top right to add the Oomph setup.
- For **Catalog**, choose **Github Projects**.
- For **Resource URIs**, enter `https://raw.githubusercontent.com/dbera/XPlus/main/XPlus.setup` and make sure there are no spaces before or after the URL.
- For **Resource URIs**, enter `https://raw.githubusercontent.com/TNO/XPlus/develop/XPlus.setup` and make sure there are no spaces before or after the URL.
- Click the **OK** button.
- Check the checkbox for **XPlus**, from the big list.
It is under **Github Projects** / **<User>**.
Expand Down Expand Up @@ -107,13 +107,13 @@ In your new development environment, consider changing the following settings:
### Building with Maven

> [!CAUTION]
> XPlus should be built using [Maven 3.9](https://maven.apache.org/download.cgi) and a _Java 21 VM_.
> XPlus should be built using [Maven 3.9.*](https://maven.apache.org/download.cgi) and a _Java 21 VM_.
> The JDK can be downloaded from e.g. [Adoptium](https://adoptium.net/temurin/archive/?variant=openjdk21&jvmVariant=hotspot&version=21).
>
> To test which Java version is used by Maven, type `mvn -version` in a command shell.

To build XPlus with Maven execute the following command in the root:

`mvn clean package -P site`
`mvn install`

On a successful build, the built Eclipse P2 repository can be found in the **target** folder of the [releng/nl.esi.xplus.standard.site](releng/nl.esi.xplus.standard.site/) project.
24 changes: 12 additions & 12 deletions XPlus.setup
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
<setupTask
xsi:type="setup:EclipseIniTask"
option="-Doomph.redirection.XPlus"
value="=https://raw.githubusercontent.com/dbera/XPlus/main/XPlus.setup->${git.clone.XPlus.location|uri}/XPlus.setup"
value="=https://raw.githubusercontent.com/TNO/XPlus/develop/XPlus.setup->${git.clone.XPlus.location|uri}/XPlus.setup"
vm="true">
<description>Set an Oomph redirection system property to redirect the logical location of this setup to its physical location in the Git clone.</description>
</setupTask>
Expand Down Expand Up @@ -116,13 +116,13 @@
value="false"/>
</setupTask>
<setupTask
xsi:type="setup:CompoundTask"
name="Java Development">
<setupTask
xsi:type="setup:PreferenceTask"
key="org.eclipse.jdt.core.compiler.codegen.methodParameters"
value="generate"/>
</setupTask>
xsi:type="setup:CompoundTask"
name="Java Development">
<setupTask
xsi:type="setup:PreferenceTask"
key="org.eclipse.jdt.core.compiler.codegen.methodParameters"
value="generate"/>
</setupTask>
<setupTask
xsi:type="setup:CompoundTask"
name="org.eclipse.debug.ui">
Expand Down Expand Up @@ -283,7 +283,7 @@
<setupTask
xsi:type="git:GitCloneTask"
id="git.clone.XPlus"
remoteURI="dbera/XPlus">
remoteURI="TNO/XPlus">
<annotation
source="http://www.eclipse.org/oomph/setup/InducedChoices">
<detail
Expand Down Expand Up @@ -439,10 +439,10 @@
<setupTask
xsi:type="launching:LaunchTask"
launcher="Generate all Language Infrastructures"/>
<stream name="main"
label="Main"/>
<stream name="develop"
label="Develop"/>
<logicalProjectContainer
xsi:type="setup:ProjectCatalog"
href="index:/org.eclipse.setup#//@projectCatalogs[name='com.github']"/>
<description>XPlus provides cool stuff.</description>
<description>XPlus from TNO</description>
</setup:Project>
18 changes: 18 additions & 0 deletions bundles/nl.esi.xplus.doc.design/GenerateGrammarsDiagram.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/nl.esi.xplus.doc.design/xtend-gen/nl/esi/xplus/doc/design/GenerateGrammarsDiagram.java"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="1"/>
</listAttribute>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_ATTR_USE_ARGFILE" value="false"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR" value="false"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="nl.esi.xplus.doc.design.GenerateGrammarsDiagram"/>
<stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="nl.esi.xplus.doc.design"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="${project_loc}/target/meta-models ${project_loc}/target/adoc-gen/xtext-grammars.plantuml nl.esi."/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="nl.esi.xplus.doc.design"/>
</launchConfiguration>
4 changes: 2 additions & 2 deletions bundles/nl.esi.xplus.doc.design/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Design Documentation
Bundle-SymbolicName: nl.esi.xplus.doc.design;singleton:=true
Bundle-Version: 0.1.0.qualifier
Export-Package: nl.esi.xplus.doc.design;x-internal:=true
Bundle-Version: 0.3.0.qualifier
Export-Package: nl.esi.xplus.doc.design
Bundle-Vendor: TNO-ESI
Automatic-Module-Name: nl.esi.xplus.doc.design
Bundle-RequiredExecutionEnvironment: JavaSE-21
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,6 @@ For more information about the reuse of existing grammars, please read the (i.e.

include::{gendocdir}/xtext-grammars.plantuml[]

artifact nl.esi.xtext.types.Types #white/aqua

@enduml
....

Expand All @@ -46,3 +44,5 @@ include::{extdocdir}/nl.esi.xtext.types.adoc[leveloffset=2]

include::{extdocdir}/nl.esi.xtext.expressions.adoc[leveloffset=2]
include::{extdocdir}/expression-functions-framework-design.adoc[leveloffset=2]

include::{extdocdir}/nl.esi.xtext.actions.adoc[leveloffset=2]
124 changes: 69 additions & 55 deletions bundles/nl.esi.xplus.doc.design/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
<parent>
<groupId>nl.esi.xplus</groupId>
<artifactId>nl.esi.xplus.root</artifactId>
<version>0.1.0-SNAPSHOT</version>
<version>0.3.0-SNAPSHOT</version>
<relativePath>../../</relativePath>
</parent>

Expand All @@ -31,95 +31,85 @@
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-adoc-resources</id>
<id>unpack-ecore-models</id>
<phase>generate-sources</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<includes>adoc/**</includes>
<outputDirectory>${project.build.directory}/adoc-ext</outputDirectory>
<useSubDirectoryPerArtifact>true</useSubDirectoryPerArtifact>
<stripVersion>true</stripVersion>
<stripClassifier>true</stripClassifier>
<stripType>true</stripType>
<overWriteReleases>true</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
<includes>META-INF/MANIFEST.MF,model/generated/*.*,**/*.xtext</includes>
<outputDirectory>${project.build.directory}/meta-models/</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>3.5.0</version>
<executions>
<execution>
<phase>prepare-package</phase>
<id>unpack-adoc-resources</id>
<phase>generate-sources</phase>
<goals>
<goal>java</goal>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<mainClass>nl.esi.xplus.doc.design.GenerateGrammarsDiagram</mainClass>
<includePluginDependencies>true</includePluginDependencies>
<arguments>
<argument>${project.basedir}/..</argument>
<argument>${project.build.directory}/adoc-gen/xtext-grammars.plantuml</argument>
</arguments>
<overWriteReleases>true</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
<includes>adoc/**</includes>
<outputDirectory>${project.build.directory}/adoc-ext</outputDirectory>
</configuration>
</execution>
</executions>
<dependencies>
<!-- Don't know why this dependency is not picked up from the MANIFEST.MF -->
<dependency>
<groupId>org.eclipse.xtend</groupId>
<artifactId>org.eclipse.xtend.lib</artifactId>
<version>${xtend.version}</version>
</dependency>
</dependencies>
</plugin>

<!-- Start: Preparing EcoreDoc -->
<!-- EcoreDoc cannot handle ecore references based on platform:/resource/ uris yet -->
<!-- Workaround: Copy all generated ecore models and change uris to relative uris -->
<!-- Start: Preparing EcoreDoc and GenerateGrammarsDiagram -->
<!-- Both cannot handle ecore references based on platform:/resource/ uris yet -->
<!-- Workaround: Process all generated ecore models and change uris to relative uris -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>${project.basedir}/..</directory>
<includes>
<include>*/model/generated/*.ecore</include>
</includes>
</resource>
</resources>
<outputDirectory>${project.build.directory}/meta-models</outputDirectory>
<target>
<replace token="platform:/resource/" value="../../../"
dir="${project.build.directory}/meta-models">
<include name="*/model/generated/*.*" />
</replace>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- End: Preparing EcoreDoc and GenerateGrammarsDiagram -->

<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>3.5.0</version>
<executions>
<execution>
<phase>prepare-package</phase>
<configuration>
<target>
<replace token="platform:/resource/" value="../../../"
dir="${project.build.directory}/meta-models">
<include name="**/*.ecore" />
</replace>
</target>
</configuration>
<goals>
<goal>run</goal>
<goal>java</goal>
</goals>
<configuration>
<mainClass>nl.esi.xplus.doc.design.GenerateGrammarsDiagram</mainClass>
<includePluginDependencies>true</includePluginDependencies>
<classpathScope>provided</classpathScope>
<arguments>
<argument>${project.build.directory}/meta-models</argument>
<argument>${project.build.directory}/adoc-gen/xtext-grammars.plantuml</argument>
<argument>nl.esi.</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
<!-- End: Preparing EcoreDoc -->

<plugin>
<groupId>com.altran.general.emf.ecoredoc</groupId>
Expand Down Expand Up @@ -291,6 +281,30 @@
</additionalFileSets>
</configuration>
</plugin>

<plugin>
<!--The Xtext builder reports errors on the copied xtext files,
so we'll clean them up immediately after the build-->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<executions>
<execution>
<id>remove-meta-models</id>
<phase>package</phase>
<goals>
<goal>clean</goal>
</goals>
<configuration>
<excludeDefaultDirectories>true</excludeDefaultDirectories>
<filesets>
<fileset>
<directory>${project.build.directory}/meta-models/</directory>
</fileset>
</filesets>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Loading
Loading