diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000000..ce1945f269 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: + - package-ecosystem: "maven" + directory: "/" + schedule: + interval: "weekly" \ No newline at end of file diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml new file mode 100644 index 0000000000..89a9db9da4 --- /dev/null +++ b/.github/workflows/maven.yml @@ -0,0 +1,32 @@ +name: Java CI with Maven + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + cache: maven + + - name: Setup Maven Action + uses: s4u/setup-maven-action@v1.11.0 + with: + maven-version: 3.9.5 + + - name: Build with Maven + run: mvn -B package --file pom.xml + +# - name: Update dependency graph +# uses: advanced-security/maven-dependency-submission-action@571e99aab1055c2e71a1e2309b9691de18d6b7d6 diff --git a/.gitignore b/.gitignore index 6bcf5b8e57..16dab10760 100644 --- a/.gitignore +++ b/.gitignore @@ -51,3 +51,9 @@ buildNumber.properties .mvn/wrapper/maven-wrapper.jar # End of https://www.toptal.com/developers/gitignore/api/maven + + +.polyglot.feature.xml +.polyglot.META-INF +.polyglot.category.xml +.tycho-consumer-pom.xml \ No newline at end of file diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index fa585f89fb..0000000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,32 +0,0 @@ -image: maven:latest - - -variables: - # `showDateTime` will show the passed time in milliseconds. You need to specify `--batch-mode` to make this work. - MAVEN_OPTS: >- - -Dhttps.protocols=TLSv1.2 - -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository - -Dorg.slf4j.simpleLogger.showDateTime=true - -Djava.awt.headless=true - - # As of Maven 3.3.0 instead of this you MAY define these options in `.mvn/maven.config` so the same config is used - # when running from the command line. - # As of Maven 3.6.1, the use of `--no-tranfer-progress` (or `-ntp`) suppresses download and upload messages. The use - # of the `Slf4jMavenTransferListener` is no longer necessary. - # `installAtEnd` and `deployAtEnd` are only effective with recent version of the corresponding plugins. - MAVEN_CLI_OPTS: >- - --batch-mode - --errors - --fail-at-end - --show-version - --no-transfer-progress - -cache: - paths: - - .m2/repository/ - policy: pull-push - -verify: - stage: build - script: - - mvn $MAVEN_CLI_OPTS verify \ No newline at end of file diff --git a/.gitlab/issue_templates/Bug.md b/.gitlab/issue_templates/Bug.md deleted file mode 100644 index 8cdde7a0a4..0000000000 --- a/.gitlab/issue_templates/Bug.md +++ /dev/null @@ -1,41 +0,0 @@ - - -## Description - -> Please describe your concern in detail! - -## Reproducible - -> Is the issue reproducable? -> Select one of: always, sometimes, random, have not tried, n/a - -### Steps to reproduce - -> Describe the steps needed to reproduce the issue. - -1. ... -2. ... -3. ... - -> What is your expected behavior and what was the actual behavior? - -### Additional information - -> Add more details here. In particular: if you have a stacktrace, put it here. - ---- - -* Commit: - - - - diff --git a/.gitlab/merge_request_templates/Feature.md b/.gitlab/merge_request_templates/Feature.md deleted file mode 100644 index 6a234a32ad..0000000000 --- a/.gitlab/merge_request_templates/Feature.md +++ /dev/null @@ -1,28 +0,0 @@ -> One-line explanation of the branch - - -# Why? - -> Explain briefly why this request should be accepted. - -# Features and Impact - -> Which new new features does this branch add? (e.g. taclets, GUI changes) - -> Which components should have changed and how? - -> What is the impact for using KeY/KeYclipse? - -> What is the impact for development process? (e.g. changes in build script) - -# Review - -> Are there any places that should be reviewed more closely? -> Where there any uncertainties during development? -> What design decisions have been made and how are they implemented? -> ... - -# Persons involved - -> Name the developers who contributed (by idea or commit) to this branch. - diff --git a/.gitlab/update.sh b/.gitlab/update.sh deleted file mode 100644 index 7a9eb6b7dc..0000000000 --- a/.gitlab/update.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh - -KEY_FOLDER=${KEY_FOLDER:-key} -KEY_BRANCH=${KEY_BRANCH:stable} - - -if [ ! -f $KEY_FOLDER ]; then - echo "KeY folder '$KEY_FOLDER' does not exists..." - echo "Checking out key-public to $KEY_FOLDER with branch $KEY_BRANCH" - - git --depth 1 --branch $KEY_BRANCH https://git.key-project.org/key-public/key $KEY_FOLDER -fi - -echo "Building key..." -(cd $KEY_FOLDER/key; - gradle --parallel :key.ui:shadowJar) - - -SHADOW_JAR=$(ls $KEY_FOLDER/key/key.ui/build/libs/*-exe.jar) - -echo "Clean KeYLib" -(cd KeYLib/; - rm -rf antlr bibliothek data de de.uka.ilkd.key.util fonts \ - javax javacc.class jjdoc.class jjtree.class MANIFEST.MF examples.zip \ - key.properties module-info.class META-INF net org recoder services; - ll) - -unzip -v $SHADOW_JAR - -echo "Unpacking $SHADOW_JAR into KeYLib" -(cd KeYLib; unzip $SHADOW_JAR) - -git status diff --git a/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java deleted file mode 100644 index b901097f2d..0000000000 --- a/.mvn/wrapper/MavenWrapperDownloader.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright 2007-present the original author or 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 - * - * http://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. - */ -import java.net.*; -import java.io.*; -import java.nio.channels.*; -import java.util.Properties; - -public class MavenWrapperDownloader { - - private static final String WRAPPER_VERSION = "0.5.6"; - /** - * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. - */ - private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" - + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; - - /** - * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to - * use instead of the default one. - */ - private static final String MAVEN_WRAPPER_PROPERTIES_PATH = - ".mvn/wrapper/maven-wrapper.properties"; - - /** - * Path where the maven-wrapper.jar will be saved to. - */ - private static final String MAVEN_WRAPPER_JAR_PATH = - ".mvn/wrapper/maven-wrapper.jar"; - - /** - * Name of the property which should be used to override the default download url for the wrapper. - */ - private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; - - public static void main(String args[]) { - System.out.println("- Downloader started"); - File baseDirectory = new File(args[0]); - System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); - - // If the maven-wrapper.properties exists, read it and check if it contains a custom - // wrapperUrl parameter. - File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); - String url = DEFAULT_DOWNLOAD_URL; - if(mavenWrapperPropertyFile.exists()) { - FileInputStream mavenWrapperPropertyFileInputStream = null; - try { - mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); - Properties mavenWrapperProperties = new Properties(); - mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); - url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); - } catch (IOException e) { - System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); - } finally { - try { - if(mavenWrapperPropertyFileInputStream != null) { - mavenWrapperPropertyFileInputStream.close(); - } - } catch (IOException e) { - // Ignore ... - } - } - } - System.out.println("- Downloading from: " + url); - - File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); - if(!outputFile.getParentFile().exists()) { - if(!outputFile.getParentFile().mkdirs()) { - System.out.println( - "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); - } - } - System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); - try { - downloadFileFromURL(url, outputFile); - System.out.println("Done"); - System.exit(0); - } catch (Throwable e) { - System.out.println("- Error downloading"); - e.printStackTrace(); - System.exit(1); - } - } - - private static void downloadFileFromURL(String urlString, File destination) throws Exception { - if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { - String username = System.getenv("MVNW_USERNAME"); - char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); - Authenticator.setDefault(new Authenticator() { - @Override - protected PasswordAuthentication getPasswordAuthentication() { - return new PasswordAuthentication(username, password); - } - }); - } - URL website = new URL(urlString); - ReadableByteChannel rbc; - rbc = Channels.newChannel(website.openStream()); - FileOutputStream fos = new FileOutputStream(destination); - fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); - fos.close(); - rbc.close(); - } - -} diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index 642d572ce9..eacdc9ed17 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -1,2 +1,18 @@ -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip -wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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 +# +# http://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. +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.5/apache-maven-3.9.5-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index 2e84adff19..0000000000 --- a/Jenkinsfile +++ /dev/null @@ -1,41 +0,0 @@ -pipeline { - agent any -// docker { - //image 'maven:3.8.1-adoptopenjdk-11' - //args '-v $HOME/.m2:/root/.m2' - //image 'wadoon/key-test-docker:jdk11' - // } - - environment { - PATH = "/root/.sdkman/candidates/maven/current/bin:/root/.sdkman/candidates/gradle/current/bin:${env.PATH}" - } - - - stages { - stage('Env') { - steps { - sh 'echo $PATH' - sh 'echo $USER $USERNAME $UID' - sh "ls -l ~/.sdkman/candidates/" - sh "./mvnw -B verify" - } - } - - /* - stage('Build') { - steps { - sh "mvn clean package -DskipTests" - } - } - stage('Test') { - steps { - sh "echo 1" - } - } - stage('Deploy') { - steps { - sh "echo 1" - } - }*/ - } -} diff --git a/KeY4Eclipse/src/plugins/org.key_project.key4eclipse.common.ui/src/org/key_project/key4eclipse/common/ui/counterExample/EclipseCounterExampleGenerator.java b/KeY4Eclipse/src/plugins/org.key_project.key4eclipse.common.ui/src/org/key_project/key4eclipse/common/ui/counterExample/EclipseCounterExampleGenerator.java index 71d7288f94..286bfb574e 100644 --- a/KeY4Eclipse/src/plugins/org.key_project.key4eclipse.common.ui/src/org/key_project/key4eclipse/common/ui/counterExample/EclipseCounterExampleGenerator.java +++ b/KeY4Eclipse/src/plugins/org.key_project.key4eclipse.common.ui/src/org/key_project/key4eclipse/common/ui/counterExample/EclipseCounterExampleGenerator.java @@ -82,7 +82,7 @@ protected void handleLauncherStarted(Collection smtproblems, // Check for warnings for (SolverType type : solverTypes) { if (type.supportHasBeenChecked() && !type.isSupportedVersion()) { - information.add(new InformationMessage(SolverListener.computeSolverTypeWarningTitle(type), SolverListener.computeSolverTypeWarningMessage(type), false)); + information.add(new InformationMessage("Warning:" + type, SolverListener.computeSolverTypeWarningMessage(type), false)); } } } @@ -112,8 +112,8 @@ protected void showResultDialog() { dialog.setHelpAvailable(false); // Fill PreferenceManager for (InternSMTProblem problem : problems) { - if (problem.createInformation()) { - information.add(new InformationMessage(SolverListener.createExceptionTitle(problem), problem, true)); + for(var info : problem.getInformation()) { + information.add(new InformationMessage(info.getTitle(), problem, true)); } manager.addToRoot(new SMTProblemPreferenceNode(computeProblemId(problem), computeProblemName(problem), @@ -133,7 +133,7 @@ protected void showResultDialog() { * @return The computed name. */ public static String computeProblemName(InternSMTProblem problem) { - return problem.getProblem().getName() + " (" + problem.getSolver().getType().getName() + ")"; + return problem.getProblem().getName() + " (" + problem/*weigl: disabled .getSolver().getType().getName()*/ + ")"; } /** diff --git a/KeY4Eclipse/src/plugins/org.key_project.key4eclipse.common.ui/src/org/key_project/key4eclipse/common/ui/counterExample/SMTProblemPropertyPage.java b/KeY4Eclipse/src/plugins/org.key_project.key4eclipse.common.ui/src/org/key_project/key4eclipse/common/ui/counterExample/SMTProblemPropertyPage.java index a5d2d9eda9..2b2a213664 100644 --- a/KeY4Eclipse/src/plugins/org.key_project.key4eclipse.common.ui/src/org/key_project/key4eclipse/common/ui/counterExample/SMTProblemPropertyPage.java +++ b/KeY4Eclipse/src/plugins/org.key_project.key4eclipse.common.ui/src/org/key_project/key4eclipse/common/ui/counterExample/SMTProblemPropertyPage.java @@ -72,6 +72,8 @@ public SMTProblemPropertyPage(InternSMTProblem problem) { @Override protected Control createContents(Composite parent) { TabFolder tabFolder = new TabFolder(parent, SWT.NONE); + + /* weigl: disabled. problem does not offer getSolver() if (problem.getSolver().getType() == SolverType.Z3_CE_SOLVER && problem.getSolver().getSocket().getQuery() != null) { // Create model @@ -91,7 +93,7 @@ public void menuAboutToShow(IMenuManager manager) { viewer.getControl().setMenu(manager.createContextMenu(viewer.getControl())); // Create help tab createTextTab(tabFolder, "Help", InformationWindow.CE_HELP); - } + }*/ for (Information information : problem.getInformation()) { createTextTab(tabFolder, information.getTitle(), information.getContent()); } diff --git a/KeY4Eclipse/src/plugins/org.key_project.key4eclipse.resources/src/org/key_project/key4eclipse/resources/counterexamples/KeYProjectCounterExampleGenerator.java b/KeY4Eclipse/src/plugins/org.key_project.key4eclipse.resources/src/org/key_project/key4eclipse/resources/counterexamples/KeYProjectCounterExampleGenerator.java index b02160d6cb..dfaa6d34c0 100644 --- a/KeY4Eclipse/src/plugins/org.key_project.key4eclipse.resources/src/org/key_project/key4eclipse/resources/counterexamples/KeYProjectCounterExampleGenerator.java +++ b/KeY4Eclipse/src/plugins/org.key_project.key4eclipse.resources/src/org/key_project/key4eclipse/resources/counterexamples/KeYProjectCounterExampleGenerator.java @@ -73,13 +73,14 @@ protected void handleLauncherStarted(Collection smtproblems, protected void handleLauncherStopped(final SolverLauncher launcher, final Collection finishedSolvers) { for (InternSMTProblem problem : problems) { - if (problem.getSolver().getType() == SolverType.Z3_CE_SOLVER && + /*weigl: disabled. API. + if (problem.getSolver().getType() == SolverType.Z3_CE_SOLVER && problem.getSolver().getSocket().getQuery() != null) { Model model = problem.getSolver().getSocket().getQuery().getModel(); model.removeUnnecessaryObjects(); model.addAliases(); keYProjectCounterExamples.add(new KeYProjectCounterExample(computeProblemId(problem), computeProblemName(problem), model)); - } + }*/ } } @@ -89,7 +90,7 @@ protected void handleLauncherStopped(final SolverLauncher launcher, * @return The computed name. */ public static String computeProblemName(InternSMTProblem problem) { - return problem.getProblem().getName() + " (" + problem.getSolver().getType().getName() + ")"; + return problem.getProblem().getName() + " (" + problem/*weigl disabled: .getSolver().getType().getName() */ + ")"; } /** diff --git a/KeY4Eclipse/src/plugins/org.key_project.key4eclipse.starter.product.ui/pom.xml b/KeY4Eclipse/src/plugins/org.key_project.key4eclipse.starter.product.ui/pom.xml index 8c4b515a08..2179ad5053 100644 --- a/KeY4Eclipse/src/plugins/org.key_project.key4eclipse.starter.product.ui/pom.xml +++ b/KeY4Eclipse/src/plugins/org.key_project.key4eclipse.starter.product.ui/pom.xml @@ -1,4 +1,3 @@ - diff --git a/KeYIDE/src/features/pom.xml b/KeYIDE/src/features/pom.xml index a6cfba05f0..0cca8f55fd 100644 --- a/KeYIDE/src/features/pom.xml +++ b/KeYIDE/src/features/pom.xml @@ -1,4 +1,3 @@ - diff --git a/KeYIDE/src/plugins/org.key_project.keyide.product.ui/pom.xml b/KeYIDE/src/plugins/org.key_project.keyide.product.ui/pom.xml index 9f165a01a3..1010a6cb3a 100644 --- a/KeYIDE/src/plugins/org.key_project.keyide.product.ui/pom.xml +++ b/KeYIDE/src/plugins/org.key_project.keyide.product.ui/pom.xml @@ -1,4 +1,3 @@ - diff --git a/KeYIDE/src/plugins/pom.xml b/KeYIDE/src/plugins/pom.xml index aeb0c2b8d8..0ec615f9f2 100644 --- a/KeYIDE/src/plugins/pom.xml +++ b/KeYIDE/src/plugins/pom.xml @@ -1,4 +1,3 @@ - diff --git a/MonKeY/src/plugins/org.key_project.monkey.product.ui/src/org/key_project/monkey/product/ui/application/MonKeYWorkbenchWindowAdvisor.java b/MonKeY/src/plugins/org.key_project.monkey.product.ui/src/org/key_project/monkey/product/ui/application/MonKeYWorkbenchWindowAdvisor.java index bbd707578b..63bcf0cae9 100644 --- a/MonKeY/src/plugins/org.key_project.monkey.product.ui/src/org/key_project/monkey/product/ui/application/MonKeYWorkbenchWindowAdvisor.java +++ b/MonKeY/src/plugins/org.key_project.monkey.product.ui/src/org/key_project/monkey/product/ui/application/MonKeYWorkbenchWindowAdvisor.java @@ -45,7 +45,7 @@ public void preWindowOpen() { // configurer.setInitialSize(new Point(400, 300)); configurer.setShowCoolBar(false); configurer.setShowStatusLine(false); - configurer.setShowFastViewBars(false); + // weigl: n/a in new eclipse versions: configurer.setShowFastViewBars(false); configurer.setShowMenuBar(false); configurer.setShowPerspectiveBar(false); configurer.setShowProgressIndicator(true); diff --git a/MonKeY/src/plugins/pom.xml b/MonKeY/src/plugins/pom.xml index b947a5bdfd..ad65a50fd4 100644 --- a/MonKeY/src/plugins/pom.xml +++ b/MonKeY/src/plugins/pom.xml @@ -1,4 +1,3 @@ - diff --git a/ShellUtility/src/features/pom.xml b/ShellUtility/src/features/pom.xml index 4f64db5d4e..b6a105dba1 100644 --- a/ShellUtility/src/features/pom.xml +++ b/ShellUtility/src/features/pom.xml @@ -1,4 +1,3 @@ - diff --git a/Stubby/src/plugins/pom.xml b/Stubby/src/plugins/pom.xml index b4ce523ccf..cfae13b202 100644 --- a/Stubby/src/plugins/pom.xml +++ b/Stubby/src/plugins/pom.xml @@ -1,4 +1,3 @@ - diff --git a/SymbolicExecutionDebugger/src/features/pom.xml b/SymbolicExecutionDebugger/src/features/pom.xml index 457643cdc7..6a06f388c2 100644 --- a/SymbolicExecutionDebugger/src/features/pom.xml +++ b/SymbolicExecutionDebugger/src/features/pom.xml @@ -1,4 +1,3 @@ - diff --git a/SymbolicExecutionDebugger/src/plugins/org.key_project.sed.product.ui/pom.xml b/SymbolicExecutionDebugger/src/plugins/org.key_project.sed.product.ui/pom.xml index 7716ebc439..65f9316e59 100644 --- a/SymbolicExecutionDebugger/src/plugins/org.key_project.sed.product.ui/pom.xml +++ b/SymbolicExecutionDebugger/src/plugins/org.key_project.sed.product.ui/pom.xml @@ -1,4 +1,3 @@ - diff --git a/SymbolicExecutionDebugger/src/plugins/pom.xml b/SymbolicExecutionDebugger/src/plugins/pom.xml index 455030acfe..7b1b3abe4d 100644 --- a/SymbolicExecutionDebugger/src/plugins/pom.xml +++ b/SymbolicExecutionDebugger/src/plugins/pom.xml @@ -1,4 +1,3 @@ - diff --git a/VisualDbC/src/features/pom.xml b/VisualDbC/src/features/pom.xml index a57e7e6788..794a2aec69 100644 --- a/VisualDbC/src/features/pom.xml +++ b/VisualDbC/src/features/pom.xml @@ -1,4 +1,3 @@ - diff --git a/VisualDbC/src/plugins/de.hentschel.visualdbc.interactive.proving.ui/src/de/hentschel/visualdbc/interactive/proving/ui/util/ProofUtil.java b/VisualDbC/src/plugins/de.hentschel.visualdbc.interactive.proving.ui/src/de/hentschel/visualdbc/interactive/proving/ui/util/ProofUtil.java index d2fb6f9070..bbef7fb8a0 100644 --- a/VisualDbC/src/plugins/de.hentschel.visualdbc.interactive.proving.ui/src/de/hentschel/visualdbc/interactive/proving/ui/util/ProofUtil.java +++ b/VisualDbC/src/plugins/de.hentschel.visualdbc.interactive.proving.ui/src/de/hentschel/visualdbc/interactive/proving/ui/util/ProofUtil.java @@ -218,7 +218,7 @@ public static void resetProof(ShapeNodeEditPart proofEditPart, DbcProof proof) { CompoundCommand compoundCmd = new CompoundCommand("Proof reset"); if (isProofReferenceResetRequired(proof)) { // Compute the edit parts to delete - List editPartsToDelete = new LinkedList(); + List editPartsToDelete = new LinkedList(); for (DbcProofReference refToDel : proof.getProofReferences()) { Collection targetEditPart = GMFUtil.findEditParts(proofEditPart, refToDel); editPartsToDelete.addAll(targetEditPart); @@ -364,7 +364,7 @@ public static void updateReferences(final EditingDomain domain, public static void deleteReferences(ShapeNodeEditPart proofEditPart, List referencesToDelete) { if (isEditPartAlive(proofEditPart)) { // Compute the edit parts to delete - List editPartsToDelete = new LinkedList(); + List editPartsToDelete = new LinkedList(); for (DbcProofReference refToDel : referencesToDelete) { Collection targetEditPart = GMFUtil.findEditParts(proofEditPart, refToDel); editPartsToDelete.addAll(targetEditPart); diff --git a/mvnw b/mvnw index 41c0f0c23d..8d937f4c14 100755 --- a/mvnw +++ b/mvnw @@ -19,7 +19,7 @@ # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- -# Maven Start Up Batch script +# Apache Maven Wrapper startup batch script, version 3.2.0 # # Required ENV vars: # ------------------ @@ -27,7 +27,6 @@ # # Optional ENV vars # ----------------- -# M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @@ -36,6 +35,10 @@ if [ -z "$MAVEN_SKIP_RC" ] ; then + if [ -f /usr/local/etc/mavenrc ] ; then + . /usr/local/etc/mavenrc + fi + if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi @@ -50,7 +53,7 @@ fi cygwin=false; darwin=false; mingw=false -case "`uname`" in +case "$(uname)" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true @@ -58,9 +61,9 @@ case "`uname`" in # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then - export JAVA_HOME="`/usr/libexec/java_home`" + JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME else - export JAVA_HOME="/Library/Java/Home" + JAVA_HOME="/Library/Java/Home"; export JAVA_HOME fi fi ;; @@ -68,68 +71,38 @@ esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then - JAVA_HOME=`java-config --jre-home` + JAVA_HOME=$(java-config --jre-home) fi fi -if [ -z "$M2_HOME" ] ; then - ## resolve links - $0 may be a link to maven's home - 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 - done - - saveddir=`pwd` - - M2_HOME=`dirname "$PRG"`/.. - - # make it fully qualified - M2_HOME=`cd "$M2_HOME" && pwd` - - cd "$saveddir" - # echo Using m2 at $M2_HOME -fi - # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + JAVA_HOME=$(cygpath --unix "$JAVA_HOME") [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --unix "$CLASSPATH"` + CLASSPATH=$(cygpath --path --unix "$CLASSPATH") fi # For Mingw, ensure paths are in UNIX format before anything is touched if $mingw ; then - [ -n "$M2_HOME" ] && - M2_HOME="`(cd "$M2_HOME"; pwd)`" - [ -n "$JAVA_HOME" ] && - JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" + [ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] && + JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); pwd)" fi if [ -z "$JAVA_HOME" ]; then - javaExecutable="`which javac`" - if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + javaExecutable="$(which javac)" + if [ -n "$javaExecutable" ] && ! [ "$(expr "\"$javaExecutable\"" : '\([^ ]*\)')" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. - readLink=`which readlink` - if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + readLink=$(which readlink) + if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then if $darwin ; then - javaHome="`dirname \"$javaExecutable\"`" - javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + javaHome="$(dirname "\"$javaExecutable\"")" + javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac" else - javaExecutable="`readlink -f \"$javaExecutable\"`" + javaExecutable="$(readlink -f "\"$javaExecutable\"")" fi - javaHome="`dirname \"$javaExecutable\"`" - javaHome=`expr "$javaHome" : '\(.*\)/bin'` + javaHome="$(dirname "\"$javaExecutable\"")" + javaHome=$(expr "$javaHome" : '\(.*\)/bin') JAVA_HOME="$javaHome" export JAVA_HOME fi @@ -145,7 +118,7 @@ if [ -z "$JAVACMD" ] ; then JAVACMD="$JAVA_HOME/bin/java" fi else - JAVACMD="`which java`" + JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)" fi fi @@ -159,12 +132,9 @@ if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi -CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher - # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { - if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" @@ -180,96 +150,99 @@ find_maven_basedir() { fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then - wdir=`cd "$wdir/.."; pwd` + wdir=$(cd "$wdir/.." || exit 1; pwd) fi # end of workaround done - echo "${basedir}" + printf '%s' "$(cd "$basedir" || exit 1; pwd)" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then - echo "$(tr -s '\n' ' ' < "$1")" + # Remove \r in case we run on Windows within Git Bash + # and check out the repository with auto CRLF management + # enabled. Otherwise, we may read lines that are delimited with + # \r\n and produce $'-Xarg\r' rather than -Xarg due to word + # splitting rules. + tr -s '\r\n' ' ' < "$1" + fi +} + +log() { + if [ "$MVNW_VERBOSE" = true ]; then + printf '%s\n' "$1" fi } -BASE_DIR=`find_maven_basedir "$(pwd)"` +BASE_DIR=$(find_maven_basedir "$(dirname "$0")") if [ -z "$BASE_DIR" ]; then exit 1; fi +MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR +log "$MAVEN_PROJECTBASEDIR" + ########################################################################################## # Extension to allow automatically downloading the maven-wrapper.jar from Maven-central # This allows using the maven wrapper in projects that prohibit checking in binary data. ########################################################################################## -if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found .mvn/wrapper/maven-wrapper.jar" - fi +wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" +if [ -r "$wrapperJarPath" ]; then + log "Found $wrapperJarPath" else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." - fi + log "Couldn't find $wrapperJarPath, downloading it ..." + if [ -n "$MVNW_REPOURL" ]; then - jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" else - jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" fi - while IFS="=" read key value; do - case "$key" in (wrapperUrl) jarUrl="$value"; break ;; + while IFS="=" read -r key value; do + # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' ) + safeValue=$(echo "$value" | tr -d '\r') + case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;; esac - done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" - if [ "$MVNW_VERBOSE" = true ]; then - echo "Downloading from: $jarUrl" - fi - wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" + log "Downloading from: $wrapperUrl" + if $cygwin; then - wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") fi if command -v wget > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found wget ... using wget" - fi + log "Found wget ... using wget" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet" if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - wget "$jarUrl" -O "$wrapperJarPath" + wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" else - wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" + wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" fi elif command -v curl > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found curl ... using curl" - fi + log "Found curl ... using curl" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent" if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - curl -o "$wrapperJarPath" "$jarUrl" -f + curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" else - curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" fi - else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Falling back to using Java to download" - fi - javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + log "Falling back to using Java to download" + javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java" + javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class" # For Cygwin, switch paths to Windows format before running javac if $cygwin; then - javaClass=`cygpath --path --windows "$javaClass"` + javaSource=$(cygpath --path --windows "$javaSource") + javaClass=$(cygpath --path --windows "$javaClass") fi - if [ -e "$javaClass" ]; then - if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Compiling MavenWrapperDownloader.java ..." - fi - # Compiling the Java class - ("$JAVA_HOME/bin/javac" "$javaClass") + if [ -e "$javaSource" ]; then + if [ ! -e "$javaClass" ]; then + log " - Compiling MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/javac" "$javaSource") fi - if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - # Running the downloader - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Running MavenWrapperDownloader.java ..." - fi - ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + if [ -e "$javaClass" ]; then + log " - Running MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath" fi fi fi @@ -278,33 +251,58 @@ fi # End of extension ########################################################################################## -export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} -if [ "$MVNW_VERBOSE" = true ]; then - echo $MAVEN_PROJECTBASEDIR +# If specified, validate the SHA-256 sum of the Maven wrapper jar file +wrapperSha256Sum="" +while IFS="=" read -r key value; do + case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;; + esac +done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" +if [ -n "$wrapperSha256Sum" ]; then + wrapperSha256Result=false + if command -v sha256sum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + elif command -v shasum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." + echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties." + exit 1 + fi + if [ $wrapperSha256Result = false ]; then + echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2 + echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2 + echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2 + exit 1 + fi fi + MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + CLASSPATH=$(cygpath --path --windows "$CLASSPATH") [ -n "$MAVEN_PROJECTBASEDIR" ] && - MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` + MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") fi # Provide a "standardized" way to retrieve the CLI args that will # work with both Windows and non-Windows executions. -MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*" export MAVEN_CMD_LINE_ARGS WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain +# shellcheck disable=SC2086 # safe args exec "$JAVACMD" \ $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ - "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mvnw.cmd b/mvnw.cmd index 86115719e5..c4586b564e 100644 --- a/mvnw.cmd +++ b/mvnw.cmd @@ -18,13 +18,12 @@ @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- -@REM Maven Start Up Batch script +@REM Apache Maven Wrapper startup batch script, version 3.2.0 @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars -@REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @@ -46,8 +45,8 @@ if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" -if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* :skipRcPre @setlocal @@ -120,10 +119,10 @@ SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain -set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" +set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" -FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( - IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B ) @REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central @@ -134,11 +133,11 @@ if exist %WRAPPER_JAR% ( ) ) else ( if not "%MVNW_REPOURL%" == "" ( - SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" ) if "%MVNW_VERBOSE%" == "true" ( echo Couldn't find %WRAPPER_JAR%, downloading it ... - echo Downloading from: %DOWNLOAD_URL% + echo Downloading from: %WRAPPER_URL% ) powershell -Command "&{"^ @@ -146,7 +145,7 @@ if exist %WRAPPER_JAR% ( "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ "}"^ - "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^ "}" if "%MVNW_VERBOSE%" == "true" ( echo Finished downloading %WRAPPER_JAR% @@ -154,11 +153,35 @@ if exist %WRAPPER_JAR% ( ) @REM End of extension +@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file +SET WRAPPER_SHA_256_SUM="" +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B +) +IF NOT %WRAPPER_SHA_256_SUM%=="" ( + powershell -Command "&{"^ + "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^ + "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^ + " Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^ + " Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^ + " Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^ + " exit 1;"^ + "}"^ + "}" + if ERRORLEVEL 1 goto error +) + @REM Provide a "standardized" way to retrieve the CLI args that will @REM work with both Windows and non-Windows executions. set MAVEN_CMD_LINE_ARGS=%* -%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end @@ -168,15 +191,15 @@ set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" -if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' -if "%MAVEN_BATCH_PAUSE%" == "on" pause +if "%MAVEN_BATCH_PAUSE%"=="on" pause -if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% -exit /B %ERROR_CODE% +cmd /C exit /B %ERROR_CODE% diff --git a/pom.xml b/pom.xml index 866512bae7..89e82c92c1 100644 --- a/pom.xml +++ b/pom.xml @@ -1,74 +1,76 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - 4.0.0 - - org.key_project.key4eclipse - parent - 0.1.0-SNAPSHOT - - - 2022-03 - 2.7.3 - 2.2.0 - - -tag "generated:a:Generated class or method." - -tag "model:a:EMF model class or method." - -tag "ordered:a:Ordered collection." - -tag 'noimplement:a:Restriction:' - -tag 'noextend:a:Restriction:' - -tag 'noreference:a:Restriction:' - -tag 'noinstantiate:a:Restriction:' - -tag 'nooverride:a:Restriction:' - -tag 'category:a:Category:' - -link ${java.api.doc} - -link http://help.eclipse.org/2022-03/topic/org.eclipse.platform.doc.isv/reference/api - -link https://download.eclipse.org/modeling/emf/emf/javadoc/2.11/ - -link https://download.eclipse.org/modeling/emft/mwe/javadoc/2.9/ - - - - -link ${java.api.doc} - - 0.3.0 - - - - KeYLib - JMLEditing/src/features - JMLEditing/src/plugins - KeY4Eclipse/src/features - KeY4Eclipse/src/plugins - KeY4Eclipse/src/updateSite - KeYIDE/src/features - KeYIDE/src/plugins - MonKeY/src/features - MonKeY/src/plugins - ShellUtility/src/features - ShellUtility/src/plugins - Stubby/src/features - Stubby/src/plugins - + + -link ${java.api.doc} + + 0.3.0 + + + + KeYLib + JMLEditing/src/features + JMLEditing/src/plugins + KeY4Eclipse/src/features + KeY4Eclipse/src/plugins + KeY4Eclipse/src/updateSite + KeYIDE/src/features + KeYIDE/src/plugins + MonKeY/src/features + MonKeY/src/plugins + ShellUtility/src/features + ShellUtility/src/plugins + Stubby/src/features + Stubby/src/plugins + - SymbolicExecutionDebugger/src/features - SymbolicExecutionDebugger/src/plugins - VisualDbC/src/features - VisualDbC/src/plugins - - - ${project.artifactId} - A common parent POM for all Eclipse builds of MDSD.tools. - http://key-project.org/ - pom - - - - - eclipse - p2 - http://download.eclipse.org/releases/${tools.mdsd.dependencies.eclipse-version} - - - eclipse-orbit - p2 - http://download.eclipse.org/tools/orbit/downloads/${tools.mdsd.dependencies.eclipse-version} - - - - - - - - - - org.apache.maven.plugins - maven-site-plugin - 3.12.0 - - - org.apache.maven.plugins - maven-project-info-reports-plugin - 3.0.0 - - - - org.eclipse.tycho - tycho-compiler-plugin - ${tycho.version} - - -warn:+discouraged,forbidden - false - - - - - org.eclipse.tycho - tycho-versions-plugin - ${tycho.version} - - - - - - - - - - local-build-deployable - - - - ossrh - https://oss.sonatype.org/content/repositories/snapshots - - - ossrh - https://oss.sonatype.org/service/local/staging/deploy/maven2/ - - - - - - org.apache.maven.plugins - maven-gpg-plugin - 1.6 - - - sign-artifacts - verify - - sign - - - - - - --pinentry-mode - loopback - - - - - - - - - - - nightly - - - !release - - - - nightly - target/classes/nightly.aggr - - - - - sonatype-snapshots - https://oss.sonatype.org/content/repositories/snapshots/ - - false - - - always - - - - tycho-snapshots - https://repo.eclipse.org/content/repositories/tycho-snapshots/ - - false - - - always - - - - - - - release - - - release - - - - release - target/classes/release.aggr - - - - - - default-plugin-usage - - - .maven_disable_default-plugin-usage - - - - - - - org.eclipse.tycho - target-platform-configuration - - - - - org.apache.maven.plugins - maven-compiler-plugin - - - - - org.eclipse.tycho - tycho-source-plugin - - - org.eclipse.tycho - tycho-p2-plugin - - - org.eclipse.tycho - tycho-maven-plugin - true - - - - - org.apache.maven.plugins - maven-clean-plugin - - - - - org.jacoco - jacoco-maven-plugin - - - org.eclipse.tycho - tycho-surefire-plugin - - - - - - - - - tycho-javadoc-for-updatesite - - - category.xml - - - - - - org.palladiosimulator - tycho-document-bundle-plugin - ${tycho-javadoc.version} - - - eclipse-javadoc - generate-resources - - javadoc - - - ${project.build.directory}/repository/javadoc - false - true - - - ${javadoc.args} - ${javadoc.additional.args} - - - - - - - - - - - - tycho-javadoc-for-bundle - - - META-INF/MANIFEST.MF - - - generateJavaDocPerBundle - - - - - - org.palladiosimulator - tycho-document-bundle-plugin - ${tycho-javadoc.version} - - - artifact-javadoc - prepare-package - - javadoc - - - false - true - ${project.build.directory}/javadoc - true - false - - - ${javadoc.args} - ${javadoc.additional.args} - - - - - - - - org.apache.maven.plugins - maven-jar-plugin - 3.2.0 - - - artifact-javadoc-package - - jar - - - - false - - ${project.build.directory}/javadoc - javadoc - - - - - - - - - - default-plugin-configurations - - - .maven_disable_default-plugin-configurations - - - - UTF-8 - ${project.build.sourceEncoding} - 11 - https://docs.oracle.com/en/java/javase/11/docs/api/ - ${java.version} - ${java.version} - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - - - org.eclipse.tycho - target-platform-configuration - ${tycho.version} - - - - linux - gtk - x86_64 - - - win32 - win32 - x86_64 - - - macosx - cocoa - x86_64 - - - - - - - org.eclipse.tycho - tycho-source-plugin - ${tycho.version} - - - plugin-source - - plugin-source - - - - feature-source - - feature-source - - - - - - - org.eclipse.tycho - tycho-p2-plugin - ${tycho.version} - - - attached-p2-metadata - package - - p2-metadata - - - - - - - org.apache.maven.plugins - maven-clean-plugin - 3.1.0 - - true - - - ${project.basedir} - - target/** - xtend-gen/** - emfparsley-gen/** - - - */.gitkeep - - - - - - - - org.eclipse.tycho - tycho-maven-plugin - ${tycho.version} - true - - - - org.jacoco - jacoco-maven-plugin - 0.8.4 - - - jacoco-prepare - generate-test-sources - - prepare-agent - - - - - - - org.eclipse.tycho - tycho-surefire-plugin - ${tycho.version} - - - **/*Test.java - **/*Tests.java - - false - - - - - - - - - execute-generate-workflow - - - workflow/generate.mwe2 - - - - - - org.codehaus.mojo - exec-maven-plugin - 1.6.0 - - - ExecuteMWE2LauncherForGenerate - generate-sources - - java - - - org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher - - /${project.basedir}/workflow/generate.mwe2 - -p - workspaceRoot=/${maven.multiModuleProjectDirectory} - - compile - true - false - - - - - - - - - execute-clean-workflow - - - workflow/clean.mwe2 - - - - - - org.codehaus.mojo - exec-maven-plugin - 1.6.0 - - - ExecuteMWE2LauncherForClean - clean - - java - - - org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher - - /${project.basedir}/workflow/clean.mwe2 - -p - workspaceRoot=/${maven.multiModuleProjectDirectory} - - compile - true - false - - - - - - - - - - - - win32-amd64 - - - amd64 - windows - - - - win32 - win32 - x86_64 - - - - linux-amd64 - - - amd64 - unix - linux - - - - linux - gtk - x86_64 - - - - cocoa-macosx-x86_64 - - - x86_64 - unix - mac os x - - - - macosx - cocoa - x86_64 - - - - - updatesite-maven-aggregator - - - updatesite-aggr - - - - - - updatesite-aggr - true - - - - - org.eclipse.tycho.extras - tycho-eclipserun-plugin - ${tycho.version} - - - - eclipse-run - - package - - - - - -data + + + + + + + org.apache.maven.plugins + maven-enforcer-plugin + 3.4.1 + + + enforce-maven + + enforce + + + + + 3.9 + + + + + + + + + org.apache.maven.plugins + maven-site-plugin + 4.0.0-M12 + + + org.apache.maven.plugins + maven-project-info-reports-plugin + 3.5.0 + + + + org.eclipse.tycho + tycho-compiler-plugin + ${tycho.version} + + -warn:+discouraged,forbidden + false + + + + + org.eclipse.tycho + tycho-versions-plugin + ${tycho.version} + + + + + + + + + + local-build-deployable + + + + ossrh + https://oss.sonatype.org/content/repositories/snapshots + + + ossrh + https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + + + + + org.apache.maven.plugins + maven-gpg-plugin + 3.1.0 + + + sign-artifacts + verify + + sign + + + + + + --pinentry-mode + loopback + + + + + + + + + + + nightly + + + !release + + + + nightly + target/classes/nightly.aggr + + + + + sonatype-snapshots + https://oss.sonatype.org/content/repositories/snapshots/ + + false + + + always + + + + tycho-snapshots + https://repo.eclipse.org/content/repositories/tycho-snapshots/ + + false + + + always + + + + + + + release + + + release + + + + release + target/classes/release.aggr + + + + + + default-plugin-usage + + + .maven_disable_default-plugin-usage + + + + + + + org.eclipse.tycho + target-platform-configuration + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + + org.eclipse.tycho + tycho-source-plugin + + + org.eclipse.tycho + tycho-p2-plugin + + + org.eclipse.tycho + tycho-maven-plugin + true + + + + + org.apache.maven.plugins + maven-clean-plugin + 3.3.2 + + + + + org.jacoco + jacoco-maven-plugin + + + org.eclipse.tycho + tycho-surefire-plugin + + + + + + + + + default-plugin-configurations + + + .maven_disable_default-plugin-configurations + + + + UTF-8 + ${project.build.sourceEncoding} + 11 + https://docs.oracle.com/en/java/javase/11/docs/api/ + ${java.version} + ${java.version} + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.11.0 + + + + org.eclipse.tycho + target-platform-configuration + ${tycho.version} + + + + linux + gtk + x86_64 + + + win32 + win32 + x86_64 + + + macosx + cocoa + x86_64 + + + + + + + org.eclipse.tycho + tycho-source-plugin + ${tycho.version} + + + plugin-source + + plugin-source + + + + feature-source + + feature-source + + + + + + + org.eclipse.tycho + tycho-p2-plugin + ${tycho.version} + + + attached-p2-metadata + package + + p2-metadata + + + + + + + org.apache.maven.plugins + maven-clean-plugin + 3.1.0 + + true + + + ${project.basedir} + + target/** + xtend-gen/** + emfparsley-gen/** + + + */.gitkeep + + + + + + + + org.eclipse.tycho + tycho-maven-plugin + ${tycho.version} + true + + + + org.jacoco + jacoco-maven-plugin + 0.8.11 + + + jacoco-prepare + generate-test-sources + + prepare-agent + + + + + + + org.eclipse.tycho + tycho-surefire-plugin + ${tycho.version} + + + **/*Test.java + **/*Tests.java + + false + + + + + + + + + execute-generate-workflow + + + workflow/generate.mwe2 + + + + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + ExecuteMWE2LauncherForGenerate + generate-sources + + java + + + org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher + + /${project.basedir}/workflow/generate.mwe2 + -p + + workspaceRoot=/${maven.multiModuleProjectDirectory} + + compile + true + false + + + + + + + + + execute-clean-workflow + + + workflow/clean.mwe2 + + + + + + org.codehaus.mojo + exec-maven-plugin + 1.6.0 + + + ExecuteMWE2LauncherForClean + clean + + java + + + org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher + + /${project.basedir}/workflow/clean.mwe2 + -p + + workspaceRoot=/${maven.multiModuleProjectDirectory} + + compile + true + false + + + + + + + + + + + + win32-amd64 + + + amd64 + windows + + + + win32 + win32 + x86_64 + + + + linux-amd64 + + + amd64 + unix + linux + + + + linux + gtk + x86_64 + + + + cocoa-macosx-x86_64 + + + x86_64 + unix + mac os x + + + + macosx + cocoa + x86_64 + + + + + updatesite-maven-aggregator + + + updatesite-aggr + + + + + + updatesite-aggr + true + + + + + org.eclipse.tycho.extras + tycho-eclipserun-plugin + ${tycho.version} + + + + eclipse-run + + package + + + + + -data ${project.build.directory}/eclipserun-work/ - -application + + -application org.eclipse.cbi.p2repo.cli.headless - aggregate + + aggregate --buildModel - ${updatesite.aggregator.filename}^ - --smtpHost - ${updatesite.aggregator.smtpHost} + + ${updatesite.aggregator.filename}^ --smtpHost + + ${updatesite.aggregator.smtpHost} --action - BUILD - - - - org.eclipse.cbi.p2repo.aggregator.engine.feature - eclipse-feature - - - org.eclipse.equinox.core.feature - eclipse-feature - - - org.eclipse.equinox.p2.core.feature - eclipse-feature - - - org.eclipse.core.net - eclipse-plugin - - - - - cbi-aggregator - p2 - http://download.eclipse.org/cbi/updates/aggregator/headless/4.13/ - - - Eclipse 2020-03 - p2 - http://download.eclipse.org/releases/2020-03 - - - ${project.build.directory}/eclipserun-work - JavaSE-11 - - - - tools.mdsd - pom-enhancer-maven-plugin - 0.1.1 - - - - enhance-pom - - package - - - - - - ${project.build.directory}/m2/final/ - - **/*.pom - - - - ${maven.multiModuleProjectDirectory}/pom.xml - description,scm,licenses,name,url,developers - - - - - - - - enable-dagger - - - .enable_dagger_annotation_processing - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - - process-dagger-annotations - - compile - - generate-sources - - - - com.google.dagger - dagger-compiler - 2.31 - - - only - ${project.basedir}/src-gen/ - - - - - - org.apache.maven.plugins - maven-clean-plugin - 3.1.0 - - - clean-src-gen - clean - - clean - - - true - - - ${project.basedir} - - src-gen/** - - - */.gitkeep - - - - - - - - - - - - - + + BUILD + + + + org.eclipse.cbi.p2repo.aggregator.engine.feature + eclipse-feature + + + org.eclipse.equinox.core.feature + eclipse-feature + + + org.eclipse.equinox.p2.core.feature + eclipse-feature + + + org.eclipse.core.net + eclipse-plugin + + + + + cbi-aggregator + p2 + + http://download.eclipse.org/cbi/updates/aggregator/headless/4.13/ + + + Eclipse 2020-03 + p2 + http://download.eclipse.org/releases/2020-03 + + + ${project.build.directory}/eclipserun-work + JavaSE-11 + + + + tools.mdsd + pom-enhancer-maven-plugin + 0.1.1 + + + + enhance-pom + + package + + + + + + ${project.build.directory}/m2/final/ + + **/*.pom + + + + ${maven.multiModuleProjectDirectory}/pom.xml + description,scm,licenses,name,url,developers + + + + + + + + enable-dagger + + + .enable_dagger_annotation_processing + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + process-dagger-annotations + + compile + + generate-sources + + + + com.google.dagger + dagger-compiler + 2.31 + + + only + ${project.basedir}/src-gen/ + + + + + + org.apache.maven.plugins + maven-clean-plugin + 3.1.0 + + + clean-src-gen + clean + + clean + + + true + + + ${project.basedir} + + src-gen/** + + + */.gitkeep + + + + + + + + + + + + \ No newline at end of file