diff --git a/.github/workflows/build_master.yml b/.github/workflows/build_master.yml
index f547da05..144785b2 100644
--- a/.github/workflows/build_master.yml
+++ b/.github/workflows/build_master.yml
@@ -47,11 +47,11 @@ jobs:
steps:
- uses: actions/checkout@v4
- - name: Set up JDK 17
+ - name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'temurin'
- java-version: 17
+ java-version: 21
- name: Install Graphviz
run: sudo apt-get -y install graphviz
- name: Cache local Maven repository
@@ -107,8 +107,8 @@ jobs:
env:
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }}
GPG_KEY_PASSPHRASE: ${{ secrets.GPG_KEY_PASSPHRASE }}
- OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
- OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
+ CENTRAL_USERNAME: ${{ secrets.CENTRAL_USERNAME }}
+ CENTRAL_PASSWORD: ${{ secrets.CENTRAL_PASSWORD }}
publish_eclipse_snapshot:
name: Publish Snapshot of Eclipse Plugin (P2 repo)
@@ -121,11 +121,11 @@ jobs:
steps:
- uses: actions/checkout@v4
- - name: Set up JDK 17
+ - name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'temurin'
- java-version: 17
+ java-version: 21
- name: Install Graphviz
run: sudo apt-get -y install graphviz
- name: Cache local Maven repository
diff --git a/.github/workflows/build_standard.yml b/.github/workflows/build_standard.yml
index 0ee32e53..7a8fcbb3 100644
--- a/.github/workflows/build_standard.yml
+++ b/.github/workflows/build_standard.yml
@@ -44,11 +44,11 @@ jobs:
steps:
- uses: actions/checkout@v4
- - name: Set up JDK 17
+ - name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'temurin'
- java-version: 17
+ java-version: 21
- name: Install Graphviz
run: sudo apt-get -y install graphviz
- name: Cache local Maven repository
diff --git a/.github/workflows/release-trigger.yml b/.github/workflows/release-trigger.yml
index b03a2536..80f09495 100644
--- a/.github/workflows/release-trigger.yml
+++ b/.github/workflows/release-trigger.yml
@@ -13,11 +13,11 @@ jobs:
with:
fetch-depth: 0
persist-credentials: false
- - name: Set up JDK 17
+ - name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'temurin'
- java-version: 17
+ java-version: 21
- name: Configure Git user
run: |
git config user.email "contextmapper-ci@kapferer.ch"
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 0d3bd929..8882d1f3 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -43,11 +43,11 @@ jobs:
steps:
- uses: actions/checkout@v4
- - name: Set up JDK 17
+ - name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'temurin'
- java-version: 17
+ java-version: 21
- name: Install Graphviz
run: sudo apt-get -y install graphviz
- name: Cache local Maven repository
@@ -102,8 +102,18 @@ jobs:
env:
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }}
GPG_KEY_PASSPHRASE: ${{ secrets.GPG_KEY_PASSPHRASE }}
- OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
- OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
+ CENTRAL_USERNAME: ${{ secrets.CENTRAL_USERNAME }}
+ CENTRAL_PASSWORD: ${{ secrets.CENTRAL_PASSWORD }}
+ # The OSSRH Staging API only stages the upload; this hands it over to the Central Portal,
+ # where the deployment has to be published manually (https://central.sonatype.com/publishing/deployments).
+ - name: Transfer release to Central Portal
+ run: |
+ TOKEN=$(printf "%s:%s" "$CENTRAL_USERNAME" "$CENTRAL_PASSWORD" | base64 -w0)
+ curl --fail-with-body -X POST -H "Authorization: Bearer $TOKEN" \
+ "https://ossrh-staging-api.central.sonatype.com/manual/upload/defaultRepository/org.contextmapper?publishing_type=user_managed"
+ env:
+ CENTRAL_USERNAME: ${{ secrets.CENTRAL_USERNAME }}
+ CENTRAL_PASSWORD: ${{ secrets.CENTRAL_PASSWORD }}
publish_eclipse:
name: Publish Eclipse Plugin (P2 repo)
@@ -115,11 +125,11 @@ jobs:
steps:
- uses: actions/checkout@v4
- - name: Set up JDK 17
+ - name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'temurin'
- java-version: 17
+ java-version: 21
- name: Install Graphviz
run: sudo apt-get -y install graphviz
- name: Cache local Maven repository
diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties
index 5f743c66..78b60c17 100755
--- a/.mvn/wrapper/maven-wrapper.properties
+++ b/.mvn/wrapper/maven-wrapper.properties
@@ -1 +1 @@
-distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.16/apache-maven-3.9.16-bin.zip
diff --git a/README.md b/README.md
index 6e50c906..99fdaf72 100644
--- a/README.md
+++ b/README.md
@@ -36,7 +36,7 @@ The Context Mapper project has originally been developed as part of research pro
## System Requirements
To use the ContextMapper DSL (CML) you need the following tools:
-* [Java JDK](https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) (JDK 11 or newer)
+* [Java JDK](https://adoptium.net/) (JDK 17 or newer)
* [Eclipse](https://www.eclipse.org/downloads/packages/) or [Visual Studio Code](https://code.visualstudio.com/)
* If you want to use our [Context Map generator](https://contextmapper.org/docs/context-map-generator/) you need to have [Graphviz](https://www.graphviz.org/) installed on your system.
* Ensure that the binaries are part of the _PATH_ environment variable and can be called from the terminal.
diff --git a/build.gradle b/build.gradle
index 683e1539..6fd4b1eb 100644
--- a/build.gradle
+++ b/build.gradle
@@ -4,14 +4,14 @@ buildscript {
gradlePluginPortal()
}
dependencies {
- classpath 'org.xtext:xtext-gradle-plugin:3.0.2'
+ classpath 'org.xtext:xtext-gradle-plugin:4.0.0'
}
}
-def pomXml = new XmlSlurper().parse('pom.xml')
+def pomXml = new groovy.xml.XmlSlurper().parse('pom.xml')
subprojects {
- ext.xtextVersion = '2.32.0'
+ ext.xtextVersion = '2.42.0'
repositories {
mavenCentral()
}
@@ -30,8 +30,10 @@ subprojects {
group = 'org.contextmapper'
version = pomXml.version
- sourceCompatibility = '11'
- targetCompatibility = '11'
+ java {
+ sourceCompatibility = JavaVersion.VERSION_17
+ targetCompatibility = JavaVersion.VERSION_17
+ }
configurations.all {
exclude group: 'asm'
diff --git a/gradle.properties b/gradle.properties
index b45af116..6b69b68e 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,2 +1,5 @@
-ossSnapshotRepository=https://oss.sonatype.org/content/repositories/snapshots/
-ossReleaseStagingRepository=https://oss.sonatype.org/service/local/staging/deploy/maven2/
+centralSnapshotRepository=https://central.sonatype.com/repository/maven-snapshots/
+centralReleaseStagingRepository=https://ossrh-staging-api.central.sonatype.com/service/local/staging/deploy/maven2/
+
+# Gradle 7.x needs this on JDK 17+ for the Ant-based Jacoco report task
+org.gradle.jvmargs=--add-opens=java.prefs/java.util.prefs=ALL-UNNAMED
diff --git a/gradle/source-layout.gradle b/gradle/source-layout.gradle
index 3322bdde..1a692e79 100644
--- a/gradle/source-layout.gradle
+++ b/gradle/source-layout.gradle
@@ -7,7 +7,7 @@ if (name.endsWith("-tests")) {
test {
java.srcDirs = ['src', 'src-gen', 'xtend-gen']
resources.srcDirs = ['src', 'src-gen']
- xtendOutputDir = 'xtend-gen'
+ xtend.outputDir = 'xtend-gen'
}
}
} else {
@@ -15,7 +15,7 @@ if (name.endsWith("-tests")) {
main {
java.srcDirs = ['src', 'src-gen', 'xtend-gen']
resources.srcDirs = ['src', 'src-gen']
- xtendOutputDir = 'xtend-gen'
+ xtend.outputDir = 'xtend-gen'
}
test {
java.srcDirs = []
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index 29953ea1..02f06ab2 100644
Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index d98f8927..bda481cc 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,7 @@
-#Mon Sep 30 23:33:31 CEST 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-9.8.2-all.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip
diff --git a/gradlew b/gradlew
index cccdd3d5..23d15a93 100755
--- a/gradlew
+++ b/gradlew
@@ -1,78 +1,129 @@
-#!/usr/bin/env sh
+#!/bin/sh
+
+#
+# Copyright © 2015-2021 the original authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+#
##############################################################################
-##
-## Gradle start up script for UN*X
-##
+#
+# Gradle start up script for POSIX generated by Gradle.
+#
+# Important for running:
+#
+# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
+# noncompliant, but you have some other compliant shell such as ksh or
+# bash, then to run this script, type that shell name before the whole
+# command line, like:
+#
+# ksh Gradle
+#
+# Busybox and similar reduced shells will NOT work, because this script
+# requires all of these POSIX shell features:
+# * functions;
+# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
+# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
+# * compound commands having a testable exit status, especially «case»;
+# * various built-in commands including «command», «set», and «ulimit».
+#
+# Important for patching:
+#
+# (2) This script targets any POSIX shell, so it avoids extensions provided
+# by Bash, Ksh, etc; in particular arrays are avoided.
+#
+# The "traditional" practice of packing multiple parameters into a
+# space-separated string is a well documented source of bugs and security
+# problems, so this is (mostly) avoided, by progressively accumulating
+# options in "$@", and eventually passing that to Java.
+#
+# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
+# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
+# see the in-line comments for details.
+#
+# There are tweaks for specific operating systems such as AIX, CygWin,
+# Darwin, MinGW, and NonStop.
+#
+# (3) This script is generated from the Groovy template
+# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
+# within the Gradle project.
+#
+# You can find Gradle at https://github.com/gradle/gradle/.
+#
##############################################################################
# Attempt to set APP_HOME
+
# Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
- ls=`ls -ld "$PRG"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- PRG="$link"
- else
- PRG=`dirname "$PRG"`"/$link"
- fi
+app_path=$0
+
+# Need this for daisy-chained symlinks.
+while
+ APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
+ [ -h "$app_path" ]
+do
+ ls=$( ls -ld "$app_path" )
+ link=${ls#*' -> '}
+ case $link in #(
+ /*) app_path=$link ;; #(
+ *) app_path=$APP_HOME$link ;;
+ esac
done
-SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/" >/dev/null
-APP_HOME="`pwd -P`"
-cd "$SAVED" >/dev/null
-
-APP_NAME="Gradle"
-APP_BASE_NAME=`basename "$0"`
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
+# This is normally unused
+# shellcheck disable=SC2034
+APP_BASE_NAME=${0##*/}
+# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
+APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD="maximum"
+MAX_FD=maximum
warn () {
echo "$*"
-}
+} >&2
die () {
echo
echo "$*"
echo
exit 1
-}
+} >&2
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
-case "`uname`" in
- CYGWIN* )
- cygwin=true
- ;;
- Darwin* )
- darwin=true
- ;;
- MINGW* )
- msys=true
- ;;
- NONSTOP* )
- nonstop=true
- ;;
+case "$( uname )" in #(
+ CYGWIN* ) cygwin=true ;; #(
+ Darwin* ) darwin=true ;; #(
+ MSYS* | MINGW* ) msys=true ;; #(
+ NONSTOP* ) nonstop=true ;;
esac
-CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+CLASSPATH="\\\"\\\""
+
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
- JAVACMD="$JAVA_HOME/jre/sh/java"
+ JAVACMD=$JAVA_HOME/jre/sh/java
else
- JAVACMD="$JAVA_HOME/bin/java"
+ JAVACMD=$JAVA_HOME/bin/java
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
@@ -81,92 +132,120 @@ Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
- JAVACMD="java"
- which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+ JAVACMD=java
+ if ! command -v java >/dev/null 2>&1
+ then
+ die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
+ fi
fi
# Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
- MAX_FD_LIMIT=`ulimit -H -n`
- if [ $? -eq 0 ] ; then
- if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
- MAX_FD="$MAX_FD_LIMIT"
- fi
- ulimit -n $MAX_FD
- if [ $? -ne 0 ] ; then
- warn "Could not set maximum file descriptor limit: $MAX_FD"
- fi
- else
- warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
- fi
+if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
+ case $MAX_FD in #(
+ max*)
+ # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
+ # shellcheck disable=SC2039,SC3045
+ MAX_FD=$( ulimit -H -n ) ||
+ warn "Could not query maximum file descriptor limit"
+ esac
+ case $MAX_FD in #(
+ '' | soft) :;; #(
+ *)
+ # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
+ # shellcheck disable=SC2039,SC3045
+ ulimit -n "$MAX_FD" ||
+ warn "Could not set maximum file descriptor limit to $MAX_FD"
+ esac
fi
-# For Darwin, add options to specify how the application appears in the dock
-if $darwin; then
- GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
-fi
+# Collect all arguments for the java command, stacking in reverse order:
+# * args from the command line
+# * the main class name
+# * -classpath
+# * -D...appname settings
+# * --module-path (only if needed)
+# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if "$cygwin" || "$msys" ; then
+ APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
+ CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
+
+ JAVACMD=$( cygpath --unix "$JAVACMD" )
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin ; then
- APP_HOME=`cygpath --path --mixed "$APP_HOME"`
- CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
- JAVACMD=`cygpath --unix "$JAVACMD"`
-
- # We build the pattern for arguments to be converted via cygpath
- ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
- SEP=""
- for dir in $ROOTDIRSRAW ; do
- ROOTDIRS="$ROOTDIRS$SEP$dir"
- SEP="|"
- done
- OURCYGPATTERN="(^($ROOTDIRS))"
- # Add a user-defined pattern to the cygpath arguments
- if [ "$GRADLE_CYGPATTERN" != "" ] ; then
- OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
- fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
- i=0
- for arg in "$@" ; do
- CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
- CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
-
- if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
- eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
- else
- eval `echo args$i`="\"$arg\""
+ for arg do
+ if
+ case $arg in #(
+ -*) false ;; # don't mess with options #(
+ /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
+ [ -e "$t" ] ;; #(
+ *) false ;;
+ esac
+ then
+ arg=$( cygpath --path --ignore --mixed "$arg" )
fi
- i=$((i+1))
+ # Roll the args list around exactly as many times as the number of
+ # args, so each arg winds up back in the position where it started, but
+ # possibly modified.
+ #
+ # NB: a `for` loop captures its iteration list before it begins, so
+ # changing the positional parameters here affects neither the number of
+ # iterations, nor the values presented in `arg`.
+ shift # remove old arg
+ set -- "$@" "$arg" # push replacement arg
done
- case $i in
- (0) set -- ;;
- (1) set -- "$args0" ;;
- (2) set -- "$args0" "$args1" ;;
- (3) set -- "$args0" "$args1" "$args2" ;;
- (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
- (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
- (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
- (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
- (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
- (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
- esac
fi
-# Escape application args
-save () {
- for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
- echo " "
-}
-APP_ARGS=$(save "$@")
-
-# Collect all arguments for the java command, following the shell quoting and substitution rules
-eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
-# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
-if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
- cd "$(dirname "$0")"
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Collect all arguments for the java command:
+# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
+# and any embedded shellness will be escaped.
+# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
+# treated as '${Hostname}' itself on the command line.
+
+set -- \
+ "-Dorg.gradle.appname=$APP_BASE_NAME" \
+ -classpath "$CLASSPATH" \
+ -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
+ "$@"
+
+# Stop when "xargs" is not available.
+if ! command -v xargs >/dev/null 2>&1
+then
+ die "xargs is not available"
fi
+# Use "xargs" to parse quoted args.
+#
+# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
+#
+# In Bash we could simply go:
+#
+# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
+# set -- "${ARGS[@]}" "$@"
+#
+# but POSIX shell has neither arrays nor command substitution, so instead we
+# post-process each arg (as a line of input to sed) to backslash-escape any
+# character that might be a shell metacharacter, then use eval to reverse
+# that process (while maintaining the separation between arguments), and wrap
+# the whole thing up as a single "set" statement.
+#
+# This will of course break if any of these variables contains a newline or
+# an unmatched quote.
+#
+
+eval "set -- $(
+ printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
+ xargs -n1 |
+ sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
+ tr '\n' ' '
+ )" '"$@"'
+
exec "$JAVACMD" "$@"
diff --git a/gradlew.bat b/gradlew.bat
index f9553162..db3a6ac2 100644
--- a/gradlew.bat
+++ b/gradlew.bat
@@ -1,4 +1,22 @@
-@if "%DEBUG%" == "" @echo off
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+@rem SPDX-License-Identifier: Apache-2.0
+@rem
+
+@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@@ -9,25 +27,29 @@
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
-if "%DIRNAME%" == "" set DIRNAME=.
+if "%DIRNAME%"=="" set DIRNAME=.
+@rem This is normally unused
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS=
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
-if "%ERRORLEVEL%" == "0" goto init
+if %ERRORLEVEL% equ 0 goto execute
-echo.
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
+echo. 1>&2
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
goto fail
@@ -35,48 +57,36 @@ goto fail
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-if exist "%JAVA_EXE%" goto init
+if exist "%JAVA_EXE%" goto execute
-echo.
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
+echo. 1>&2
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
goto fail
-:init
-@rem Get command-line arguments, handling Windows variants
-
-if not "%OS%" == "Windows_NT" goto win9xME_args
-
-:win9xME_args
-@rem Slurp the command line arguments.
-set CMD_LINE_ARGS=
-set _SKIP=2
-
-:win9xME_args_slurp
-if "x%~1" == "x" goto execute
-
-set CMD_LINE_ARGS=%*
-
:execute
@rem Setup the command line
-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+set CLASSPATH=
+
@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
:end
@rem End local scope for the variables with windows NT shell
-if "%ERRORLEVEL%"=="0" goto mainEnd
+if %ERRORLEVEL% equ 0 goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
-if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
-exit /b 1
+set EXIT_CODE=%ERRORLEVEL%
+if %EXIT_CODE% equ 0 set EXIT_CODE=1
+if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
+exit /b %EXIT_CODE%
:mainEnd
if "%OS%"=="Windows_NT" endlocal
diff --git a/org.contextmapper.dsl.ide.tests/.classpath b/org.contextmapper.dsl.ide.tests/.classpath
index 79dc4c0c..9684cf42 100644
--- a/org.contextmapper.dsl.ide.tests/.classpath
+++ b/org.contextmapper.dsl.ide.tests/.classpath
@@ -15,7 +15,7 @@
-
+
diff --git a/org.contextmapper.dsl.ide.tests/META-INF/MANIFEST.MF b/org.contextmapper.dsl.ide.tests/META-INF/MANIFEST.MF
index 76d1b18b..5a4dc981 100644
--- a/org.contextmapper.dsl.ide.tests/META-INF/MANIFEST.MF
+++ b/org.contextmapper.dsl.ide.tests/META-INF/MANIFEST.MF
@@ -15,14 +15,13 @@ Require-Bundle: org.contextmapper.dsl,
org.contextmapper.contextmap.generator;bundle-version="1.2.1",
org.eclipse.lsp4j,
org.eclipse.lsp4j.jsonrpc,
- io.github.classgraph;bundle-version="4.8.35",
com.google.gson;bundle-version="2.8.9",
org.eclipse.osgi,
junit-jupiter-api,
junit-jupiter-params,
org.aopalliance;bundle-version="1.0.0",
org.eclipse.emf.ecore.change;bundle-version="2.14.0"
-Bundle-RequiredExecutionEnvironment: JavaSE-11
+Bundle-RequiredExecutionEnvironment: JavaSE-17
Export-Package: org.contextmapper.dsl.ide.tests;x-internal=true
Import-Package: org.eclipse.xtext.generator,
org.junit.jupiter.api;version="[5.1.0,6.0.0)",
diff --git a/org.contextmapper.dsl.ide.tests/build.gradle b/org.contextmapper.dsl.ide.tests/build.gradle
index 472a4ce0..7a9ff0ef 100644
--- a/org.contextmapper.dsl.ide.tests/build.gradle
+++ b/org.contextmapper.dsl.ide.tests/build.gradle
@@ -1,10 +1,11 @@
dependencies {
implementation project(':context-mapper-dsl')
implementation project(':context-mapper-lsp')
- implementation group: 'commons-io', name: 'commons-io', version: '2.6'
- testImplementation "org.junit.jupiter:junit-jupiter-api:5.5.1"
- testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.5.1"
- testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+ implementation 'commons-io:commons-io:2.22.0'
+ testImplementation "org.junit.jupiter:junit-jupiter-api"
+ testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine"
+ testRuntimeOnly "org.junit.platform:junit-platform-launcher"
+ testImplementation 'org.junit.jupiter:junit-jupiter-params'
testImplementation "org.eclipse.xtext:org.eclipse.xtext.testing:${xtextVersion}"
testImplementation "org.eclipse.xtext:org.eclipse.xtext.xbase.testing:${xtextVersion}"
}
@@ -19,9 +20,9 @@ jacocoTestReport {
sourceSets project(':context-mapper-lsp').sourceSets.main
reports {
- html.enabled = true
- xml.enabled = true
- csv.enabled = false
+ html.required = true
+ xml.required = true
+ csv.required = false
}
}
diff --git a/org.contextmapper.dsl.ide.tests/pom.xml b/org.contextmapper.dsl.ide.tests/pom.xml
index ef469267..4ca5f484 100644
--- a/org.contextmapper.dsl.ide.tests/pom.xml
+++ b/org.contextmapper.dsl.ide.tests/pom.xml
@@ -11,7 +11,7 @@
- org.eclipse.xtend
+ org.eclipse.xtext
xtend-maven-plugin
diff --git a/org.contextmapper.dsl.ide.tests/src/org/contextmapper/dsl/ide/tests/actions/UserStoryActionsTest.xtend b/org.contextmapper.dsl.ide.tests/src/org/contextmapper/dsl/ide/tests/actions/UserStoryActionsTest.xtend
index 1b7716cb..7eb984cd 100644
--- a/org.contextmapper.dsl.ide.tests/src/org/contextmapper/dsl/ide/tests/actions/UserStoryActionsTest.xtend
+++ b/org.contextmapper.dsl.ide.tests/src/org/contextmapper/dsl/ide/tests/actions/UserStoryActionsTest.xtend
@@ -65,6 +65,7 @@ class UserStoryActionsTest extends AbstractBoundedContextCodeActionTest {
kind : quickfix
command : Command [
title = "Split Story by Verb/Operation"
+ tooltip = null
command = "cml.quickfix.command.splitStoryByVerb.proxy"
arguments = LinkedList (
"file://«this.root»/MyModel.cml",
diff --git a/org.contextmapper.dsl.ide.tests/src/org/contextmapper/dsl/ide/tests/commands/AbstractCMLCommandTest.xtend b/org.contextmapper.dsl.ide.tests/src/org/contextmapper/dsl/ide/tests/commands/AbstractCMLCommandTest.xtend
index 69b64dd2..6e94ce4d 100644
--- a/org.contextmapper.dsl.ide.tests/src/org/contextmapper/dsl/ide/tests/commands/AbstractCMLCommandTest.xtend
+++ b/org.contextmapper.dsl.ide.tests/src/org/contextmapper/dsl/ide/tests/commands/AbstractCMLCommandTest.xtend
@@ -17,20 +17,15 @@ package org.contextmapper.dsl.ide.tests.commands
import java.io.File
import org.contextmapper.dsl.ide.tests.AbstractCMLLanguageServerTest
-import org.eclipse.lsp4j.ClientCapabilities
import org.eclipse.lsp4j.ExecuteCommandCapabilities
-import org.eclipse.lsp4j.WorkspaceClientCapabilities
abstract class AbstractCMLCommandTest extends AbstractCMLLanguageServerTest {
def void initializeCommandsDynamically() {
+ // extend the capabilities prepared by Xtext; they enable the workspace folders
initialize[
- capabilities = new ClientCapabilities => [
- workspace = new WorkspaceClientCapabilities => [
- executeCommand = new ExecuteCommandCapabilities => [
- dynamicRegistration = true
- ]
- ]
+ capabilities.workspace.executeCommand = new ExecuteCommandCapabilities => [
+ dynamicRegistration = true
]
]
}
diff --git a/org.contextmapper.dsl.ide.tests/src/org/contextmapper/dsl/ide/tests/quickfixes/OpenCoordinationInBPMNSketchMinerActionTest.xtend b/org.contextmapper.dsl.ide.tests/src/org/contextmapper/dsl/ide/tests/quickfixes/OpenCoordinationInBPMNSketchMinerActionTest.xtend
index 64c29b37..2de1f7f7 100644
--- a/org.contextmapper.dsl.ide.tests/src/org/contextmapper/dsl/ide/tests/quickfixes/OpenCoordinationInBPMNSketchMinerActionTest.xtend
+++ b/org.contextmapper.dsl.ide.tests/src/org/contextmapper/dsl/ide/tests/quickfixes/OpenCoordinationInBPMNSketchMinerActionTest.xtend
@@ -44,6 +44,7 @@ class OpenCoordinationInBPMNSketchMinerActionTest extends AbstractCMLCommandTest
kind : quickfix
command : Command [
title = "Open coordination in BPMN Sketch Miner"
+ tooltip = null
command = "cml.coordination.open.sketch.miner"
arguments = LinkedList (
"https://www.bpmn-sketch-miner.ai/index.html#EYBwNgdgXAbgjAKALRIQYQPYQC4FMAe2AglAggM64BOMAlgMa4AEAKrudgMrV2MB0eDgHkQ1AIbZaWMkA"
diff --git a/org.contextmapper.dsl.ide.tests/src/org/contextmapper/dsl/ide/tests/quickfixes/OpenFlowInBPMNSketchMinerActionTest.xtend b/org.contextmapper.dsl.ide.tests/src/org/contextmapper/dsl/ide/tests/quickfixes/OpenFlowInBPMNSketchMinerActionTest.xtend
index 17703ec2..e5badd7b 100644
--- a/org.contextmapper.dsl.ide.tests/src/org/contextmapper/dsl/ide/tests/quickfixes/OpenFlowInBPMNSketchMinerActionTest.xtend
+++ b/org.contextmapper.dsl.ide.tests/src/org/contextmapper/dsl/ide/tests/quickfixes/OpenFlowInBPMNSketchMinerActionTest.xtend
@@ -46,6 +46,7 @@ class OpenFlowInBPMNSketchMinerActionTest extends AbstractCMLCommandTest {
kind : quickfix
command : Command [
title = "Open flow in BPMN Sketch Miner"
+ tooltip = null
command = "cml.flow.open.sketch.miner"
arguments = LinkedList (
"https://www.bpmn-sketch-miner.ai/index.html#EYBwNgdgXAbgjAKALRIQYQPYQC4FMAe2AggAREjgCWAxgIbaVZQIIDOuATjDbiZgLb9aEACYAhBAAoAojFw4iAShZA"
diff --git a/org.contextmapper.dsl.ide.tests/src/org/contextmapper/dsl/ide/tests/quickfixes/SplitStoryByVerbQuickFixTest.xtend b/org.contextmapper.dsl.ide.tests/src/org/contextmapper/dsl/ide/tests/quickfixes/SplitStoryByVerbQuickFixTest.xtend
index fc3b4965..e9b185cf 100644
--- a/org.contextmapper.dsl.ide.tests/src/org/contextmapper/dsl/ide/tests/quickfixes/SplitStoryByVerbQuickFixTest.xtend
+++ b/org.contextmapper.dsl.ide.tests/src/org/contextmapper/dsl/ide/tests/quickfixes/SplitStoryByVerbQuickFixTest.xtend
@@ -53,6 +53,7 @@ class SplitStoryByVerbQuickFixTest extends AbstractCMLCommandTest {
kind : quickfix
command : Command [
title = "Split Story by Verb/Operation"
+ tooltip = null
command = "cml.quickfix.command.splitStoryByVerb.proxy"
arguments = LinkedList (
"file://«this.root»/MyModel.cml",
diff --git a/org.contextmapper.dsl.ide/.classpath b/org.contextmapper.dsl.ide/.classpath
index 2d7f28c0..277a6027 100644
--- a/org.contextmapper.dsl.ide/.classpath
+++ b/org.contextmapper.dsl.ide/.classpath
@@ -3,7 +3,7 @@
-
+
diff --git a/org.contextmapper.dsl.ide/META-INF/MANIFEST.MF b/org.contextmapper.dsl.ide/META-INF/MANIFEST.MF
index 9bdd673f..588df813 100644
--- a/org.contextmapper.dsl.ide/META-INF/MANIFEST.MF
+++ b/org.contextmapper.dsl.ide/META-INF/MANIFEST.MF
@@ -15,7 +15,7 @@ Require-Bundle: org.contextmapper.dsl,
org.apache.log4j;bundle-version="1.2.15",
com.google.gson,
org.apache.commons.lang3;bundle-version="3.9.0"
-Bundle-RequiredExecutionEnvironment: JavaSE-11
+Bundle-RequiredExecutionEnvironment: JavaSE-17
Export-Package: org.contextmapper.dsl.ide.commands,
org.contextmapper.dsl.ide.contentassist.antlr,
org.contextmapper.dsl.ide.contentassist.antlr.internal,
diff --git a/org.contextmapper.dsl.ide/build.gradle b/org.contextmapper.dsl.ide/build.gradle
index 6cda08d7..c8bac8e9 100644
--- a/org.contextmapper.dsl.ide/build.gradle
+++ b/org.contextmapper.dsl.ide/build.gradle
@@ -7,13 +7,16 @@ dependencies {
}
apply plugin: 'application'
-mainClassName = "org.eclipse.xtext.ide.server.ServerLauncher"
+application {
+ mainClass = "org.eclipse.xtext.ide.server.ServerLauncher"
+}
//this is an eclipse plugin project
eclipseClasspath.enabled=false
cleanEclipseClasspath.enabled=false
task sourcesJar(type: Jar) {
+ dependsOn generateXtext
from sourceSets.main.allJava
archiveClassifier = 'sources'
}
@@ -23,13 +26,11 @@ task javadocJar(type: Jar) {
archiveClassifier = 'javadoc'
}
-artifacts {
- archives javadocJar, sourcesJar
-}
+assemble.dependsOn javadocJar, sourcesJar
signing {
sign(publishing.publications)
- required { gradle.taskGraph.hasTask("publishMavenJavaPublicationToMavenLocal") || gradle.taskGraph.hasTask("publishMavenJavaPublicationToMavenRepository") }
+ required = { gradle.taskGraph.hasTask("publishMavenJavaPublicationToMavenLocal") || gradle.taskGraph.hasTask("publishMavenJavaPublicationToMavenRepository") }
}
publishing {
@@ -49,13 +50,13 @@ publishing {
}
repositories {
maven {
- def releasesRepoUrl = "${ossReleaseStagingRepository}"
- def snapshotsRepoUrl = "${ossSnapshotRepository}"
+ def releasesRepoUrl = "${centralReleaseStagingRepository}"
+ def snapshotsRepoUrl = "${centralSnapshotRepository}"
url = project.version.text().endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
credentials {
- username = System.getenv('OSSRH_USERNAME')
- password = System.getenv('OSSRH_PASSWORD')
+ username = System.getenv('CENTRAL_USERNAME')
+ password = System.getenv('CENTRAL_PASSWORD')
}
}
}
@@ -106,10 +107,8 @@ def customizePom(pom) {
}
}
-model {
- tasks.generatePomFileForMavenJavaPublication {
- destination = file("$buildDir/generated-pom.xml")
- }
+tasks.withType(GenerateMavenPom).configureEach {
+ destination = layout.buildDirectory.file("generated-pom.xml").get().asFile
}
tasks.withType(CreateStartScripts).each { task ->
diff --git a/org.contextmapper.dsl.ide/pom.xml b/org.contextmapper.dsl.ide/pom.xml
index 0fdfa454..d86827c6 100644
--- a/org.contextmapper.dsl.ide/pom.xml
+++ b/org.contextmapper.dsl.ide/pom.xml
@@ -25,7 +25,7 @@
- org.eclipse.xtend
+ org.eclipse.xtext
xtend-maven-plugin
diff --git a/org.contextmapper.dsl.ide/src/org/contextmapper/dsl/ide/actions/CMLActionRegistry.java b/org.contextmapper.dsl.ide/src/org/contextmapper/dsl/ide/actions/CMLActionRegistry.java
index 2a3e3063..bf3632a7 100644
--- a/org.contextmapper.dsl.ide/src/org/contextmapper/dsl/ide/actions/CMLActionRegistry.java
+++ b/org.contextmapper.dsl.ide/src/org/contextmapper/dsl/ide/actions/CMLActionRegistry.java
@@ -209,10 +209,11 @@ private CodeAction createQuickFixCodeAction(CMLQuickFix extends EObject> quick
private List> createQuickFixes4XtextDiagnostics(Diagnostic diagnostic, ICodeActionService2.Options options) {
List> quickFixCodeActions = Lists.newLinkedList();
+ String message = diagnostic.getMessage().isLeft() ? diagnostic.getMessage().getLeft() : diagnostic.getMessage().getRight().getValue();
if (diagnostic.getCode().get().equals(org.eclipse.xtext.diagnostics.Diagnostic.LINKING_DIAGNOSTIC)
- && diagnostic.getMessage().matches(String.format(CreateMissingBoundedContextQuickFix.LINK_DIAGNOSTIC_MESSAGE_PATTERN, "BoundedContext"))) {
+ && message.matches(String.format(CreateMissingBoundedContextQuickFix.LINK_DIAGNOSTIC_MESSAGE_PATTERN, "BoundedContext"))) {
Pattern pattern = Pattern.compile(String.format(CreateMissingBoundedContextQuickFix.LINK_DIAGNOSTIC_MESSAGE_PATTERN, "BoundedContext"));
- Matcher matcher = pattern.matcher(diagnostic.getMessage());
+ Matcher matcher = pattern.matcher(message);
if (matcher.find()) {
CreateMissingBoundedContextQuickFix quickFix = new CreateMissingBoundedContextQuickFix(matcher.group(1));
quickFixCodeActions.add(Either.forRight(createQuickFixCodeAction(quickFix, diagnostic, options, true)));
diff --git a/org.contextmapper.dsl.repository/pom.xml b/org.contextmapper.dsl.repository/pom.xml
index 695a02ca..e5af9cd5 100644
--- a/org.contextmapper.dsl.repository/pom.xml
+++ b/org.contextmapper.dsl.repository/pom.xml
@@ -202,8 +202,8 @@
- org.eclipse.tycho.extras
- tycho-eclipserun-plugin
+ org.eclipse.tycho
+ tycho-eclipse-plugin
${tycho-version}
@@ -216,7 +216,7 @@
2022-09
p2
- http://download.eclipse.org/releases/2022-09
+ https://download.eclipse.org/releases/2022-09
@@ -268,8 +268,8 @@
- org.eclipse.tycho.extras
- tycho-eclipserun-plugin
+ org.eclipse.tycho
+ tycho-eclipse-plugin
${tycho-version}
@@ -282,7 +282,7 @@
2022-09
p2
- http://download.eclipse.org/releases/2022-09
+ https://download.eclipse.org/releases/2022-09
diff --git a/org.contextmapper.dsl.target/org.contextmapper.dsl.target.target b/org.contextmapper.dsl.target/org.contextmapper.dsl.target.target
index b6780248..b94a19ed 100644
--- a/org.contextmapper.dsl.target/org.contextmapper.dsl.target.target
+++ b/org.contextmapper.dsl.target/org.contextmapper.dsl.target.target
@@ -9,24 +9,24 @@
-
+
-
+
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
@@ -39,9 +39,8 @@
-
-
-
+
+
@@ -53,13 +52,10 @@
-
-
-
\ No newline at end of file
diff --git a/org.contextmapper.dsl.tests/.classpath b/org.contextmapper.dsl.tests/.classpath
index ef9742d3..39e241d2 100644
--- a/org.contextmapper.dsl.tests/.classpath
+++ b/org.contextmapper.dsl.tests/.classpath
@@ -15,7 +15,7 @@
-
+
diff --git a/org.contextmapper.dsl.tests/META-INF/MANIFEST.MF b/org.contextmapper.dsl.tests/META-INF/MANIFEST.MF
index 1a5e9577..5892a6f3 100644
--- a/org.contextmapper.dsl.tests/META-INF/MANIFEST.MF
+++ b/org.contextmapper.dsl.tests/META-INF/MANIFEST.MF
@@ -15,14 +15,12 @@ Require-Bundle: org.contextmapper.dsl,
org.contextmapper.contextmap.generator;bundle-version="1.2.1",
org.eclipse.lsp4j,
org.eclipse.lsp4j.jsonrpc,
- io.github.classgraph;bundle-version="4.8.35",
com.google.gson,
org.eclipse.osgi,
org.freemarker.freemarker;bundle-version="2.3.30",
junit-jupiter-api,
- junit-jupiter-params,
- org.slf4j.api;bundle-version="1.7.30"
-Bundle-RequiredExecutionEnvironment: JavaSE-11
+ junit-jupiter-params
+Bundle-RequiredExecutionEnvironment: JavaSE-17
Export-Package: org.contextmapper.dsl.tests;x-internal=true,
org.contextmapper.tactic.dsl.tests;x-internal=true,
org.contextmapper.servicecutter.dsl.tests;x-internal=true
diff --git a/org.contextmapper.dsl.tests/build.gradle b/org.contextmapper.dsl.tests/build.gradle
index 649ccd7f..3a0a74ea 100644
--- a/org.contextmapper.dsl.tests/build.gradle
+++ b/org.contextmapper.dsl.tests/build.gradle
@@ -1,12 +1,13 @@
dependencies {
implementation project(':context-mapper-dsl')
- implementation group: 'org.contextmapper', name: 'context-map-generator', version: '1.2.1'
- implementation group: 'commons-io', name: 'commons-io', version: '2.6'
- implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.9'
+ implementation 'org.contextmapper:context-map-generator:1.2.1'
+ implementation 'commons-io:commons-io:2.22.0'
+ implementation 'org.apache.commons:commons-lang3:3.21.0'
- testImplementation "org.junit.jupiter:junit-jupiter-api:5.5.1"
- testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.5.1"
- testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.1'
+ testImplementation "org.junit.jupiter:junit-jupiter-api"
+ testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine"
+ testRuntimeOnly "org.junit.platform:junit-platform-launcher"
+ testImplementation 'org.junit.jupiter:junit-jupiter-params'
testImplementation "org.eclipse.xtext:org.eclipse.xtext.testing:${xtextVersion}"
testImplementation "org.eclipse.xtext:org.eclipse.xtext.xbase.testing:${xtextVersion}"
}
@@ -21,9 +22,9 @@ jacocoTestReport {
sourceSets project(':context-mapper-dsl').sourceSets.main
reports {
- html.enabled = true
- xml.enabled = true
- csv.enabled = false
+ html.required = true
+ xml.required = true
+ csv.required = false
}
}
diff --git a/org.contextmapper.dsl.tests/pom.xml b/org.contextmapper.dsl.tests/pom.xml
index 699b318b..b044fd3d 100644
--- a/org.contextmapper.dsl.tests/pom.xml
+++ b/org.contextmapper.dsl.tests/pom.xml
@@ -11,7 +11,7 @@
- org.eclipse.xtend
+ org.eclipse.xtext
xtend-maven-plugin
diff --git a/org.contextmapper.dsl.ui.tests/.classpath b/org.contextmapper.dsl.ui.tests/.classpath
index ff0b4448..6b07955e 100644
--- a/org.contextmapper.dsl.ui.tests/.classpath
+++ b/org.contextmapper.dsl.ui.tests/.classpath
@@ -5,7 +5,7 @@
-
+
diff --git a/org.contextmapper.dsl.ui.tests/META-INF/MANIFEST.MF b/org.contextmapper.dsl.ui.tests/META-INF/MANIFEST.MF
index 64f946c8..362e25a2 100644
--- a/org.contextmapper.dsl.ui.tests/META-INF/MANIFEST.MF
+++ b/org.contextmapper.dsl.ui.tests/META-INF/MANIFEST.MF
@@ -15,7 +15,7 @@ Require-Bundle: org.contextmapper.dsl.ui,
org.eclipse.ui.workbench;resolution:=optional
Import-Package: org.junit.jupiter.api;version="[5.1.0,6.0.0)",
org.junit.jupiter.api.extension;version="[5.1.0,6.0.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-11
+Bundle-RequiredExecutionEnvironment: JavaSE-17
Export-Package: org.contextmapper.dsl.ui.tests;x-internal=true,
org.contextmapper.tactic.dsl.ui.tests;x-internal=true,
org.contextmapper.servicecutter.dsl.ui.tests;x-internal=true
diff --git a/org.contextmapper.dsl.ui/.classpath b/org.contextmapper.dsl.ui/.classpath
index 2d7f28c0..277a6027 100644
--- a/org.contextmapper.dsl.ui/.classpath
+++ b/org.contextmapper.dsl.ui/.classpath
@@ -3,7 +3,7 @@
-
+
diff --git a/org.contextmapper.dsl.ui/META-INF/MANIFEST.MF b/org.contextmapper.dsl.ui/META-INF/MANIFEST.MF
index 75072c67..4576b3e4 100644
--- a/org.contextmapper.dsl.ui/META-INF/MANIFEST.MF
+++ b/org.contextmapper.dsl.ui/META-INF/MANIFEST.MF
@@ -20,7 +20,7 @@ Require-Bundle: org.contextmapper.dsl,
org.eclipse.xtend.lib;bundle-version="2.14.0";resolution:=optional
Import-Package: org.apache.log4j,
org.eclipse.xtext.xbase.ui.hover
-Bundle-RequiredExecutionEnvironment: JavaSE-11
+Bundle-RequiredExecutionEnvironment: JavaSE-17
Export-Package: org.contextmapper.dsl.ui.contentassist,
org.contextmapper.dsl.ui.quickfix,
org.contextmapper.dsl.ui.internal,
diff --git a/org.contextmapper.dsl.ui/pom.xml b/org.contextmapper.dsl.ui/pom.xml
index 36ae89e2..fcdeb5c9 100644
--- a/org.contextmapper.dsl.ui/pom.xml
+++ b/org.contextmapper.dsl.ui/pom.xml
@@ -11,7 +11,7 @@
- org.eclipse.xtend
+ org.eclipse.xtext
xtend-maven-plugin
diff --git a/org.contextmapper.dsl/.classpath b/org.contextmapper.dsl/.classpath
index c979c8a7..e9522a4a 100644
--- a/org.contextmapper.dsl/.classpath
+++ b/org.contextmapper.dsl/.classpath
@@ -3,7 +3,7 @@
-
+
diff --git a/org.contextmapper.dsl/.launch/LaunchRuntimeEclipse.launch b/org.contextmapper.dsl/.launch/LaunchRuntimeEclipse.launch
index b99be43f..82195fdf 100644
--- a/org.contextmapper.dsl/.launch/LaunchRuntimeEclipse.launch
+++ b/org.contextmapper.dsl/.launch/LaunchRuntimeEclipse.launch
@@ -23,7 +23,7 @@
-
+
diff --git a/org.contextmapper.dsl/META-INF/MANIFEST.MF b/org.contextmapper.dsl/META-INF/MANIFEST.MF
index 7969ee60..1f533921 100644
--- a/org.contextmapper.dsl/META-INF/MANIFEST.MF
+++ b/org.contextmapper.dsl/META-INF/MANIFEST.MF
@@ -20,11 +20,8 @@ Require-Bundle: org.eclipse.xtext,
org.apache.commons.lang3;bundle-version="3.9.0",
org.apache.commons.exec;bundle-version="1.3.0",
guru.nidi.com.kitfox.svgSalamander;bundle-version="1.1.2",
- org.freemarker.freemarker;bundle-version="2.3.30",
- com.fasterxml.jackson.core.jackson-annotations,
- com.fasterxml.jackson.core.jackson-core,
- org.yaml.snakeyaml;bundle-version="1.14.0"
-Bundle-RequiredExecutionEnvironment: JavaSE-11
+ org.freemarker.freemarker;bundle-version="2.3.30"
+Bundle-RequiredExecutionEnvironment: JavaSE-17
Export-Package: org.contextmapper.dsl,
org.contextmapper.dsl.cml,
org.contextmapper.dsl.cml.exception,
diff --git a/org.contextmapper.dsl/build.gradle b/org.contextmapper.dsl/build.gradle
index 4b456e5b..22a8981d 100644
--- a/org.contextmapper.dsl/build.gradle
+++ b/org.contextmapper.dsl/build.gradle
@@ -7,13 +7,10 @@ dependencies {
testImplementation "org.eclipse.xtext:org.eclipse.xtext.testing:${xtextVersion}"
testImplementation "org.eclipse.xtext:org.eclipse.xtext.xbase.testing:${xtextVersion}"
- implementation group: 'commons-io', name: 'commons-io', version: '2.6'
- implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.9'
- implementation group: 'org.freemarker', name: 'freemarker', version: '2.3.30'
- implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.9.9'
- implementation group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: '2.9.9'
- implementation group: 'org.yaml', name: 'snakeyaml', version: '1.14'
- implementation group: 'org.contextmapper', name: 'context-map-generator', version: '1.2.1'
+ implementation 'commons-io:commons-io:2.22.0'
+ implementation 'org.apache.commons:commons-lang3:3.21.0'
+ implementation 'org.freemarker:freemarker:2.3.35'
+ implementation 'org.contextmapper:context-map-generator:1.2.1'
}
configurations {
@@ -54,6 +51,7 @@ clean {
}
task sourcesJar(type: Jar) {
+ dependsOn generateXtext
from sourceSets.main.allJava
archiveClassifier = 'sources'
}
@@ -72,13 +70,11 @@ task javadocJar(type: Jar) {
archiveClassifier = 'javadoc'
}
-artifacts {
- archives javadocJar, sourcesJar
-}
+assemble.dependsOn javadocJar, sourcesJar
signing {
sign(publishing.publications)
- required { gradle.taskGraph.hasTask("publishMavenJavaPublicationToMavenLocal") || gradle.taskGraph.hasTask("publishMavenJavaPublicationToMavenRepository") }
+ required = { gradle.taskGraph.hasTask("publishMavenJavaPublicationToMavenLocal") || gradle.taskGraph.hasTask("publishMavenJavaPublicationToMavenRepository") }
}
publishing {
@@ -96,13 +92,13 @@ publishing {
}
repositories {
maven {
- def releasesRepoUrl = "${ossReleaseStagingRepository}"
- def snapshotsRepoUrl = "${ossSnapshotRepository}"
+ def releasesRepoUrl = "${centralReleaseStagingRepository}"
+ def snapshotsRepoUrl = "${centralSnapshotRepository}"
url = project.version.text().endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
credentials {
- username = System.getenv('OSSRH_USERNAME')
- password = System.getenv('OSSRH_PASSWORD')
+ username = System.getenv('CENTRAL_USERNAME')
+ password = System.getenv('CENTRAL_PASSWORD')
}
}
}
@@ -153,9 +149,6 @@ def customizePom(pom) {
}
}
-model {
- tasks.generatePomFileForMavenJavaPublication {
- destination = file("$buildDir/generated-pom.xml")
- }
-
+tasks.withType(GenerateMavenPom).configureEach {
+ destination = layout.buildDirectory.file("generated-pom.xml").get().asFile
}
diff --git a/org.contextmapper.dsl/pom.xml b/org.contextmapper.dsl/pom.xml
index 8170283f..d2e9f472 100644
--- a/org.contextmapper.dsl/pom.xml
+++ b/org.contextmapper.dsl/pom.xml
@@ -43,7 +43,7 @@
- org.eclipse.xtend
+ org.eclipse.xtext
xtend-maven-plugin
diff --git a/pom.xml b/pom.xml
index 0ee0bbf8..4e1af9b2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,13 +6,13 @@
pom
- 2.32.0
- 2.15.0
+ 2.42.0
+ 2.25.0
UTF-8
- 11
- 11
+ 17
+ 17
- 2.7.5
+ 5.0.4
@@ -132,6 +132,8 @@
${project.version}
+
+ false
macosx
@@ -172,7 +174,7 @@
- org.eclipse.xtend
+ org.eclipse.xtext
xtend-maven-plugin
${xtextVersion}