diff --git a/.project b/.project
index 872d289a1b62aea80e4ff30a13d0f560cac36715..fffc988148df66dc3b59ce6ef3209dceb99bf10a 100644
--- a/.project
+++ b/.project
@@ -42,14 +42,5 @@
1.0-name-matches-false-false-releng
-
- 1647267860916
- releng
- 9
-
- org.eclipse.ui.ide.multiFilter
- 1.0-name-matches-false-false-legal-defaults
-
-
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000000000000000000000000000000000000..1ce6ffd782a2606fe89e7d874714548bd8f03ca0
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,116 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2021 Contributors to the Eclipse Foundation
+//
+// This program and the accompanying materials are made
+// available under the terms of the Eclipse Public License 2.0
+// which is available at https://www.eclipse.org/legal/epl-2.0/
+//
+// SPDX-License-Identifier: EPL-2.0
+//
+//////////////////////////////////////////////////////////////////////////////
+
+pipeline {
+ agent {
+ // The 'centos-7' pod template allows UI tests.
+ kubernetes {
+ inheritFrom 'centos-7'
+ }
+ }
+
+ tools {
+ jdk 'temurin-jdk8-latest'
+ maven 'apache-maven-3.8.3'
+ }
+
+ options {
+ buildDiscarder(logRotator(
+ // Number of builds to keep.
+ numToKeepStr: '5',
+
+ // Number of builds for which to keep the artifacts.
+ artifactNumToKeepStr: '5',
+
+ // Number of days to keep builds.
+ daysToKeepStr: env.BRANCH_NAME ==~ /master/ ? '7' : // master
+ env.BRANCH_NAME ==~ /develop/ ? '1000' : // develop
+ env.TAG_NAME ==~ /v[0-9]+\\.[0-9]+.*/ ? '120' : // release tags
+ '30', // other branches and merge requests
+
+ // Number of days to keep artifacts of builds.
+ artifactDaysToKeepStr: env.BRANCH_NAME ==~ /master/ ? '7' : // master
+ env.BRANCH_NAME ==~ /develop/ ? '1000' : // develop
+ env.TAG_NAME ==~ /v[0-9]+\\.[0-9]+.*/ ? '30' : // release tags
+ '30', // other branches and merge requests
+ ))
+ timeout(time: 1, unit: 'HOURS')
+ timestamps()
+ }
+
+ stages {
+ stage('Build & Test') {
+ steps {
+ wrap([$class: 'Xvnc', takeScreenshot: false, useXauthority: true]) {
+ sh '''
+ # Print versions.
+ java -version
+ mvn -version
+ git --version
+
+ # Print environment.
+ printenv
+
+ # Get Git last commit date.
+ GIT_DATE_EPOCH=$(git log -1 --format=%cd --date=raw | cut -d ' ' -f 1)
+ GIT_DATE=$(date -d @$GIT_DATE_EPOCH -u +%Y%m%d-%H%M%S)
+
+ # Configure 'jenkins' profile for build.
+ BUILD_ARGS="-Pjenkins"
+
+ # Override the 'trace4cps.version.enduser' property for releases. Remains 'dev' otherwise.
+ if [[ "$TAG_NAME" =~ ^v[0-9]+\\.[0-9]+.*$ ]]; then
+ BUILD_ARGS="$BUILD_ARGS -Dtrace4cps.version.enduser=$TAG_NAME"
+ fi
+
+ # Override the 'trace4cps.version.qualifier' property for Jenkins builds.
+ # It starts with 'v' and the Git date, followed by a qualifier postfix.
+ # For releases, the qualifier postfix is the postfix of the version tag (if any).
+ # For non-releases, the qualifier postfix is 'dev'.
+ if [[ "$TAG_NAME" =~ ^v[0-9]+\\.[0-9]+.*$ ]]; then
+ QUALIFIER_POSTFIX=$(echo "$TAG_NAME" | sed -e 's/^[^-]*//g')
+ else
+ QUALIFIER_POSTFIX=-dev
+ fi
+ BUILD_ARGS="$BUILD_ARGS -Dtrace4cps.version.qualifier=v$GIT_DATE$QUALIFIER_POSTFIX"
+
+ # Perform build.
+ ./build.sh $BUILD_ARGS
+ '''
+ }
+ }
+
+ post {
+ success {
+ // Update site.
+ archiveArtifacts 'releng/org.eclipse.trace4cps.repository/target/*-updatesite.zip'
+ }
+ }
+ }
+ }
+
+ post {
+ // Send an e-mail on unsuccessful builds (unstable, failure, aborted).
+ unsuccessful {
+ emailext subject: 'Build $BUILD_STATUS $PROJECT_NAME #$BUILD_NUMBER!',
+ body: '''Check console output at $BUILD_URL to view the results.''',
+ recipientProviders: [culprits(), requestor()]
+ }
+
+ // Send an e-mail on fixed builds (back to normal).
+ fixed {
+ emailext subject: 'Build $BUILD_STATUS $PROJECT_NAME #$BUILD_NUMBER!',
+ body: '''Check console output at $BUILD_URL to view the results.''',
+ recipientProviders: [culprits(), requestor()]
+ }
+ }
+}
diff --git a/TRACE4CPS.setup b/TRACE4CPS.setup
index 0228c919bcecf203aa1346e5c88e9fc6b6c03560..fd85dcb68650d8a47aa895d917702487d1909625 100644
--- a/TRACE4CPS.setup
+++ b/TRACE4CPS.setup
@@ -584,12 +584,16 @@
name="net.sf.eclipsecs.feature.group"/>
+
+
Install the tools needed in the IDE to work with the source code for ${scope.project.label}.
diff --git a/build.sh b/build.sh
old mode 100644
new mode 100755
diff --git a/releng/org.eclipse.trace4cps.configuration/pom.xml b/releng/org.eclipse.trace4cps.configuration/pom.xml
index a0f180ff7be0f9bfcace7a35b5720d5a38125a91..b09eae6209b4772ddbbb9159f9981be877d69e80 100644
--- a/releng/org.eclipse.trace4cps.configuration/pom.xml
+++ b/releng/org.eclipse.trace4cps.configuration/pom.xml
@@ -19,6 +19,16 @@
pom
+
+
+ dev
+
+
+
+
+
+ dev
+
1.8
${java.source}
@@ -88,6 +98,9 @@
${tycho.version}
+
+ ${trace4cps.version.qualifier}
+
false
@@ -316,7 +329,7 @@
checkstyle-check
- ${basedir}/.checkstyle
+ ${project.basedir}/.checkstyle
@@ -342,7 +355,7 @@
true
info
- ${basedir}/src
+ ${project.basedir}/src
@@ -360,7 +373,7 @@
add-plugin-default-abouts
- ${basedir}/about.html
+ ${project.basedir}/about.html
@@ -404,7 +417,7 @@
create-plugin-source
- ${basedir}/META-INF/MANIFEST.MF
+ ${project.basedir}/META-INF/MANIFEST.MF
@@ -430,7 +443,7 @@
create-feature-source
- ${basedir}/feature.xml
+ ${project.basedir}/feature.xml
diff --git a/releng/org.eclipse.trace4cps.repository/pom.xml b/releng/org.eclipse.trace4cps.repository/pom.xml
index 0ae8cbd32d734c61acf65033fbca2fa38708d72a..217d18fa4b1c268f9b46743e07f2c5692eb12cef 100644
--- a/releng/org.eclipse.trace4cps.repository/pom.xml
+++ b/releng/org.eclipse.trace4cps.repository/pom.xml
@@ -35,6 +35,9 @@
Eclipse TRACE4CPS Update Site (Incubation)
+
+
+ eclipse-trace4cps-incubation-${trace4cps.version.enduser}-updatesite
diff --git a/temporallogic/org.eclipse.trace4cps.tl.cmd/pom.xml b/temporallogic/org.eclipse.trace4cps.tl.cmd/pom.xml
index c9e4de7bdf7af95762a2bcfaea5c14169628b1e7..be2540fd569681d7fa1978a5791d4d3d9f1af9d5 100644
--- a/temporallogic/org.eclipse.trace4cps.tl.cmd/pom.xml
+++ b/temporallogic/org.eclipse.trace4cps.tl.cmd/pom.xml
@@ -20,7 +20,7 @@
../../
- TRACE4CPS Runtime Verification CLI
+ TRACE4CPS Runtime Verification CLI
org.eclipse.trace4cps.tl.cmd
jar
diff --git a/temporallogic/org.eclipse.trace4cps.tl/pom.xml b/temporallogic/org.eclipse.trace4cps.tl/pom.xml
index a6443ad9e096fca224079ea1054c361deca772b4..9f7f408921bed8f3d351febc1cdf5a7dda66795d 100644
--- a/temporallogic/org.eclipse.trace4cps.tl/pom.xml
+++ b/temporallogic/org.eclipse.trace4cps.tl/pom.xml
@@ -83,7 +83,7 @@
org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher
- /${project.basedir}/src/org/eclipse/trace4cps/tl/GenerateETL.mwe2
+ /${project.basedir}/src/org/eclipse/trace4cps/tl/GenerateEtl.mwe2
-p
rootPath=/${project.basedir}/..
@@ -141,37 +141,37 @@
- ${basedir}/../org.eclipse.trace4cps.tl/src-gen/
+ ${project.basedir}/../org.eclipse.trace4cps.tl/src-gen/
**/*
- ${basedir}/../org.eclipse.trace4cps.tl.tests/src-gen/
+ ${project.basedir}/../org.eclipse.trace4cps.tl.tests/src-gen/
**/*
- ${basedir}/../org.eclipse.trace4cps.tl.ide/src-gen/
+ ${project.basedir}/../org.eclipse.trace4cps.tl.ide/src-gen/
**/*
- ${basedir}/../org.eclipse.trace4cps.tl.ui/src-gen/
+ ${project.basedir}/../org.eclipse.trace4cps.tl.ui/src-gen/
**/*
- ${basedir}/../org.eclipse.trace4cps.tl.ui.tests/src-gen/
+ ${project.basedir}/../org.eclipse.trace4cps.tl.ui.tests/src-gen/
**/*
- ${basedir}/model/generated/
+ ${project.basedir}/model/generated/
diff --git a/temporallogic/org.eclipse.trace4cps.tl/src/org/eclipse/trace4cps/tl/GenerateEtl.mwe2 b/temporallogic/org.eclipse.trace4cps.tl/src/org/eclipse/trace4cps/tl/GenerateEtl.mwe2
index 18f67e1ac91782b8f6b3e26a836029dde16b1c5d..3a6b8ad2436f8f50109287647fdb6e621e5ce9b0 100644
--- a/temporallogic/org.eclipse.trace4cps.tl/src/org/eclipse/trace4cps/tl/GenerateEtl.mwe2
+++ b/temporallogic/org.eclipse.trace4cps.tl/src/org/eclipse/trace4cps/tl/GenerateEtl.mwe2
@@ -37,7 +37,7 @@ Workflow {
}
}
language = StandardLanguage {
- name = "org.eclipse.trace4cps.tl.etl"
+ name = "org.eclipse.trace4cps.tl.Etl"
fileExtensions = "etl"
serializer = {
generateStub = false