diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7da1c0f846..00926791ae 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,25 +5,38 @@ name: CI on: push: - branches: [ master ] + branches: + - master + - 'release-*' pull_request: - branches: [ master ] + branches: + - master workflow_dispatch: # manual triggering, for debugging purposes jobs: - mavenBuilds: - + buildAll: + name: Build and Test runs-on: ubuntu-latest steps: - # Setup - - uses: actions/checkout@v2 - - name: Set up JDK 11 + # Checkout repositories + - name: Checkout Semantics + uses: actions/checkout@v4 + + - name: Checkout Models + uses: actions/checkout@v4 + with: + repository: kieler/models + path: models + + # Provide Java + - name: Set up JDK 17 uses: actions/setup-java@v2 with: - java-version: '11' + java-version: '17' distribution: 'adopt' + # Configure maven artifact caching - name: Cache local Maven repository uses: actions/cache@v2 with: @@ -32,44 +45,78 @@ jobs: restore-keys: | ${{ runner.os }}-maven- - # Maven build update site - #- name: Build update site - # run: MAVEN_OPTS="-Xmx2048M" mvn --update-snapshots clean verify -P semantics --file build/pom.xml + # Maven build products + - name: Build Products and Run Tests + # Start with xvfb for testing diagram generation with piccolo (see Klighd test config) + run: + Xvfb -ac > /dev/null 2>&1 & mvn --update-snapshots --fail-at-end clean verify -P semantics.all --file build/pom.xml + env: + models_repository: '[${{github.workspace}}/models]' + MAVEN_OPTS: '-Xmx2048M' + DISPLAY: ':0' - # Maven build products (including update site) - - name: Build products - run: MAVEN_OPTS="-Xmx2048M" mvn --update-snapshots clean package -P semantics.product --file build/pom.xml + # Produce test report + - name: Produce test report + uses: dorny/test-reporter@v1 + if: always() + with: + name: Test Report + path: test/*/target/surefire-reports/*.xml + reporter: java-junit + fail-on-error: true + max-annotations: '50' ##################################### ALL THE ARTIFACTS ##################################### # Archive Repository - name: Archive Semantics Repository Artifact + if: ${{ github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/heads/release-') }} uses: actions/upload-artifact@v2 with: name: Semantics Repository Artifact path: build/de.cau.cs.kieler.semantics.repository/target/repository/ if-no-files-found: error + # Collect and Archive all Products + - name: Collect All Products + if: ${{ github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/heads/release-') }} + run: | + mkdir products + cp -r build/de.cau.cs.kieler.semantics.product.repository/target/products/sccharts_rca_* products/ + mkdir products/cli + cp -r build/de.cau.cs.kieler.kicool.cli/target/exe/* products/cli + cp -r build/de.cau.cs.kieler.kicool.klighd.cli/target/exe/* products/cli + cp -r build/de.cau.cs.kieler.sccharts.cli/target/exe/* products/cli + mkdir products/ls + cp build/de.cau.cs.kieler.language.server.cli/target/de.cau.cs.kieler.language.server.cli-*-app.jar products/ls + - name: Archive All Products + if: ${{ github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/heads/release-') }} + uses: actions/upload-artifact@v2 + with: + name: All Semantics Products + path: products + if-no-files-found: error + # Archive Eclipse RCA - name: Archive KIELER Semantics RCA Windows uses: actions/upload-artifact@v2 with: name: KIELER RCA Windows - path: build/de.cau.cs.kieler.semantics.product.repository/target/products/sccharts_rca_nightly_*-win32.win32.x86_64.zip + path: build/de.cau.cs.kieler.semantics.product.repository/target/products/sccharts_rca_*-win32.win32.x86_64.zip if-no-files-found: error - name: Archive KIELER Semantics RCA Linux uses: actions/upload-artifact@v2 with: name: KIELER RCA Linux - path: build/de.cau.cs.kieler.semantics.product.repository/target/products/sccharts_rca_nightly_*-linux.gtk.x86_64.tar.gz + path: build/de.cau.cs.kieler.semantics.product.repository/target/products/sccharts_rca_*-linux.gtk.x86_64.tar.gz if-no-files-found: error - name: Archive KIELER Semantics RCA MacOS uses: actions/upload-artifact@v2 with: name: KIELER RCA MacOS - path: build/de.cau.cs.kieler.semantics.product.repository/target/products/sccharts_rca_nightly_*-macosx.cocoa.x86_64.tar.gz + path: build/de.cau.cs.kieler.semantics.product.repository/target/products/sccharts_rca_*-macosx.cocoa.*.tar.gz if-no-files-found: error # Kieler Compiler CLI @@ -80,26 +127,26 @@ jobs: path: build/de.cau.cs.kieler.kicool.cli/target/exe/kico.jar if-no-files-found: error - - name: Archive KIELER Compiler CLI Windows - uses: actions/upload-artifact@v2 - with: - name: KIELER Compiler CLI Windows - path: build/de.cau.cs.kieler.kicool.cli/target/exe/kico-win.bat - if-no-files-found: error + # - name: Archive KIELER Compiler CLI Windows + # uses: actions/upload-artifact@v2 + # with: + # name: KIELER Compiler CLI Windows + # path: build/de.cau.cs.kieler.kicool.cli/target/exe/kico-win.bat + # if-no-files-found: error - - name: Archive KIELER Compiler CLI Linux - uses: actions/upload-artifact@v2 - with: - name: KIELER Compiler CLI Linux - path: build/de.cau.cs.kieler.kicool.cli/target/exe/kico-linux - if-no-files-found: error + # - name: Archive KIELER Compiler CLI Linux + # uses: actions/upload-artifact@v2 + # with: + # name: KIELER Compiler CLI Linux + # path: build/de.cau.cs.kieler.kicool.cli/target/exe/kico-linux + # if-no-files-found: error - - name: Archive KIELER Compiler CLI MacOS - uses: actions/upload-artifact@v2 - with: - name: KIELER Compiler CLI MacOS - path: build/de.cau.cs.kieler.kicool.cli/target/exe/kico-osx - if-no-files-found: error + # - name: Archive KIELER Compiler CLI MacOS + # uses: actions/upload-artifact@v2 + # with: + # name: KIELER Compiler CLI MacOS + # path: build/de.cau.cs.kieler.kicool.cli/target/exe/kico-osx + # if-no-files-found: error # Kieler Compiler Diagrams CLI - name: Archive KIELER Compiler Diagrams CLI Windows Jar @@ -120,29 +167,31 @@ jobs: uses: actions/upload-artifact@v2 with: name: KIELER Compiler Diagrams CLI MacOS Jar - path: build/de.cau.cs.kieler.kicool.klighd.cli/target/exe/kicodia.osx.jar + path: | + build/de.cau.cs.kieler.kicool.klighd.cli/target/exe/kicodia.osx.jar + build/de.cau.cs.kieler.kicool.klighd.cli/target/exe/kicodia.osx.aarch64.jar if-no-files-found: error - - name: Archive KIELER Compiler Diagrams CLI Windows - uses: actions/upload-artifact@v2 - with: - name: KIELER Compiler Diagrams CLI Windows - path: build/de.cau.cs.kieler.kicool.klighd.cli/target/exe/kicodia-win.bat - if-no-files-found: error + # - name: Archive KIELER Compiler Diagrams CLI Windows + # uses: actions/upload-artifact@v2 + # with: + # name: KIELER Compiler Diagrams CLI Windows + # path: build/de.cau.cs.kieler.kicool.klighd.cli/target/exe/kicodia-win.bat + # if-no-files-found: error - - name: Archive KIELER Compiler Diagrams CLI Linux - uses: actions/upload-artifact@v2 - with: - name: KIELER Compiler Diagrams CLI Linux - path: build/de.cau.cs.kieler.kicool.klighd.cli/target/exe/kicodia-linux - if-no-files-found: error + # - name: Archive KIELER Compiler Diagrams CLI Linux + # uses: actions/upload-artifact@v2 + # with: + # name: KIELER Compiler Diagrams CLI Linux + # path: build/de.cau.cs.kieler.kicool.klighd.cli/target/exe/kicodia-linux + # if-no-files-found: error - - name: Archive KIELER Compiler Diagrams CLI MacOS - uses: actions/upload-artifact@v2 - with: - name: KIELER Compiler Diagrams CLI MacOS - path: build/de.cau.cs.kieler.kicool.klighd.cli/target/exe/kicodia-osx - if-no-files-found: error + # - name: Archive KIELER Compiler Diagrams CLI MacOS + # uses: actions/upload-artifact@v2 + # with: + # name: KIELER Compiler Diagrams CLI MacOS + # path: build/de.cau.cs.kieler.kicool.klighd.cli/target/exe/kicodia-osx + # if-no-files-found: error # SCCharts Compiler CLI - name: Archive SCCharts Compiler CLI Jar @@ -152,45 +201,87 @@ jobs: path: build/de.cau.cs.kieler.sccharts.cli/target/exe/scc.jar if-no-files-found: error - - name: Archive SCCharts Compiler CLI Windows - uses: actions/upload-artifact@v2 - with: - name: SCCharts Compiler CLI Windows - path: build/de.cau.cs.kieler.sccharts.cli/target/exe/scc-win.bat - if-no-files-found: error + # - name: Archive SCCharts Compiler CLI Windows + # uses: actions/upload-artifact@v2 + # with: + # name: SCCharts Compiler CLI Windows + # path: build/de.cau.cs.kieler.sccharts.cli/target/exe/scc-win.bat + # if-no-files-found: error - - name: Archive SCCharts Compiler CLI Linux - uses: actions/upload-artifact@v2 - with: - name: SCCharts Compiler CLI Linux - path: build/de.cau.cs.kieler.sccharts.cli/target/exe/scc-linux - if-no-files-found: error + # - name: Archive SCCharts Compiler CLI Linux + # uses: actions/upload-artifact@v2 + # with: + # name: SCCharts Compiler CLI Linux + # path: build/de.cau.cs.kieler.sccharts.cli/target/exe/scc-linux + # if-no-files-found: error - - name: Archive SCCharts Compiler CLI MacOS - uses: actions/upload-artifact@v2 - with: - name: SCCharts Compiler CLI MacOS - path: build/de.cau.cs.kieler.sccharts.cli/target/exe/scc-osx - if-no-files-found: error + # - name: Archive SCCharts Compiler CLI MacOS + # uses: actions/upload-artifact@v2 + # with: + # name: SCCharts Compiler CLI MacOS + # path: build/de.cau.cs.kieler.sccharts.cli/target/exe/scc-osx + # if-no-files-found: error # Kieler Language Server - - name: Archive KIELER Language Server Windows + - name: Archive KIELER Language Server uses: actions/upload-artifact@v2 with: - name: KIELER Language Server Windows - path: build/de.cau.cs.kieler.language.server.cli/target/exe/kieler-language-server.win.jar + name: KIELER Language Server + path: build/de.cau.cs.kieler.language.server.cli/target/de.cau.cs.kieler.language.server.cli-*-app.jar if-no-files-found: error - - name: Archive KIELER Language Server Linux - uses: actions/upload-artifact@v2 + testMac: + name: Test CLI (MacOS) + runs-on: macos-latest + needs: buildAll + + steps: + # Setup + - uses: actions/checkout@v2 + - name: Set up JDK 17 + uses: actions/setup-java@v2 with: - name: KIELER Language Server Linux - path: build/de.cau.cs.kieler.language.server.cli/target/exe/kieler-language-server.linux.jar - if-no-files-found: error + java-version: '17' + distribution: 'adopt' + + - name: Cache local Maven repository + uses: actions/cache@v2 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('.github/workflows/*.*', '**/pom.xml', '**/META-INF/MANIFEST.MF', 'build/de.cau.cs.kieler.semantics.targetplatform/de.cau.cs.kieler.semantics.targetplatform.target') }} + restore-keys: | + ${{ runner.os }}-maven- - - name: Archive KIELER Language Server MacOS - uses: actions/upload-artifact@v2 + # Maven test CLI + - name: Tests CLI + run: mvn --update-snapshots clean verify -P semantics.cli.test --file build/pom.xml + env: + MAVEN_OPTS: '-Xmx2048M' + + testWin: + name: Test CLI (Windows) + runs-on: windows-latest + needs: buildAll + + steps: + # Setup + - uses: actions/checkout@v2 + - name: Set up JDK 17 + uses: actions/setup-java@v2 with: - name: KIELER Language Server MacOS - path: build/de.cau.cs.kieler.language.server.cli/target/exe/kieler-language-server.osx.jar - if-no-files-found: error \ No newline at end of file + java-version: '17' + distribution: 'adopt' + + - name: Cache local Maven repository + uses: actions/cache@v2 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('.github/workflows/*.*', '**/pom.xml', '**/META-INF/MANIFEST.MF', 'build/de.cau.cs.kieler.semantics.targetplatform/de.cau.cs.kieler.semantics.targetplatform.target') }} + restore-keys: | + ${{ runner.os }}-maven- + + # Maven test CLI + - name: Tests CLI + run: mvn --update-snapshots clean verify -P semantics.cli.test --file build/pom.xml + env: + MAVEN_OPTS: '-Xmx2048M' \ No newline at end of file diff --git a/.gitignore b/.gitignore index b29bf97632..f8658716d6 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,5 @@ xtend-gen/ target/ **/.antlr-generator build/de.cau.cs.kieler.semantics.product.repository/de.cau.cs.kieler.core.product/ -dependencies.txt \ No newline at end of file +dependencies.txt +.tycho-consumer-pom.xml diff --git a/README.md b/README.md index 130b7b0683..de1d7907d6 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,16 @@ # KIELER Semantics -See the [SCCharts wiki](https://rtsys.informatik.uni-kiel.de/confluence/display/KIELER/SCCharts) for further information and detailed documentation. +*Semantics* is part of the overarching [KIELER project](https://rtsys.informatik.uni-kiel.de/kieler/) and represents research on the semantics of modeling languages, especially synchronous languages, in combination with pragmatics-aware modeling techniques. +The focus is on Sequentially Constructive Charts (SCCharts), a successor of SyncCharts that is also synchronous state chart dialect but with sequentially constructive semantics. +See the [SCCharts wiki pages](https://github.com/kieler/semantics/wiki) for further information and detailed documentation. +The KIELER SCCharts tool provides a modeling environment for SCCharts, including specialized automatically generated graphical views, model-transformation-based compilation, and simulation. + +### Installation +See the [Downloads wiki page](https://github.com/kieler/semantics/wiki/Downloads) or our quick start guide for [KIELER in Eclipse](https://github.com/kieler/semantics/wiki/quick-start-guide) or [KIELER in VS Code](https://github.com/kieler/semantics/wiki/vs-code-extensions). + +### Related Publications +See [list of publication of the RTSYS group](https://www.rtsys.informatik.uni-kiel.de/en/publications). + +### Development If you want to run or develop the semantics code base, please follow the [developer Eclipse setup with Oomph](https://github.com/kieler/semantics/wiki/Developer-Eclipse-Setup-with-Oomph). diff --git a/build/de.cau.cs.kieler.kicool.cli/pom.xml b/build/de.cau.cs.kieler.kicool.cli/pom.xml index 54419c48a2..2bbf98c782 100644 --- a/build/de.cau.cs.kieler.kicool.cli/pom.xml +++ b/build/de.cau.cs.kieler.kicool.cli/pom.xml @@ -2,14 +2,14 @@ 4.0.0 - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT de.cau.cs.kieler.kicool.cli eclipse-repository KIELER Compiler CLI de.cau.cs.kieler - parent + semantics 0.0.1-SNAPSHOT ../pom.xml diff --git a/build/de.cau.cs.kieler.kicool.klighd.cli/pom.xml b/build/de.cau.cs.kieler.kicool.klighd.cli/pom.xml index bb4281c334..5dbbb25ace 100644 --- a/build/de.cau.cs.kieler.kicool.klighd.cli/pom.xml +++ b/build/de.cau.cs.kieler.kicool.klighd.cli/pom.xml @@ -2,14 +2,14 @@ 4.0.0 - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT de.cau.cs.kieler.kicool.klighd.cli eclipse-repository KIELER Compiler and Diagrams CLI de.cau.cs.kieler - parent + semantics 0.0.1-SNAPSHOT ../pom.xml diff --git a/build/de.cau.cs.kieler.language.server.cli/.project b/build/de.cau.cs.kieler.language.server.cli/.project index 720dc26313..fb323f95ff 100644 --- a/build/de.cau.cs.kieler.language.server.cli/.project +++ b/build/de.cau.cs.kieler.language.server.cli/.project @@ -6,12 +6,12 @@ - org.eclipse.pde.UpdateSiteBuilder + org.eclipse.jdt.core.javabuilder - org.eclipse.pde.UpdateSiteNature + org.eclipse.jdt.core.javanature diff --git a/build/de.cau.cs.kieler.language.server.cli/category.xml b/build/de.cau.cs.kieler.language.server.cli/category.xml deleted file mode 100644 index 2c319194ff..0000000000 --- a/build/de.cau.cs.kieler.language.server.cli/category.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - Artificial Update site for the KIELER Language Server CLI. - - - - - - - - - - - - - - - - - - - - - diff --git a/build/de.cau.cs.kieler.language.server.cli/pom.xml b/build/de.cau.cs.kieler.language.server.cli/pom.xml index 5984672b28..5baa05265b 100644 --- a/build/de.cau.cs.kieler.language.server.cli/pom.xml +++ b/build/de.cau.cs.kieler.language.server.cli/pom.xml @@ -2,66 +2,108 @@ 4.0.0 - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT de.cau.cs.kieler.language.server.cli - eclipse-repository KIELER Language Server CLI de.cau.cs.kieler - parent + semantics 0.0.1-SNAPSHOT ../pom.xml - - ${basedir}/category.xml - ${project.build.directory}/repository/plugins - ${basedir}/../scripts/uberjar.py - kieler-language-server - de.cau.cs.kieler.language.server.LanguageServer - ${project.build.directory}/exe - + - + + + + de.cau.cs.kieler + de.cau.cs.kieler.language.server + ${project.version} + + + + de.cau.cs.kieler + de.cau.cs.kieler.language.server.components + ${project.version} + pom + + + - org.eclipse.tycho - tycho-p2-repository-plugin - ${tycho-version} + org.apache.maven.plugins + maven-shade-plugin + 3.2.4 - true - - true + true + + + de.cau.cs.kieler.language.server.LanguageServer + + + plugin.properties + + + false + + + + + + + *:* + + **/*._trace + **/*.ecore + **/*.g + **/*.genmodel + **/*.mwe2 + **/*.xsd + **/*.xtext + *.profile + *.html + .api_description + .genmodel + .options + about.* + about_files/* + fragment.properties + META-INF/*.inf + META-INF/*.RSA + META-INF/*.SF + META-INF/INDEX.LIST + META-INF/MANIFEST.MF + modeling32.png + OSGI-INF/l10n/bundle.properties + plugin.xml + profile.list + schema/*.exsd + systembundle.properties + xtext32.png + + + + org.eclipse.platform:* + + **/*.png + + + + true + app + false - - - - org.codehaus.mojo - exec-maven-plugin - 1.6.0 - package - exec + shade - - python - ${project.build.directory} - - ${python.script} - ${update.site.jars} - ${executableName} - ${mainClass} - ${python.script.output} - ${project.build.directory} - - diff --git a/build/de.cau.cs.kieler.sccharts.cli/pom.xml b/build/de.cau.cs.kieler.sccharts.cli/pom.xml index 6b363ba01f..23a7accce3 100644 --- a/build/de.cau.cs.kieler.sccharts.cli/pom.xml +++ b/build/de.cau.cs.kieler.sccharts.cli/pom.xml @@ -2,14 +2,14 @@ 4.0.0 - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT de.cau.cs.kieler.sccharts.cli eclipse-repository KIELER SCCharts Compiler CLI de.cau.cs.kieler - parent + semantics 0.0.1-SNAPSHOT ../pom.xml diff --git a/build/de.cau.cs.kieler.semantics.product.repository/kieler.product b/build/de.cau.cs.kieler.semantics.product.repository/kieler.product index c95bcd01ee..5442519b97 100644 --- a/build/de.cau.cs.kieler.semantics.product.repository/kieler.product +++ b/build/de.cau.cs.kieler.semantics.product.repository/kieler.product @@ -1,6 +1,6 @@ - + @@ -20,11 +20,6 @@ Copyright 2014 by Kiel University, Department of Computer Science, Real-Time and - --launcher.XXPermSize -128m ---launcher.XXMaxPermSize -256m - -showsplash org.eclipse.platform --launcher.defaultAction @@ -33,9 +28,7 @@ openFile -Xss4m -Xms512m -Xmn256m --Xmx1024m --XX:PermSize=128m --XX:MaxPermSize=256m +-Xmx1024m --add-modules=ALL-SYSTEM -XstartOnFirstThread diff --git a/build/de.cau.cs.kieler.semantics.product.repository/pom.xml b/build/de.cau.cs.kieler.semantics.product.repository/pom.xml index 5f571da7b7..8924a8a768 100644 --- a/build/de.cau.cs.kieler.semantics.product.repository/pom.xml +++ b/build/de.cau.cs.kieler.semantics.product.repository/pom.xml @@ -2,14 +2,14 @@ 4.0.0 - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT de.cau.cs.kieler.semantics.product.repository eclipse-repository SCCharts RCA de.cau.cs.kieler - parent + semantics 0.0.1-SNAPSHOT ../pom.xml diff --git a/build/de.cau.cs.kieler.semantics.repository/category.xml b/build/de.cau.cs.kieler.semantics.repository/category.xml index b8de960cad..b893d065ea 100644 --- a/build/de.cau.cs.kieler.semantics.repository/category.xml +++ b/build/de.cau.cs.kieler.semantics.repository/category.xml @@ -13,33 +13,31 @@ - + - + - + - + - + - + - - - - - - + + + + + + - - - + diff --git a/build/de.cau.cs.kieler.semantics.repository/pom.xml b/build/de.cau.cs.kieler.semantics.repository/pom.xml index aaacaae6d5..2f30e60f88 100644 --- a/build/de.cau.cs.kieler.semantics.repository/pom.xml +++ b/build/de.cau.cs.kieler.semantics.repository/pom.xml @@ -2,14 +2,14 @@ 4.0.0 - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT de.cau.cs.kieler.semantics.repository eclipse-repository KIELER Semantics Repository de.cau.cs.kieler - parent + semantics 0.0.1-SNAPSHOT ../pom.xml diff --git a/build/de.cau.cs.kieler.semantics.targetplatform/de.cau.cs.kieler.semantics.targetplatform.target b/build/de.cau.cs.kieler.semantics.targetplatform/de.cau.cs.kieler.semantics.targetplatform.target index e115d1de7c..0078130fd8 100644 --- a/build/de.cau.cs.kieler.semantics.targetplatform/de.cau.cs.kieler.semantics.targetplatform.target +++ b/build/de.cau.cs.kieler.semantics.targetplatform/de.cau.cs.kieler.semantics.targetplatform.target @@ -12,37 +12,36 @@ - + - + - + - + - + - + - - + @@ -52,11 +51,7 @@ - - - - - + diff --git a/build/de.cau.cs.kieler.semantics.targetplatform/pom.xml b/build/de.cau.cs.kieler.semantics.targetplatform/pom.xml index 8f8f216ff8..baa988c507 100644 --- a/build/de.cau.cs.kieler.semantics.targetplatform/pom.xml +++ b/build/de.cau.cs.kieler.semantics.targetplatform/pom.xml @@ -10,7 +10,7 @@ de.cau.cs.kieler - parent + semantics 0.0.1-SNAPSHOT ../pom.xml diff --git a/build/pom.xml b/build/pom.xml index 73c089a85e..61859beb7c 100644 --- a/build/pom.xml +++ b/build/pom.xml @@ -2,15 +2,31 @@ 4.0.0 de.cau.cs.kieler - parent + semantics 0.0.1-SNAPSHOT pom - 2.7.3 - 2.27.0 + + 0.8.1 + 2.3.0.v20230606 + 0.21.0 + 0.50.0.v20230607 + + + 2.31.0 + 2.31.0 + + + 2.7.5 + true + + + 11 + 11 + 11  (Sources) @@ -19,84 +35,63 @@ UTF-8 UTF-8 UTF-8 - - - http://rtsys.informatik.uni-kiel.de/~kieler/updatesite/nightly/semantics/ - semantics - - true - - - ../plugins de.cau.cs.kieler.semantics.targetplatform + ../plugins ../features - de.cau.cs.kieler.semantics.repository - - semantics.test - ../plugins de.cau.cs.kieler.semantics.targetplatform + ../plugins ../test de.cau.cs.kieler.sccharts.cli de.cau.cs.kieler.kicool.cli de.cau.cs.kieler.kicool.klighd.cli - de.cau.cs.kieler.language.server.cli ../test/de.cau.cs.kieler.cli.test + ../language-server + de.cau.cs.kieler.language.server.cli - - - semantics.nightly.product - - - - p2.kieler-semantics - p2 - ${kieler.semantics.updatesite} - - - + semantics.cli.test + - de.cau.cs.kieler.semantics.targetplatform - ../plugins/de.cau.cs.kieler.core.product - ../features/de.cau.cs.kieler.product.feature - de.cau.cs.kieler.semantics.product.repository + de.cau.cs.kieler.semantics.targetplatform + ../plugins de.cau.cs.kieler.sccharts.cli de.cau.cs.kieler.kicool.cli de.cau.cs.kieler.kicool.klighd.cli - de.cau.cs.kieler.language.server.cli + ../test/de.cau.cs.kieler.cli.test semantics.product - + - ../plugins de.cau.cs.kieler.semantics.targetplatform + ../plugins ../features de.cau.cs.kieler.semantics.repository de.cau.cs.kieler.semantics.product.repository de.cau.cs.kieler.sccharts.cli de.cau.cs.kieler.kicool.cli de.cau.cs.kieler.kicool.klighd.cli + ../language-server de.cau.cs.kieler.language.server.cli @@ -104,31 +99,127 @@ semantics.ls - ../plugins de.cau.cs.kieler.semantics.targetplatform + ../plugins + ../language-server de.cau.cs.kieler.language.server.cli - + + + + + semantics.all + + + true + + + + de.cau.cs.kieler.semantics.targetplatform + ../plugins + ../test + ../features + de.cau.cs.kieler.semantics.repository + de.cau.cs.kieler.semantics.product.repository + de.cau.cs.kieler.sccharts.cli + de.cau.cs.kieler.kicool.cli + de.cau.cs.kieler.kicool.klighd.cli + ../language-server + de.cau.cs.kieler.language.server.cli + ../test/de.cau.cs.kieler.cli.test + + + + + + codehaus-snapshots + disable dead 'Codehaus Snapshots' repository, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=481478 + http://nexus.codehaus.org/snapshots/ + + false + + + false + + + + + ossrh-snapshots + ossrh-snapshots + + false + + + false + + http://oss.sonatype.org/content/repositories/snapshots + + + + sonatype-nexus-snapshots + Sonatype Nexus Snapshots + https://oss.sonatype.org/content/repositories/snapshots + + false + + + false + + + - + + + codehaus-snapshots + disable dead 'Codehaus Snapshots' repository, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=481478 + http://nexus.codehaus.org/snapshots/ + + false + + + false + + - central - Maven Plugin Repository - https://repo1.maven.org/maven2 + ossrh-snapshots + ossrh-snapshots + + false + + + false + + http://oss.sonatype.org/content/repositories/snapshots - xtend - default - https://build.eclipse.org/common/xtend/maven + sonatype-nexus-snapshots + Sonatype Nexus Snapshots + https://oss.sonatype.org/content/repositories/snapshots + + false + + + false + - + + + . + + META-INF/services/** + + + + @@ -172,35 +263,6 @@ - - org.apache.maven.plugins - maven-javadoc-plugin - 2.8.1 - - de.cau.cs.kieler.doclets.rating.RatingDoclet - - de.cau.cs.kieler - de.cau.cs.kieler.doclets - 0.0.1-SNAPSHOT - - false - -p semantics -d ./rating - xtend-gen - - - - - org.eclipse.tycho @@ -242,6 +304,12 @@ cocoa x86_64 + + + macosx + cocoa + aarch64 + diff --git a/build/scripts/configure.py b/build/scripts/configure.py index 56db7f002d..d4f2c80f90 100644 --- a/build/scripts/configure.py +++ b/build/scripts/configure.py @@ -79,15 +79,6 @@ def main(args): else: setArtifactName(product, args) - print '\n- Setting product build updatesite -' - # check main pom file - pom = join(args.path, 'build/pom.xml') - if not isfile(pom): - print 'pom.xml does not exist: ' + pom - pause(args) - else: - setProductUpdateSite(pom, args) - print '\n- Setting product updatesites -' # check main pom file p2inf = join(args.path, 'build/de.cau.cs.kieler.semantics.product.repository/kieler.p2.inf') @@ -201,29 +192,6 @@ def setArtifactName(product, args): print 'Cannot find archiveFileName element in %s' % product pause(args) - -def setProductUpdateSite(pom, args): - """Set source updatesite for product build""" - xml = etree.parse(pom, parser = etree.XMLParser(remove_comments=False)) - updatesite = xml.find('./p:properties/p:kieler.semantics.updatesite', namespaces={'p':'http://maven.apache.org/POM/4.0.0'}) - if updatesite is not None: - if args.release: - updatesite.text = releaseUpdatesite % args.release - else: - updatesite.text = nightlyUpdatesite - print 'Product Updatesite: %s' % updatesite.text - else: - print 'Cannot find kieler.semantics.updatesite element in %s' % pom - pause(args) - - # retain html entities - trimspace = xml.find('./p:properties/p:sourceFeatureLabelSuffix', namespaces={'p':'http://maven.apache.org/POM/4.0.0'}) - if updatesite is not None: - trimspace.text = u' (Sources)' - - writeXML(xml, pom, htmlentities=True) - - def setProductUpdateSites(p2inf, targetplatform, args): """Create p2.inf for product configuring all updatesites registered in the product""" updatesites = [] # targetplatform @@ -250,4 +218,4 @@ def setProductUpdateSites(p2inf, targetplatform, args): main(argParser.parse_args()) except KeyboardInterrupt: print "\nAbort" - sys.exit(0) \ No newline at end of file + sys.exit(0) diff --git a/build/scripts/uberjar.py b/build/scripts/uberjar.py index c7a998cef8..d284669914 100644 --- a/build/scripts/uberjar.py +++ b/build/scripts/uberjar.py @@ -194,6 +194,8 @@ def extract(args, extracted, merged, klighd): klighd_swt['win'] = target elif 'cocoa.macosx.x86_64' in jar: klighd_swt['osx'] = target + elif 'cocoa.macosx.aarch64' in jar: + klighd_swt['osx.aarch64'] = target else: stop('Unknown platform-specific SWT fragment: ', jar) # Remove unwanted files from fragment directory @@ -298,8 +300,10 @@ def create_standalone_scripts(args, jar, target_dir, klighd): jar_linux = jar['linux'] jar_win = jar['win'] jar_osx = jar['osx'] + jar_osx_arm = jar['osx.aarch64'] else: jar_linux = jar_win = jar_osx = jar + jar_osx_arm = None # linux if jar_linux: @@ -336,14 +340,24 @@ def create_standalone_scripts(args, jar, target_dir, klighd): if args.java8: with open(join(target_dir, args.name + '-osxJava8'), 'wb') as file: write_script(file, osx_cmd % default_options, code) + + # osx ARM 64 + if jar_osx_arm: + with open(jar_osx_arm, 'rb') as jar_file: + code = jar_file.read() + osx_cmd = '#!/usr/bin/env bash\nexec java -XstartOnFirstThread %s -jar $0 "$@" \n' + + with open(join(target_dir, args.name + '-osx-aarch64'), 'wb') as file: + write_script(file, osx_cmd % (default_options + java9_options), code) def write_script(file, command, code): print('Creating script', basename(file.name)) file.write(command.encode('ascii')) file.write(code) - flags = os.fstat(file.fileno()).st_mode - flags |= stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH - os.fchmod(file.fileno(), stat.S_IMODE(flags)) + if os.name != 'nt': + flags = os.fstat(file.fileno()).st_mode + flags |= stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH + os.fchmod(file.fileno(), stat.S_IMODE(flags)) def stop(msg): errPrint('[ERROR] ' + msg) diff --git a/build/scripts/version.py b/build/scripts/version.py index 81c0d2ced2..81b795f9eb 100644 --- a/build/scripts/version.py +++ b/build/scripts/version.py @@ -45,6 +45,15 @@ def main(args): pause(args) else: setProjectVersion(features, args, [setFeatureVersion, setPomVersion]) + + print '\n- Processing Language Server Modules -' + # check LS path + ls_modules = join(args.path, 'language-server') + if not isdir(features): + print 'No language server directory found in ' + args.path + pause(args) + else: + setProjectVersion(ls_modules, args, [setPomVersion]) print '\n- Updating p2 repository -' # check category file @@ -218,4 +227,4 @@ def updateProduct(product, args): main(argParser.parse_args()) except KeyboardInterrupt: print "\nAbort" - sys.exit(0) \ No newline at end of file + sys.exit(0) diff --git a/discontinued-plugins/de.cau.cs.kieler.circuit.kivi/pom.xml b/discontinued-plugins/de.cau.cs.kieler.circuit.kivi/pom.xml index fd8f67fe4e..b186fb97cf 100644 --- a/discontinued-plugins/de.cau.cs.kieler.circuit.kivi/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.circuit.kivi/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.circuit.kivi diff --git a/discontinued-plugins/de.cau.cs.kieler.circuit.klighd/pom.xml b/discontinued-plugins/de.cau.cs.kieler.circuit.klighd/pom.xml index c506fd4484..6eb0a9461d 100644 --- a/discontinued-plugins/de.cau.cs.kieler.circuit.klighd/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.circuit.klighd/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.circuit.klighd diff --git a/discontinued-plugins/de.cau.cs.kieler.circuit/pom.xml b/discontinued-plugins/de.cau.cs.kieler.circuit/pom.xml index d829d25d80..bc233f000e 100644 --- a/discontinued-plugins/de.cau.cs.kieler.circuit/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.circuit/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.circuit diff --git a/discontinued-plugins/de.cau.cs.kieler.core.model/pom.xml b/discontinued-plugins/de.cau.cs.kieler.core.model/pom.xml index b482d2a5ee..1f187d44a5 100644 --- a/discontinued-plugins/de.cau.cs.kieler.core.model/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.core.model/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.core.model diff --git a/discontinued-plugins/de.cau.cs.kieler.esterel.cec.linux.x86/pom.xml b/discontinued-plugins/de.cau.cs.kieler.esterel.cec.linux.x86/pom.xml index fcc439d3d6..7bf506c7bd 100644 --- a/discontinued-plugins/de.cau.cs.kieler.esterel.cec.linux.x86/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.esterel.cec.linux.x86/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml diff --git a/discontinued-plugins/de.cau.cs.kieler.esterel.cec.linux.x86_64/pom.xml b/discontinued-plugins/de.cau.cs.kieler.esterel.cec.linux.x86_64/pom.xml index 4907cbb422..b9f3edd1a6 100644 --- a/discontinued-plugins/de.cau.cs.kieler.esterel.cec.linux.x86_64/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.esterel.cec.linux.x86_64/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml diff --git a/discontinued-plugins/de.cau.cs.kieler.esterel.cec.macosx.x86/pom.xml b/discontinued-plugins/de.cau.cs.kieler.esterel.cec.macosx.x86/pom.xml index 612232c016..22fe2e4d42 100644 --- a/discontinued-plugins/de.cau.cs.kieler.esterel.cec.macosx.x86/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.esterel.cec.macosx.x86/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml diff --git a/discontinued-plugins/de.cau.cs.kieler.esterel.cec.macosx.x86_64/pom.xml b/discontinued-plugins/de.cau.cs.kieler.esterel.cec.macosx.x86_64/pom.xml index b9ed4aa2b8..928f395428 100644 --- a/discontinued-plugins/de.cau.cs.kieler.esterel.cec.macosx.x86_64/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.esterel.cec.macosx.x86_64/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml diff --git a/discontinued-plugins/de.cau.cs.kieler.esterel.cec.sim.test/pom.xml b/discontinued-plugins/de.cau.cs.kieler.esterel.cec.sim.test/pom.xml index 8077fe154a..733555210d 100644 --- a/discontinued-plugins/de.cau.cs.kieler.esterel.cec.sim.test/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.esterel.cec.sim.test/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - test + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.esterel.cec.sim.test diff --git a/discontinued-plugins/de.cau.cs.kieler.esterel.cec.sim/pom.xml b/discontinued-plugins/de.cau.cs.kieler.esterel.cec.sim/pom.xml index 33d6bcea22..eb55066cb6 100644 --- a/discontinued-plugins/de.cau.cs.kieler.esterel.cec.sim/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.esterel.cec.sim/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.esterel.cec.sim diff --git a/discontinued-plugins/de.cau.cs.kieler.esterel.cec.win32.x86/pom.xml b/discontinued-plugins/de.cau.cs.kieler.esterel.cec.win32.x86/pom.xml index 9d04855352..575860af9c 100644 --- a/discontinued-plugins/de.cau.cs.kieler.esterel.cec.win32.x86/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.esterel.cec.win32.x86/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml diff --git a/discontinued-plugins/de.cau.cs.kieler.esterel.cec/pom.xml b/discontinued-plugins/de.cau.cs.kieler.esterel.cec/pom.xml index d39bd2e6e8..d7253690af 100644 --- a/discontinued-plugins/de.cau.cs.kieler.esterel.cec/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.esterel.cec/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.esterel.cec diff --git a/discontinued-plugins/de.cau.cs.kieler.esterel.eso/pom.xml b/discontinued-plugins/de.cau.cs.kieler.esterel.eso/pom.xml index 0a264b5036..c4274a4f1e 100644 --- a/discontinued-plugins/de.cau.cs.kieler.esterel.eso/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.esterel.eso/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.esterel.eso diff --git a/discontinued-plugins/de.cau.cs.kieler.esterel.examples/pom.xml b/discontinued-plugins/de.cau.cs.kieler.esterel.examples/pom.xml index 65a5732470..7fe8e2464a 100644 --- a/discontinued-plugins/de.cau.cs.kieler.esterel.examples/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.esterel.examples/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.esterel.examples diff --git a/discontinued-plugins/de.cau.cs.kieler.esterel.prom/pom.xml b/discontinued-plugins/de.cau.cs.kieler.esterel.prom/pom.xml index b8cec88acd..7d9d72a2ce 100644 --- a/discontinued-plugins/de.cau.cs.kieler.esterel.prom/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.esterel.prom/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.esterel.prom diff --git a/discontinued-plugins/de.cau.cs.kieler.esterel.scl.test/pom.xml b/discontinued-plugins/de.cau.cs.kieler.esterel.scl.test/pom.xml index b533ac8ee9..bc5ad1b876 100644 --- a/discontinued-plugins/de.cau.cs.kieler.esterel.scl.test/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.esterel.scl.test/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - test + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.esterel.scl.test diff --git a/discontinued-plugins/de.cau.cs.kieler.esterel.scl/pom.xml b/discontinued-plugins/de.cau.cs.kieler.esterel.scl/pom.xml index 031bce0390..f35fcbb1a8 100644 --- a/discontinued-plugins/de.cau.cs.kieler.esterel.scl/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.esterel.scl/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.esterel.scl diff --git a/discontinued-plugins/de.cau.cs.kieler.esterel.sim.c.test/pom.xml b/discontinued-plugins/de.cau.cs.kieler.esterel.sim.c.test/pom.xml index 36052f531d..c7eaf75035 100644 --- a/discontinued-plugins/de.cau.cs.kieler.esterel.sim.c.test/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.esterel.sim.c.test/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - test + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.esterel.sim.c.test diff --git a/discontinued-plugins/de.cau.cs.kieler.esterel.sim.c/pom.xml b/discontinued-plugins/de.cau.cs.kieler.esterel.sim.c/pom.xml index cbebe2c8a3..01308af731 100644 --- a/discontinued-plugins/de.cau.cs.kieler.esterel.sim.c/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.esterel.sim.c/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.esterel.sim.c diff --git a/discontinued-plugins/de.cau.cs.kieler.esterel.sim.kivi/pom.xml b/discontinued-plugins/de.cau.cs.kieler.esterel.sim.kivi/pom.xml index bf41ee620b..52410bd495 100644 --- a/discontinued-plugins/de.cau.cs.kieler.esterel.sim.kivi/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.esterel.sim.kivi/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.esterel.sim.kivi diff --git a/discontinued-plugins/de.cau.cs.kieler.esterel.sim/pom.xml b/discontinued-plugins/de.cau.cs.kieler.esterel.sim/pom.xml index 42bc75fe60..571f85ed09 100644 --- a/discontinued-plugins/de.cau.cs.kieler.esterel.sim/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.esterel.sim/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.esterel.sim diff --git a/discontinued-plugins/de.cau.cs.kieler.esterel.test/pom.xml b/discontinued-plugins/de.cau.cs.kieler.esterel.test/pom.xml index adda4b17b9..d5d698c168 100644 --- a/discontinued-plugins/de.cau.cs.kieler.esterel.test/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.esterel.test/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - test + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.esterel.test diff --git a/discontinued-plugins/de.cau.cs.kieler.kev/pom.xml b/discontinued-plugins/de.cau.cs.kieler.kev/pom.xml index 590fd86297..27a429e963 100644 --- a/discontinued-plugins/de.cau.cs.kieler.kev/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.kev/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.kev diff --git a/discontinued-plugins/de.cau.cs.kieler.kex.ui/pom.xml b/discontinued-plugins/de.cau.cs.kieler.kex.ui/pom.xml index 09e1d94b04..95e6ffbf30 100644 --- a/discontinued-plugins/de.cau.cs.kieler.kex.ui/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.kex.ui/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.kex.ui diff --git a/discontinued-plugins/de.cau.cs.kieler.kex/pom.xml b/discontinued-plugins/de.cau.cs.kieler.kex/pom.xml index a5dc4ded87..2956bd2b2e 100644 --- a/discontinued-plugins/de.cau.cs.kieler.kex/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.kex/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.kex diff --git a/discontinued-plugins/de.cau.cs.kieler.kico.server.ui/pom.xml b/discontinued-plugins/de.cau.cs.kieler.kico.server.ui/pom.xml index abaa6a6d62..e8da8e1226 100644 --- a/discontinued-plugins/de.cau.cs.kieler.kico.server.ui/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.kico.server.ui/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.kico.server.ui diff --git a/discontinued-plugins/de.cau.cs.kieler.kico.server/pom.xml b/discontinued-plugins/de.cau.cs.kieler.kico.server/pom.xml index 7457679fad..3e70835ea0 100644 --- a/discontinued-plugins/de.cau.cs.kieler.kico.server/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.kico.server/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.kico.server diff --git a/discontinued-plugins/de.cau.cs.kieler.kico.ui/pom.xml b/discontinued-plugins/de.cau.cs.kieler.kico.ui/pom.xml index b499253e17..d85193c347 100644 --- a/discontinued-plugins/de.cau.cs.kieler.kico.ui/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.kico.ui/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.kico.ui diff --git a/discontinued-plugins/de.cau.cs.kieler.kico/pom.xml b/discontinued-plugins/de.cau.cs.kieler.kico/pom.xml index 878e6fe981..438f412ea8 100644 --- a/discontinued-plugins/de.cau.cs.kieler.kico/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.kico/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.kico diff --git a/discontinued-plugins/de.cau.cs.kieler.klighd.server.ui/pom.xml b/discontinued-plugins/de.cau.cs.kieler.klighd.server.ui/pom.xml index 07a7ffc704..aa0710934a 100644 --- a/discontinued-plugins/de.cau.cs.kieler.klighd.server.ui/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.klighd.server.ui/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.klighd.server.ui diff --git a/discontinued-plugins/de.cau.cs.kieler.klighd.server/pom.xml b/discontinued-plugins/de.cau.cs.kieler.klighd.server/pom.xml index 117c8a4e35..f3a65bac42 100644 --- a/discontinued-plugins/de.cau.cs.kieler.klighd.server/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.klighd.server/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.klighd.server diff --git a/discontinued-plugins/de.cau.cs.kieler.prom.ui/pom.xml b/discontinued-plugins/de.cau.cs.kieler.prom.ui/pom.xml index c47bc8f206..9d9e0677fe 100644 --- a/discontinued-plugins/de.cau.cs.kieler.prom.ui/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.prom.ui/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.prom.ui diff --git a/discontinued-plugins/de.cau.cs.kieler.prom/pom.xml b/discontinued-plugins/de.cau.cs.kieler.prom/pom.xml index cdd4587b42..bf45032d99 100644 --- a/discontinued-plugins/de.cau.cs.kieler.prom/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.prom/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.prom diff --git a/discontinued-plugins/de.cau.cs.kieler.s.sc/pom.xml b/discontinued-plugins/de.cau.cs.kieler.s.sc/pom.xml index 4f7d512dc7..c1c497c052 100644 --- a/discontinued-plugins/de.cau.cs.kieler.s.sc/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.s.sc/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.s.sc diff --git a/discontinued-plugins/de.cau.cs.kieler.s.sim.kivi/pom.xml b/discontinued-plugins/de.cau.cs.kieler.s.sim.kivi/pom.xml index 326a4524e5..94027ea6e2 100644 --- a/discontinued-plugins/de.cau.cs.kieler.s.sim.kivi/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.s.sim.kivi/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.s.sim.kivi diff --git a/discontinued-plugins/de.cau.cs.kieler.s.sim.sc.test/pom.xml b/discontinued-plugins/de.cau.cs.kieler.s.sim.sc.test/pom.xml index 49e32ecba8..680e0ac6ff 100644 --- a/discontinued-plugins/de.cau.cs.kieler.s.sim.sc.test/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.s.sim.sc.test/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - test + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.s.sim.sc.test diff --git a/discontinued-plugins/de.cau.cs.kieler.s.sim.sc/pom.xml b/discontinued-plugins/de.cau.cs.kieler.s.sim.sc/pom.xml index 102667f747..853de8f625 100644 --- a/discontinued-plugins/de.cau.cs.kieler.s.sim.sc/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.s.sim.sc/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.s.sim.sc diff --git a/discontinued-plugins/de.cau.cs.kieler.s.sim.sj/pom.xml b/discontinued-plugins/de.cau.cs.kieler.s.sim.sj/pom.xml index b195b8ef73..859ec48f65 100644 --- a/discontinued-plugins/de.cau.cs.kieler.s.sim.sj/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.s.sim.sj/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.s.sim.sj diff --git a/discontinued-plugins/de.cau.cs.kieler.s.sim/pom.xml b/discontinued-plugins/de.cau.cs.kieler.s.sim/pom.xml index 43c260f326..d2ce1ed76f 100644 --- a/discontinued-plugins/de.cau.cs.kieler.s.sim/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.s.sim/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.s.sim diff --git a/discontinued-plugins/de.cau.cs.kieler.s.sj/pom.xml b/discontinued-plugins/de.cau.cs.kieler.s.sj/pom.xml index e8981a42dc..0f18a248ea 100644 --- a/discontinued-plugins/de.cau.cs.kieler.s.sj/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.s.sj/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.s.sj diff --git a/discontinued-plugins/de.cau.cs.kieler.s.ui/pom.xml b/discontinued-plugins/de.cau.cs.kieler.s.ui/pom.xml index 12cc36086c..3202bc2e87 100644 --- a/discontinued-plugins/de.cau.cs.kieler.s.ui/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.s.ui/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.s.ui diff --git a/discontinued-plugins/de.cau.cs.kieler.s/pom.xml b/discontinued-plugins/de.cau.cs.kieler.s/pom.xml index b8693478cc..7155311b0a 100644 --- a/discontinued-plugins/de.cau.cs.kieler.s/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.s/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.s diff --git a/discontinued-plugins/de.cau.cs.kieler.sc/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sc/pom.xml index e78a4a9c93..97ceb62b4e 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sc/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sc/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sc diff --git a/discontinued-plugins/de.cau.cs.kieler.sccharts.eso/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sccharts.eso/pom.xml index 31c60e90d0..15b3120684 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sccharts.eso/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sccharts.eso/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sccharts.eso diff --git a/discontinued-plugins/de.cau.cs.kieler.sccharts.examples/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sccharts.examples/pom.xml index 419e597af2..3a6898dd12 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sccharts.examples/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sccharts.examples/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sccharts.examples diff --git a/discontinued-plugins/de.cau.cs.kieler.sccharts.kivi/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sccharts.kivi/pom.xml index 89a830e636..0a9ad651a6 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sccharts.kivi/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sccharts.kivi/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sccharts.kivi diff --git a/discontinued-plugins/de.cau.cs.kieler.sccharts.prio.dependencies.klighd/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sccharts.prio.dependencies.klighd/pom.xml index cd9ce186e1..f6c38e9180 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sccharts.prio.dependencies.klighd/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sccharts.prio.dependencies.klighd/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sccharts.prio.dependencies.klighd diff --git a/discontinued-plugins/de.cau.cs.kieler.sccharts.prio.dependencies/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sccharts.prio.dependencies/pom.xml index a62a7adfa0..a03848dfc1 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sccharts.prio.dependencies/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sccharts.prio.dependencies/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sccharts.prio.dependencies diff --git a/discontinued-plugins/de.cau.cs.kieler.sccharts.prio.s/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sccharts.prio.s/pom.xml index fe5895770f..7b166fba89 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sccharts.prio.s/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sccharts.prio.s/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sccharts.prio.s diff --git a/discontinued-plugins/de.cau.cs.kieler.sccharts.prio.sim.s/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sccharts.prio.sim.s/pom.xml index 2a6c03594f..880e39b40b 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sccharts.prio.sim.s/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sccharts.prio.sim.s/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sccharts.sim.s diff --git a/discontinued-plugins/de.cau.cs.kieler.sccharts.prom/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sccharts.prom/pom.xml index 0697713d54..7ad54ad3d3 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sccharts.prom/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sccharts.prom/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sccharts.prom diff --git a/discontinued-plugins/de.cau.cs.kieler.sccharts.s/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sccharts.s/pom.xml index e4c483c302..a588d77f87 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sccharts.s/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sccharts.s/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sccharts.s diff --git a/discontinued-plugins/de.cau.cs.kieler.sccharts.sim.c.test/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sccharts.sim.c.test/pom.xml index 1483d2a172..ffd62e04aa 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sccharts.sim.c.test/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sccharts.sim.c.test/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - test + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sccharts.sim.c.test diff --git a/discontinued-plugins/de.cau.cs.kieler.sccharts.sim.c/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sccharts.sim.c/pom.xml index 1364f1a24b..81c775a9e6 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sccharts.sim.c/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sccharts.sim.c/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sccharts.sim.c diff --git a/discontinued-plugins/de.cau.cs.kieler.sccharts.sim.java/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sccharts.sim.java/pom.xml index dc6a6c3dfa..f55ab66088 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sccharts.sim.java/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sccharts.sim.java/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sccharts.sim.java diff --git a/discontinued-plugins/de.cau.cs.kieler.sccharts.sim.s/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sccharts.sim.s/pom.xml index 4a52f35fa8..75b995c862 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sccharts.sim.s/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sccharts.sim.s/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sccharts.sim.s diff --git a/discontinued-plugins/de.cau.cs.kieler.sccharts.timing/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sccharts.timing/pom.xml index 62a5f85548..2c0c6e3dd7 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sccharts.timing/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sccharts.timing/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sccharts.timing diff --git a/discontinued-plugins/de.cau.cs.kieler.scg.circuit/pom.xml b/discontinued-plugins/de.cau.cs.kieler.scg.circuit/pom.xml index 49bc99fe06..679aef577f 100644 --- a/discontinued-plugins/de.cau.cs.kieler.scg.circuit/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.scg.circuit/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.scg.circuit diff --git a/discontinued-plugins/de.cau.cs.kieler.scg.kivi/pom.xml b/discontinued-plugins/de.cau.cs.kieler.scg.kivi/pom.xml index 44015f7051..118e504fc3 100644 --- a/discontinued-plugins/de.cau.cs.kieler.scg.kivi/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.scg.kivi/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.scg.kivi diff --git a/discontinued-plugins/de.cau.cs.kieler.scg.s/pom.xml b/discontinued-plugins/de.cau.cs.kieler.scg.s/pom.xml index 1beb25d2cf..db8f49ca96 100644 --- a/discontinued-plugins/de.cau.cs.kieler.scg.s/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.scg.s/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.scg.s diff --git a/discontinued-plugins/de.cau.cs.kieler.scg.vhdl/pom.xml b/discontinued-plugins/de.cau.cs.kieler.scg.vhdl/pom.xml index 01f1faee6a..c9d764bf8e 100644 --- a/discontinued-plugins/de.cau.cs.kieler.scg.vhdl/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.scg.vhdl/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.scg.vhdl diff --git a/discontinued-plugins/de.cau.cs.kieler.server/pom.xml b/discontinued-plugins/de.cau.cs.kieler.server/pom.xml index 009444ee2d..9d13cc676c 100644 --- a/discontinued-plugins/de.cau.cs.kieler.server/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.server/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.server diff --git a/discontinued-plugins/de.cau.cs.kieler.sim.abro/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sim.abro/pom.xml index a7bffb015b..925e0de67a 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sim.abro/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sim.abro/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sim.abro diff --git a/discontinued-plugins/de.cau.cs.kieler.sim.benchmark/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sim.benchmark/pom.xml index 33d0060c57..d637953fe6 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sim.benchmark/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sim.benchmark/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sim.benchmark diff --git a/discontinued-plugins/de.cau.cs.kieler.sim.eso.ui/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sim.eso.ui/pom.xml index c1d4391bc8..9db1f056d2 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sim.eso.ui/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sim.eso.ui/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sim.eso.ui diff --git a/discontinued-plugins/de.cau.cs.kieler.sim.eso/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sim.eso/pom.xml index a7e08f7399..aef962bc98 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sim.eso/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sim.eso/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sim.eso diff --git a/discontinued-plugins/de.cau.cs.kieler.sim.instructions/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sim.instructions/pom.xml index 72681437b2..1f65ee23d7 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sim.instructions/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sim.instructions/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sim.instructions diff --git a/discontinued-plugins/de.cau.cs.kieler.sim.kart.ui/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sim.kart.ui/pom.xml index 17e516210f..eeadf38069 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sim.kart.ui/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sim.kart.ui/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sim.kart.ui diff --git a/discontinued-plugins/de.cau.cs.kieler.sim.kart/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sim.kart/pom.xml index 1c396efff6..fc7faa7d71 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sim.kart/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sim.kart/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sim.kart diff --git a/discontinued-plugins/de.cau.cs.kieler.sim.kiem.config/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sim.kiem.config/pom.xml index efd4d89b45..618c274438 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sim.kiem.config/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sim.kiem.config/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sim.kiem.config diff --git a/discontinued-plugins/de.cau.cs.kieler.sim.kiem.test/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sim.kiem.test/pom.xml index 12e1c50777..8b3c9670c0 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sim.kiem.test/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sim.kiem.test/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - test + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sim.kiem.test diff --git a/discontinued-plugins/de.cau.cs.kieler.sim.kiem.toolbar/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sim.kiem.toolbar/pom.xml index 2698ec0ecc..b3582228d6 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sim.kiem.toolbar/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sim.kiem.toolbar/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sim.kiem.toolbar diff --git a/discontinued-plugins/de.cau.cs.kieler.sim.kiem.ui.datacomponent/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sim.kiem.ui.datacomponent/pom.xml index 85c2cbc506..b35e8a5e4e 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sim.kiem.ui.datacomponent/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sim.kiem.ui.datacomponent/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sim.kiem.ui.datacomponent diff --git a/discontinued-plugins/de.cau.cs.kieler.sim.kiem.ui.launching/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sim.kiem.ui.launching/pom.xml index d68a2555ab..47cd7c3fa0 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sim.kiem.ui.launching/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sim.kiem.ui.launching/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sim.kiem.ui.launching diff --git a/discontinued-plugins/de.cau.cs.kieler.sim.kiem.ui/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sim.kiem.ui/pom.xml index b1a78c4bd9..e085cf6bc1 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sim.kiem.ui/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sim.kiem.ui/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sim.kiem.ui diff --git a/discontinued-plugins/de.cau.cs.kieler.sim.kiem/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sim.kiem/pom.xml index 44f94fa18e..855f4a9749 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sim.kiem/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sim.kiem/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sim.kiem diff --git a/discontinued-plugins/de.cau.cs.kieler.sim.kivi/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sim.kivi/pom.xml index b3fb2449dd..4252eaa51f 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sim.kivi/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sim.kivi/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sim.kivi diff --git a/discontinued-plugins/de.cau.cs.kieler.sim.ptolemy/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sim.ptolemy/pom.xml index a9e71bc441..e7c12e30af 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sim.ptolemy/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sim.ptolemy/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sim.ptolemy diff --git a/discontinued-plugins/de.cau.cs.kieler.sim.signals.ui/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sim.signals.ui/pom.xml index 7203adeb61..b10048ee81 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sim.signals.ui/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sim.signals.ui/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sim.signals.ui diff --git a/discontinued-plugins/de.cau.cs.kieler.sim.signals/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sim.signals/pom.xml index 796b8fadda..209720c185 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sim.signals/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sim.signals/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sim.signals diff --git a/discontinued-plugins/de.cau.cs.kieler.sim.syncsignalreset/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sim.syncsignalreset/pom.xml index 8362d5c4f7..462cf40c07 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sim.syncsignalreset/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sim.syncsignalreset/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sim.syncsignalreset diff --git a/discontinued-plugins/de.cau.cs.kieler.sim.table/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sim.table/pom.xml index dd5bd9fba8..b9e7556c4e 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sim.table/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sim.table/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sim.table diff --git a/discontinued-plugins/de.cau.cs.kieler.sj.test/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sj.test/pom.xml index 597135073b..78bb21adbe 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sj.test/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sj.test/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - test + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sj.test diff --git a/discontinued-plugins/de.cau.cs.kieler.sj/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sj/pom.xml index d3dd4afdfd..3845a163ae 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sj/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sj/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sj diff --git a/discontinued-plugins/de.cau.cs.kieler.sjl/pom.xml b/discontinued-plugins/de.cau.cs.kieler.sjl/pom.xml index 624b35dbf7..ac644c0132 100644 --- a/discontinued-plugins/de.cau.cs.kieler.sjl/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.sjl/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sjl diff --git a/discontinued-plugins/de.cau.cs.kieler.synccharts/pom.xml b/discontinued-plugins/de.cau.cs.kieler.synccharts/pom.xml index 51457b6a55..96e4296aa0 100644 --- a/discontinued-plugins/de.cau.cs.kieler.synccharts/pom.xml +++ b/discontinued-plugins/de.cau.cs.kieler.synccharts/pom.xml @@ -3,8 +3,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.synccharts diff --git a/discontinued-plugins/org.json/pom.xml b/discontinued-plugins/org.json/pom.xml index ee7aa97cbc..4a3f2d0073 100644 --- a/discontinued-plugins/org.json/pom.xml +++ b/discontinued-plugins/org.json/pom.xml @@ -4,8 +4,9 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler org.json diff --git a/features/de.cau.cs.kieler.esterel.feature/feature.xml b/features/de.cau.cs.kieler.esterel.feature/feature.xml index 81dc1327ca..1348af1e11 100644 --- a/features/de.cau.cs.kieler.esterel.feature/feature.xml +++ b/features/de.cau.cs.kieler.esterel.feature/feature.xml @@ -1,5 +1,5 @@ - + KIELER Esterel feature contains an Xtext based full featured textual Esterel and Lustre editor. diff --git a/features/de.cau.cs.kieler.esterel.feature/pom.xml b/features/de.cau.cs.kieler.esterel.feature/pom.xml index f95d3655ee..4984a7c73b 100644 --- a/features/de.cau.cs.kieler.esterel.feature/pom.xml +++ b/features/de.cau.cs.kieler.esterel.feature/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - features + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.esterel.feature - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-feature diff --git a/features/de.cau.cs.kieler.framework.feature/feature.xml b/features/de.cau.cs.kieler.framework.feature/feature.xml index 0963bd6060..4f64920a1d 100644 --- a/features/de.cau.cs.kieler.framework.feature/feature.xml +++ b/features/de.cau.cs.kieler.framework.feature/feature.xml @@ -1,5 +1,5 @@ - + KIELER Semantics Framework feature contains the KIELER Compiler and various tools and grammars for the KIELER SCCharts. @@ -229,8 +229,6 @@ litigation. - - diff --git a/features/de.cau.cs.kieler.framework.feature/pom.xml b/features/de.cau.cs.kieler.framework.feature/pom.xml index ed982c3e41..1b8f513c3d 100644 --- a/features/de.cau.cs.kieler.framework.feature/pom.xml +++ b/features/de.cau.cs.kieler.framework.feature/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - features + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.framework.feature - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-feature diff --git a/features/de.cau.cs.kieler.product.feature/feature.xml b/features/de.cau.cs.kieler.product.feature/feature.xml index 96af067c3c..3dce95d9d7 100644 --- a/features/de.cau.cs.kieler.product.feature/feature.xml +++ b/features/de.cau.cs.kieler.product.feature/feature.xml @@ -1,5 +1,5 @@ - + Dependencies of the KIELER project used for building a Rich Client Application. diff --git a/features/de.cau.cs.kieler.product.feature/pom.xml b/features/de.cau.cs.kieler.product.feature/pom.xml index ef4c2f4c4b..39637d1217 100644 --- a/features/de.cau.cs.kieler.product.feature/pom.xml +++ b/features/de.cau.cs.kieler.product.feature/pom.xml @@ -3,11 +3,12 @@ 4.0.0 de.cau.cs.kieler - features + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.product.feature - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-feature diff --git a/features/de.cau.cs.kieler.sccharts.feature/feature.xml b/features/de.cau.cs.kieler.sccharts.feature/feature.xml index 4f383860e6..529a590488 100644 --- a/features/de.cau.cs.kieler.sccharts.feature/feature.xml +++ b/features/de.cau.cs.kieler.sccharts.feature/feature.xml @@ -1,5 +1,5 @@ - + KIELER SCCharts feature contains the KIELER SCCharts Textual Editor (*.sctx) with automatic KLighD diagram synthesis. Code generation to Synchronous C (SC) or Syncchronous Java (SJ) is provided. diff --git a/features/de.cau.cs.kieler.sccharts.feature/pom.xml b/features/de.cau.cs.kieler.sccharts.feature/pom.xml index 9499d91f30..25b4832d09 100644 --- a/features/de.cau.cs.kieler.sccharts.feature/pom.xml +++ b/features/de.cau.cs.kieler.sccharts.feature/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - features + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sccharts.feature - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-feature diff --git a/features/pom.xml b/features/pom.xml index 8cd1363dba..b37103963c 100644 --- a/features/pom.xml +++ b/features/pom.xml @@ -9,7 +9,7 @@ de.cau.cs.kieler - parent + semantics 0.0.1-SNAPSHOT ../build/pom.xml diff --git a/language-server/de.cau.cs.kieler.language.server.components.fake/.project b/language-server/de.cau.cs.kieler.language.server.components.fake/.project new file mode 100644 index 0000000000..006c7ee83b --- /dev/null +++ b/language-server/de.cau.cs.kieler.language.server.components.fake/.project @@ -0,0 +1,17 @@ + + + de.cau.cs.kieler.language.server.components.fake + + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.m2e.core.maven2Nature + + diff --git a/language-server/de.cau.cs.kieler.language.server.components.fake/.settings/org.eclipse.core.resources.prefs b/language-server/de.cau.cs.kieler.language.server.components.fake/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000..99f26c0203 --- /dev/null +++ b/language-server/de.cau.cs.kieler.language.server.components.fake/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/language-server/de.cau.cs.kieler.language.server.components.fake/.settings/org.eclipse.m2e.core.prefs b/language-server/de.cau.cs.kieler.language.server.components.fake/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000000..f897a7f1cb --- /dev/null +++ b/language-server/de.cau.cs.kieler.language.server.components.fake/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/language-server/de.cau.cs.kieler.language.server.components.fake/pom.xml b/language-server/de.cau.cs.kieler.language.server.components.fake/pom.xml new file mode 100644 index 0000000000..770736ebec --- /dev/null +++ b/language-server/de.cau.cs.kieler.language.server.components.fake/pom.xml @@ -0,0 +1,45 @@ + + + 4.0.0 + + de.cau.cs.kieler + semantics + 0.0.1-SNAPSHOT + ../../build/pom.xml + + + de.cau.cs.kieler.language.server.components + 1.4.0-SNAPSHOT + pom + + + + + + + + + + + org.eclipse.xtext + org.eclipse.xtext + ${xtext-version} + + + org.eclipse.xtext + org.eclipse.xtext.ide + ${xtext-version} + + + org.eclipse.xtext + org.eclipse.xtext.xbase.lib + ${xtext-version} + + + org.eclipse.xtend + org.eclipse.xtend.lib + ${xtend-version} + + + + diff --git a/language-server/de.cau.cs.kieler.language.server.components/.project b/language-server/de.cau.cs.kieler.language.server.components/.project new file mode 100644 index 0000000000..408f886e65 --- /dev/null +++ b/language-server/de.cau.cs.kieler.language.server.components/.project @@ -0,0 +1,11 @@ + + + de.cau.cs.kieler.language.server.components + + + + + + + + diff --git a/language-server/de.cau.cs.kieler.language.server.components/.settings/org.eclipse.core.resources.prefs b/language-server/de.cau.cs.kieler.language.server.components/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000..99f26c0203 --- /dev/null +++ b/language-server/de.cau.cs.kieler.language.server.components/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/language-server/de.cau.cs.kieler.language.server.components/pom.xml b/language-server/de.cau.cs.kieler.language.server.components/pom.xml new file mode 100644 index 0000000000..0b76ec2525 --- /dev/null +++ b/language-server/de.cau.cs.kieler.language.server.components/pom.xml @@ -0,0 +1,116 @@ + + + 4.0.0 + + de.cau.cs.kieler + semantics + 0.0.1-SNAPSHOT + ../../build/pom.xml + + + de.cau.cs.kieler.language.server.components + 1.4.0-SNAPSHOT + pom + + + + + + + + + de.cau.cs.kieler + de.cau.cs.kieler.esterel.ide + ${project.version} + + + de.cau.cs.kieler + de.cau.cs.kieler.kicool + ${project.version} + + + de.cau.cs.kieler + de.cau.cs.kieler.kicool.ide + ${project.version} + + + de.cau.cs.kieler + de.cau.cs.kieler.kicool.ui + ${project.version} + + + de.cau.cs.kieler + de.cau.cs.kieler.kivis.ide + ${project.version} + + + de.cau.cs.kieler + de.cau.cs.kieler.lustre.ide + ${project.version} + + + de.cau.cs.kieler + de.cau.cs.kieler.sccharts + ${project.version} + + + de.cau.cs.kieler + de.cau.cs.kieler.sccharts.ide + ${project.version} + + + de.cau.cs.kieler + de.cau.cs.kieler.sccharts.ui + ${project.version} + + + de.cau.cs.kieler + de.cau.cs.kieler.scg + ${project.version} + + + de.cau.cs.kieler + de.cau.cs.kieler.scg.klighd + ${project.version} + + + de.cau.cs.kieler + de.cau.cs.kieler.simulation.ide + ${project.version} + + + de.cau.cs.kieler + de.cau.cs.kieler.verification + ${project.version} + + + + + + + + de.cau.cs.kieler + de.cau.cs.kieler.sccharts.ui + ${project.version} + + + de.cau.cs.kieler + de.cau.cs.kieler.simulation.ui + + + + + de.cau.cs.kieler + de.cau.cs.kieler.scg.klighd + ${project.version} + + + de.cau.cs.kieler + de.cau.cs.kieler.simulation.ui + + + + + + + diff --git a/language-server/de.cau.cs.kieler.language.server/.classpath b/language-server/de.cau.cs.kieler.language.server/.classpath new file mode 100644 index 0000000000..575acb3fec --- /dev/null +++ b/language-server/de.cau.cs.kieler.language.server/.classpath @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/de.cau.cs.kieler.language.server/.project b/language-server/de.cau.cs.kieler.language.server/.project similarity index 75% rename from plugins/de.cau.cs.kieler.language.server/.project rename to language-server/de.cau.cs.kieler.language.server/.project index ea6ddfd3b3..db0f4b3ec9 100644 --- a/plugins/de.cau.cs.kieler.language.server/.project +++ b/language-server/de.cau.cs.kieler.language.server/.project @@ -16,19 +16,14 @@ - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder + org.eclipse.m2e.core.maven2Builder - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature org.eclipse.xtext.ui.shared.xtextNature + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature diff --git a/language-server/de.cau.cs.kieler.language.server/.settings/org.eclipse.core.resources.prefs b/language-server/de.cau.cs.kieler.language.server/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000..7a53139284 --- /dev/null +++ b/language-server/de.cau.cs.kieler.language.server/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 +encoding/src=UTF-8 diff --git a/plugins/de.cau.cs.kieler.language.server/.settings/org.eclipse.jdt.core.prefs b/language-server/de.cau.cs.kieler.language.server/.settings/org.eclipse.jdt.core.prefs similarity index 79% rename from plugins/de.cau.cs.kieler.language.server/.settings/org.eclipse.jdt.core.prefs rename to language-server/de.cau.cs.kieler.language.server/.settings/org.eclipse.jdt.core.prefs index 7adc0fb9a0..3a393899fe 100644 --- a/plugins/de.cau.cs.kieler.language.server/.settings/org.eclipse.jdt.core.prefs +++ b/language-server/de.cau.cs.kieler.language.server/.settings/org.eclipse.jdt.core.prefs @@ -1,10 +1,10 @@ eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 org.eclipse.jdt.core.compiler.compliance=11 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning -org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.source=11 diff --git a/language-server/de.cau.cs.kieler.language.server/.settings/org.eclipse.xtend.core.Xtend.prefs b/language-server/de.cau.cs.kieler.language.server/.settings/org.eclipse.xtend.core.Xtend.prefs new file mode 100644 index 0000000000..56e3bbe885 --- /dev/null +++ b/language-server/de.cau.cs.kieler.language.server/.settings/org.eclipse.xtend.core.Xtend.prefs @@ -0,0 +1,6 @@ +BuilderConfiguration.is_project_specific=true +eclipse.preferences.version=1 +outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true +outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false +outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen +outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true diff --git a/language-server/de.cau.cs.kieler.language.server/META-INF/services/de.cau.cs.kieler.kicool.registration.IProcessorProvider b/language-server/de.cau.cs.kieler.language.server/META-INF/services/de.cau.cs.kieler.kicool.registration.IProcessorProvider new file mode 100644 index 0000000000..ce245d8616 --- /dev/null +++ b/language-server/de.cau.cs.kieler.language.server/META-INF/services/de.cau.cs.kieler.kicool.registration.IProcessorProvider @@ -0,0 +1 @@ +de.cau.cs.kieler.language.server.processor.providers.LSProcessorProvider diff --git a/language-server/de.cau.cs.kieler.language.server/META-INF/services/de.cau.cs.kieler.language.server.ILSDiagramHighlighterContribution b/language-server/de.cau.cs.kieler.language.server/META-INF/services/de.cau.cs.kieler.language.server.ILSDiagramHighlighterContribution new file mode 100644 index 0000000000..6d05c6cd54 --- /dev/null +++ b/language-server/de.cau.cs.kieler.language.server/META-INF/services/de.cau.cs.kieler.language.server.ILSDiagramHighlighterContribution @@ -0,0 +1 @@ +de.cau.cs.kieler.language.server.sccharts.SCChartsLSDiagramHighlighterContribution \ No newline at end of file diff --git a/language-server/de.cau.cs.kieler.language.server/META-INF/services/de.cau.cs.kieler.language.server.ILanguageServerContribution b/language-server/de.cau.cs.kieler.language.server/META-INF/services/de.cau.cs.kieler.language.server.ILanguageServerContribution new file mode 100644 index 0000000000..4dcb5ba1fb --- /dev/null +++ b/language-server/de.cau.cs.kieler.language.server/META-INF/services/de.cau.cs.kieler.language.server.ILanguageServerContribution @@ -0,0 +1,4 @@ +de.cau.cs.kieler.language.server.registration.RegistrationLanguageServerContribution +de.cau.cs.kieler.language.server.kicool.KiCoolLanguageServerContribution +de.cau.cs.kieler.language.server.simulation.SimulationLanguageServerContribution +de.cau.cs.kieler.language.server.verification.VerificationLanguageServerContribution \ No newline at end of file diff --git a/language-server/de.cau.cs.kieler.language.server/pom.xml b/language-server/de.cau.cs.kieler.language.server/pom.xml new file mode 100644 index 0000000000..f7b00497f9 --- /dev/null +++ b/language-server/de.cau.cs.kieler.language.server/pom.xml @@ -0,0 +1,174 @@ + + + 4.0.0 + + de.cau.cs.kieler + semantics + 0.0.1-SNAPSHOT + ../../build/pom.xml + + de.cau.cs.kieler.language.server + 1.4.0-SNAPSHOT + + + + + + + + + + de.cau.cs.kieler + de.cau.cs.kieler.language.server.components + ${project.version} + pom + + + + + + de.cau.cs.kieler.klighd + de.cau.cs.kieler.klighd.lsp + ${klighd-version} + + + de.cau.cs.kieler + de.cau.cs.kieler.pragmatics.language.server + ${pragmatics-version} + + + + + + org.eclipse.xtext + org.eclipse.xtext + ${xtext-version} + + + org.eclipse.xtext + org.eclipse.xtext.ide + ${xtext-version} + + + org.eclipse.xtext + org.eclipse.xtext.xbase.lib + ${xtext-version} + + + org.eclipse.xtend + org.eclipse.xtend.lib + ${xtend-version} + + + com.google.code.gson + gson + 2.9.0 + + + com.google.inject + guice + 5.1.0 + + + org.apache.logging.log4j + log4j-core + 2.18.0 + + + org.eclipse.lsp4j + org.eclipse.lsp4j + ${lsp4j-version} + + + org.eclipse.lsp4j + org.eclipse.lsp4j.jsonrpc + ${lsp4j-version} + + + + + + + org.freemarker + freemarker + 2.3.32 + + + + org.eclipse.jdt + org.eclipse.jdt.core + 3.30.0 + + + + + + javax.servlet + javax.servlet-api + 4.0.1 + + + + org.eclipse.jetty + jetty-servlet + 11.0.11 + + + + + src + + + org.eclipse.xtend + xtend-maven-plugin + + + + compile + + + + + + + + + + + org.eclipse.m2e + lifecycle-mapping + 1.0.0 + + + + + + + org.apache.maven.plugins + + + maven-dependency-plugin + + + [3.1.1,) + + + tree + + + + + + + + + + + + + + diff --git a/language-server/de.cau.cs.kieler.language.server/run-configurations/LanguageServer with KLighD and ELK in Workspace.launch b/language-server/de.cau.cs.kieler.language.server/run-configurations/LanguageServer with KLighD and ELK in Workspace.launch new file mode 100644 index 0000000000..474d322f98 --- /dev/null +++ b/language-server/de.cau.cs.kieler.language.server/run-configurations/LanguageServer with KLighD and ELK in Workspace.launch @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/de.cau.cs.kieler.language.server/run-configurations/LanguageServer with KLighD in Workspace.launch b/language-server/de.cau.cs.kieler.language.server/run-configurations/LanguageServer with KLighD in Workspace.launch similarity index 96% rename from plugins/de.cau.cs.kieler.language.server/run-configurations/LanguageServer with KLighD in Workspace.launch rename to language-server/de.cau.cs.kieler.language.server/run-configurations/LanguageServer with KLighD in Workspace.launch index d62e6b4817..24573b3730 100644 --- a/plugins/de.cau.cs.kieler.language.server/run-configurations/LanguageServer with KLighD in Workspace.launch +++ b/language-server/de.cau.cs.kieler.language.server/run-configurations/LanguageServer with KLighD in Workspace.launch @@ -1,5 +1,6 @@ + @@ -11,13 +12,10 @@ - - - @@ -62,9 +60,9 @@ + - @@ -110,10 +108,13 @@ + + + diff --git a/plugins/de.cau.cs.kieler.language.server/run-configurations/LanguageServer.launch b/language-server/de.cau.cs.kieler.language.server/run-configurations/LanguageServer.launch similarity index 94% rename from plugins/de.cau.cs.kieler.language.server/run-configurations/LanguageServer.launch rename to language-server/de.cau.cs.kieler.language.server/run-configurations/LanguageServer.launch index b1b0c2b6e2..2d002f0940 100644 --- a/plugins/de.cau.cs.kieler.language.server/run-configurations/LanguageServer.launch +++ b/language-server/de.cau.cs.kieler.language.server/run-configurations/LanguageServer.launch @@ -1,5 +1,6 @@ + @@ -11,13 +12,11 @@ - + - - @@ -49,7 +48,6 @@ - @@ -80,10 +78,13 @@ + + + diff --git a/plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/ILSDiagramHighlighter.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/ILSDiagramHighlighter.xtend similarity index 100% rename from plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/ILSDiagramHighlighter.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/ILSDiagramHighlighter.xtend diff --git a/plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/ILSDiagramHighlighterContribution.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/ILSDiagramHighlighterContribution.xtend similarity index 100% rename from plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/ILSDiagramHighlighterContribution.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/ILSDiagramHighlighterContribution.xtend diff --git a/plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/ILanguageClientProvider.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/ILanguageClientProvider.xtend similarity index 100% rename from plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/ILanguageClientProvider.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/ILanguageClientProvider.xtend diff --git a/plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/ILanguageServerContribution.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/ILanguageServerContribution.xtend similarity index 100% rename from plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/ILanguageServerContribution.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/ILanguageServerContribution.xtend diff --git a/plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/KeithLanguageClient.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/KeithLanguageClient.xtend similarity index 76% rename from plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/KeithLanguageClient.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/KeithLanguageClient.xtend index 08357dca50..d8cbad6016 100644 --- a/plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/KeithLanguageClient.xtend +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/KeithLanguageClient.xtend @@ -28,7 +28,7 @@ import org.eclipse.lsp4j.services.LanguageClient @JsonSegment("keith") interface KeithLanguageClient extends KGraphLanguageClient, LanguageClient { /** - * The result object should have the type de.cau.cs.kieler.kicool.ide.language.server.CompilationResults + * The result object should have the type de.cau.cs.kieler.language.server.kicool.CompilationResults */ @JsonNotification("kicool/compile") def void compile(Object results, String uri, boolean finished, int currentIndex, int maxIndex); @@ -37,7 +37,7 @@ interface KeithLanguageClient extends KGraphLanguageClient, LanguageClient { def void cancelCompilation(boolean success); /** - * Both objects should be List + * Both objects should be List */ @JsonNotification("kicool/compilation-systems") def void sendCompilationSystems(Object systems, Object snapshotSystems) @@ -68,4 +68,17 @@ interface KeithLanguageClient extends KGraphLanguageClient, LanguageClient { */ @JsonNotification("simulation/started") def void startedSimulation(Object message) -} \ No newline at end of file + + /** + * Send to client if verification properties were requested. + * The send object should be {@code VerificationPropertiesMessage}. + */ + @JsonNotification("verification/properties") + def void sendVerificationProperties(Object props) + + /** + * Send to client if verification properties are updated due to running the model checker. + */ + @JsonNotification("verification/update-property-status") + def void sendPropertyStatus(Object id, Object status, Object counterexampleUri) +} diff --git a/plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/LSCreator.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/LSCreator.xtend similarity index 100% rename from plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/LSCreator.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/LSCreator.xtend diff --git a/plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/LanguageRegistration.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/LanguageRegistration.xtend similarity index 100% rename from plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/LanguageRegistration.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/LanguageRegistration.xtend diff --git a/plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/LanguageServer.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/LanguageServer.xtend similarity index 100% rename from plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/LanguageServer.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/LanguageServer.xtend diff --git a/plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/LanguageServerActivator.java b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/LanguageServerActivator.java similarity index 100% rename from plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/LanguageServerActivator.java rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/LanguageServerActivator.java diff --git a/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/CompilationThread.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/CompilationThread.xtend similarity index 94% rename from plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/CompilationThread.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/CompilationThread.xtend index 0eae0abe54..5a2aa851a9 100644 --- a/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/CompilationThread.xtend +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/CompilationThread.xtend @@ -10,7 +10,7 @@ * * This code is provided under the terms of the Eclipse Public License (EPL). */ -package de.cau.cs.kieler.kicool.ide.language.server +package de.cau.cs.kieler.language.server.kicool import java.lang.Thread import de.cau.cs.kieler.kicool.compilation.CompilationContext @@ -36,4 +36,4 @@ class CompilationThread extends Thread { context.compile() return } -} \ No newline at end of file +} diff --git a/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/GetSystemsThread.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/GetSystemsThread.xtend similarity index 83% rename from plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/GetSystemsThread.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/GetSystemsThread.xtend index 0bd6e8a6d8..5c48124519 100644 --- a/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/GetSystemsThread.xtend +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/GetSystemsThread.xtend @@ -10,9 +10,9 @@ * * This code is provided under the terms of the Eclipse Public License (EPL). */ -package de.cau.cs.kieler.kicool.ide.language.server +package de.cau.cs.kieler.language.server.kicool -import de.cau.cs.kieler.kicool.ide.language.server.data.SystemDescription +import de.cau.cs.kieler.language.server.kicool.data.SystemDescription import java.util.List /** @@ -32,4 +32,4 @@ class GetSystemsThread extends Thread { -} \ No newline at end of file +} diff --git a/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/KeithCompilationUpdater.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/KeithCompilationUpdater.xtend similarity index 91% rename from plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/KeithCompilationUpdater.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/KeithCompilationUpdater.xtend index bc48378c66..8a0aa42f05 100644 --- a/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/KeithCompilationUpdater.xtend +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/KeithCompilationUpdater.xtend @@ -10,7 +10,7 @@ * * This code is provided under the terms of the Eclipse Public License (EPL). */ -package de.cau.cs.kieler.kicool.ide.language.server +package de.cau.cs.kieler.language.server.kicool import de.cau.cs.kieler.kicool.compilation.CompilationContext import de.cau.cs.kieler.kicool.compilation.observer.AbstractContextNotification @@ -21,7 +21,7 @@ import de.cau.cs.kieler.kicool.compilation.observer.ProcessorSnapshot import de.cau.cs.kieler.kicool.compilation.observer.ProcessorStart import de.cau.cs.kieler.kicool.environments.Environment import de.cau.cs.kieler.kicool.environments.Snapshots -import de.cau.cs.kieler.kicool.ide.language.server.data.SnapshotDescription +import de.cau.cs.kieler.language.server.kicool.data.SnapshotDescription import java.util.Observable import java.util.Observer @@ -101,6 +101,11 @@ class KeithCompilationUpdater implements Observer { currentSnapshotList.add(new SnapshotDescription(processor.name, currentIndex, currentSnapshotList.length, errors, warnings, infos)) kicoolExt.objectMap.get(uri).add(impl) currentIndex++ + if (!environment.logs.files.isEmpty) { + currentSnapshotList.add(new SnapshotDescription(processor.name + " Log", currentIndex, currentSnapshotList.length, null, null, null)) + kicoolExt.objectMap.get(uri).add(environment.logs) + currentIndex++; + } maxIndex = context.processorInstances.length kicoolExt.update(uri, context, clientId, command, inplace, false, showResultingModel, currentIndex, maxIndex) } @@ -114,4 +119,4 @@ class KeithCompilationUpdater implements Observer { } } -} \ No newline at end of file +} diff --git a/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/KiCoolCommandExtension.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/KiCoolCommandExtension.xtend similarity index 94% rename from plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/KiCoolCommandExtension.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/KiCoolCommandExtension.xtend index f5a44225ee..325b98052e 100644 --- a/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/KiCoolCommandExtension.xtend +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/KiCoolCommandExtension.xtend @@ -10,9 +10,9 @@ * * This code is provided under the terms of the Eclipse Public License (EPL). */ -package de.cau.cs.kieler.kicool.ide.language.server +package de.cau.cs.kieler.language.server.kicool -import de.cau.cs.kieler.kicool.ide.language.server.data.CodeOfModel +import de.cau.cs.kieler.language.server.kicool.data.CodeOfModel import java.util.concurrent.CompletableFuture import org.eclipse.lsp4j.jsonrpc.services.JsonNotification import org.eclipse.lsp4j.jsonrpc.services.JsonRequest diff --git a/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/KiCoolLanguageServerContribution.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/KiCoolLanguageServerContribution.xtend similarity index 92% rename from plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/KiCoolLanguageServerContribution.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/KiCoolLanguageServerContribution.xtend index 89e723958d..1f583371bc 100644 --- a/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/KiCoolLanguageServerContribution.xtend +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/KiCoolLanguageServerContribution.xtend @@ -10,7 +10,7 @@ * * This code is provided under the terms of the Eclipse Public License (EPL). */ -package de.cau.cs.kieler.kicool.ide.language.server +package de.cau.cs.kieler.language.server.kicool import com.google.inject.Injector import de.cau.cs.kieler.language.server.ILanguageServerContribution @@ -24,4 +24,4 @@ class KiCoolLanguageServerContribution implements ILanguageServerContribution { override getLanguageServerExtension(Injector injector) { return injector.getInstance(KiCoolLanguageServerExtension) } -} \ No newline at end of file +} diff --git a/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/KiCoolLanguageServerExtension.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/KiCoolLanguageServerExtension.xtend similarity index 98% rename from plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/KiCoolLanguageServerExtension.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/KiCoolLanguageServerExtension.xtend index 7201f9c2bd..ad27446fac 100644 --- a/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/KiCoolLanguageServerExtension.xtend +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/KiCoolLanguageServerExtension.xtend @@ -10,7 +10,7 @@ * * This code is provided under the terms of the Eclipse Public License (EPL). */ -package de.cau.cs.kieler.kicool.ide.language.server +package de.cau.cs.kieler.language.server.kicool import com.google.inject.Inject import com.google.inject.Injector @@ -22,15 +22,15 @@ import de.cau.cs.kieler.kicool.compilation.Compile import de.cau.cs.kieler.kicool.deploy.ProjectInfrastructure import de.cau.cs.kieler.kicool.environments.Environment import de.cau.cs.kieler.kicool.ide.klighd.models.CodePlaceHolder -import de.cau.cs.kieler.kicool.ide.language.server.data.CodeOfModel -import de.cau.cs.kieler.kicool.ide.language.server.data.CompilationResults -import de.cau.cs.kieler.kicool.ide.language.server.data.SnapshotDescription -import de.cau.cs.kieler.kicool.ide.language.server.data.SystemDescription import de.cau.cs.kieler.kicool.ide.view.IdeCompilerView import de.cau.cs.kieler.klighd.lsp.KGraphDiagramState import de.cau.cs.kieler.klighd.lsp.KGraphLanguageServerExtension import de.cau.cs.kieler.language.server.ILanguageClientProvider import de.cau.cs.kieler.language.server.KeithLanguageClient +import de.cau.cs.kieler.language.server.kicool.data.CodeOfModel +import de.cau.cs.kieler.language.server.kicool.data.CompilationResults +import de.cau.cs.kieler.language.server.kicool.data.SnapshotDescription +import de.cau.cs.kieler.language.server.kicool.data.SystemDescription import de.cau.cs.kieler.language.server.registration.RegistrationLanguageServerExtension import java.io.File import java.net.URLDecoder diff --git a/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/data/CodeOfModel.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/data/CodeOfModel.xtend similarity index 89% rename from plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/data/CodeOfModel.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/data/CodeOfModel.xtend index 03d597543f..54e5fae1b0 100644 --- a/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/data/CodeOfModel.xtend +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/data/CodeOfModel.xtend @@ -10,7 +10,7 @@ * * This code is provided under the terms of the Eclipse Public License (EPL). */ -package de.cau.cs.kieler.kicool.ide.language.server.data +package de.cau.cs.kieler.language.server.kicool.data import org.eclipse.xtend.lib.annotations.Data @@ -22,4 +22,4 @@ import org.eclipse.xtend.lib.annotations.Data class CodeOfModel { String fileName String code -} \ No newline at end of file +} diff --git a/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/data/CompilationResults.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/data/CompilationResults.xtend similarity index 92% rename from plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/data/CompilationResults.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/data/CompilationResults.xtend index 95a13f664d..51d3409567 100644 --- a/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/data/CompilationResults.xtend +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/data/CompilationResults.xtend @@ -9,7 +9,7 @@ * * This code is provided under the terms of the Eclipse Public License (EPL). */ -package de.cau.cs.kieler.kicool.ide.language.server.data +package de.cau.cs.kieler.language.server.kicool.data import java.util.LinkedList import java.util.List @@ -26,4 +26,4 @@ class CompilationResults { this.files = descriptions } -} \ No newline at end of file +} diff --git a/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/data/SnapshotDescription.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/data/SnapshotDescription.xtend similarity index 97% rename from plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/data/SnapshotDescription.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/data/SnapshotDescription.xtend index 26018ec123..245d342360 100644 --- a/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/data/SnapshotDescription.xtend +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/data/SnapshotDescription.xtend @@ -10,16 +10,16 @@ * * This code is provided under the terms of the Eclipse Public License (EPL). */ -package de.cau.cs.kieler.kicool.ide.language.server.data +package de.cau.cs.kieler.language.server.kicool.data import de.cau.cs.kieler.kicool.environments.Errors -import de.cau.cs.kieler.kicool.environments.Warnings import de.cau.cs.kieler.kicool.environments.Infos -import java.util.List -import de.cau.cs.kieler.kicool.environments.MessageObjectReferences import de.cau.cs.kieler.kicool.environments.MessageObjectLink import de.cau.cs.kieler.kicool.environments.MessageObjectList +import de.cau.cs.kieler.kicool.environments.MessageObjectReferences +import de.cau.cs.kieler.kicool.environments.Warnings import java.util.LinkedList +import java.util.List import org.eclipse.xtend.lib.annotations.Accessors /** diff --git a/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/data/SystemDescription.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/data/SystemDescription.xtend similarity index 91% rename from plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/data/SystemDescription.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/data/SystemDescription.xtend index 467fbdc810..a55af5243a 100644 --- a/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/language/server/data/SystemDescription.xtend +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/kicool/data/SystemDescription.xtend @@ -10,7 +10,7 @@ * * This code is provided under the terms of the Eclipse Public License (EPL). */ -package de.cau.cs.kieler.kicool.ide.language.server.data +package de.cau.cs.kieler.language.server.kicool.data import org.eclipse.xtend.lib.annotations.Data @@ -27,4 +27,4 @@ import org.eclipse.xtend.lib.annotations.Data boolean isPublic boolean simulation boolean snapshotSystem -} \ No newline at end of file +} diff --git a/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/processor/providers/LSProcessorProvider.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/processor/providers/LSProcessorProvider.xtend new file mode 100644 index 0000000000..d6d1e4dbb9 --- /dev/null +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/processor/providers/LSProcessorProvider.xtend @@ -0,0 +1,30 @@ +/* + * KIELER - Kiel Integrated Environment for Layout Eclipse RichClient + * + * http://rtsys.informatik.uni-kiel.de/kieler + * + * Copyright 2019 by + * + Kiel University + * + Department of Computer Science + * + Real-Time and Embedded Systems Group + * + * This code is provided under the terms of the Eclipse Public License (EPL). + */ +package de.cau.cs.kieler.language.server.processor.providers + +import de.cau.cs.kieler.kicool.registration.IProcessorProvider + +/** + * Provider to make processors available to KiCool. + * + * @author sdo + */ +class LSProcessorProvider implements IProcessorProvider { + + override getProcessors() { + #[ + de.cau.cs.kieler.language.server.simulation.LSUserValues + ] + } + +} diff --git a/plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/registration/RegistrationLanguageServerContribution.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/registration/RegistrationLanguageServerContribution.xtend similarity index 100% rename from plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/registration/RegistrationLanguageServerContribution.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/registration/RegistrationLanguageServerContribution.xtend index 934fe2f2e5..fb2f492416 100644 --- a/plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/registration/RegistrationLanguageServerContribution.xtend +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/registration/RegistrationLanguageServerContribution.xtend @@ -12,8 +12,8 @@ */ package de.cau.cs.kieler.language.server.registration -import de.cau.cs.kieler.language.server.ILanguageServerContribution import com.google.inject.Injector +import de.cau.cs.kieler.language.server.ILanguageServerContribution /** * @author sdo diff --git a/plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/registration/RegistrationLanguageServerExtension.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/registration/RegistrationLanguageServerExtension.xtend similarity index 100% rename from plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/registration/RegistrationLanguageServerExtension.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/registration/RegistrationLanguageServerExtension.xtend diff --git a/plugins/de.cau.cs.kieler.sccharts.ide/src/de/cau/cs/kieler/sccharts/ide/language/server/SCChartsLSDiagramHighlighterContribution.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/sccharts/SCChartsLSDiagramHighlighterContribution.xtend similarity index 85% rename from plugins/de.cau.cs.kieler.sccharts.ide/src/de/cau/cs/kieler/sccharts/ide/language/server/SCChartsLSDiagramHighlighterContribution.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/sccharts/SCChartsLSDiagramHighlighterContribution.xtend index 5e8cebad43..84fa0d57b1 100644 --- a/plugins/de.cau.cs.kieler.sccharts.ide/src/de/cau/cs/kieler/sccharts/ide/language/server/SCChartsLSDiagramHighlighterContribution.xtend +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/sccharts/SCChartsLSDiagramHighlighterContribution.xtend @@ -10,12 +10,12 @@ * * This code is provided under the terms of the Eclipse Public License (EPL). */ -package de.cau.cs.kieler.sccharts.ide.language.server +package de.cau.cs.kieler.language.server.sccharts import com.google.inject.Injector import de.cau.cs.kieler.language.server.ILSDiagramHighlighterContribution +import de.cau.cs.kieler.language.server.simulation.LSDiagramHighlightingHandler import de.cau.cs.kieler.sccharts.ide.simulation.SCChartsDiagramHighlighter -import de.cau.cs.kieler.simulation.ide.language.server.LSDiagramHighlightingHandler /** * @author sdo diff --git a/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/LSDiagramHighlightingHandler.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/LSDiagramHighlightingHandler.xtend similarity index 95% rename from plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/LSDiagramHighlightingHandler.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/LSDiagramHighlightingHandler.xtend index 258c78c790..79bdb4b8ff 100644 --- a/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/LSDiagramHighlightingHandler.xtend +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/LSDiagramHighlightingHandler.xtend @@ -10,21 +10,22 @@ * * This code is provided under the terms of the Eclipse Public License (EPL). */ -package de.cau.cs.kieler.simulation.ide.language.server +package de.cau.cs.kieler.language.server.simulation +import com.google.inject.Binder import com.google.inject.Inject +import com.google.inject.Injector +import com.google.inject.Module import de.cau.cs.kieler.klighd.ViewContext import de.cau.cs.kieler.klighd.lsp.KGraphDiagramState import de.cau.cs.kieler.klighd.lsp.KGraphLanguageServerExtension +import de.cau.cs.kieler.language.server.ILSDiagramHighlighter import de.cau.cs.kieler.simulation.SimulationContext import de.cau.cs.kieler.simulation.events.SimulationControlEvent import de.cau.cs.kieler.simulation.events.SimulationControlEvent.SimulationOperation +import de.cau.cs.kieler.simulation.ide.CentralSimulation import de.cau.cs.kieler.simulation.ide.visualization.AbstractDiagramHighlighter import de.cau.cs.kieler.simulation.ide.visualization.AbstractDiagramHighlightingHandler -import com.google.inject.Injector -import com.google.inject.Binder -import de.cau.cs.kieler.language.server.ILSDiagramHighlighter -import de.cau.cs.kieler.simulation.ide.CentralSimulation /** * Works similar to the KlighdPiccoloDiagramHighlightingHandler. After each stop, start, or step action the diagram layout is updated. @@ -42,7 +43,7 @@ class LSDiagramHighlightingHandler extends AbstractDiagramHighlightingHandler im @Inject KGraphDiagramState diagramState static def create(Injector parentInjector, Class highlighter) { - val injector = parentInjector.createChildInjector(new com.google.inject.Module() { + val injector = parentInjector.createChildInjector(new Module() { override configure(Binder binder) { binder.bind(AbstractDiagramHighlighter).to(highlighter) } diff --git a/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/LSUserValues.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/LSUserValues.xtend similarity index 84% rename from plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/LSUserValues.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/LSUserValues.xtend index 6311ce9613..84ed3c51c2 100644 --- a/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/LSUserValues.xtend +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/LSUserValues.xtend @@ -10,11 +10,13 @@ * * This code is provided under the terms of the Eclipse Public License (EPL). */ -package de.cau.cs.kieler.simulation.ide.language.server +package de.cau.cs.kieler.language.server.simulation -import de.cau.cs.kieler.simulation.ide.language.server.data.ClientInputs +import de.cau.cs.kieler.language.server.simulation.data.ClientInputs import de.cau.cs.kieler.simulation.internal.processor.SimulationProcessor +import static de.cau.cs.kieler.language.server.simulation.data.ClientInputs.* + /** * User values processor to be used in a LS setup. Allows to set user values by the client. * diff --git a/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/SimulationCommandExtension.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/SimulationCommandExtension.xtend similarity index 86% rename from plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/SimulationCommandExtension.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/SimulationCommandExtension.xtend index 7bfe82c1c8..b673a0d99c 100644 --- a/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/SimulationCommandExtension.xtend +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/SimulationCommandExtension.xtend @@ -10,12 +10,12 @@ * * This code is provided under the terms of the Eclipse Public License (EPL). */ -package de.cau.cs.kieler.simulation.ide.language.server +package de.cau.cs.kieler.language.server.simulation import com.google.gson.JsonObject -import de.cau.cs.kieler.simulation.ide.language.server.data.LoadedTraceMessage -import de.cau.cs.kieler.simulation.ide.language.server.data.SavedTraceMessage -import de.cau.cs.kieler.simulation.ide.language.server.data.SimulationStoppedMessage +import de.cau.cs.kieler.language.server.simulation.data.LoadedTraceMessage +import de.cau.cs.kieler.language.server.simulation.data.SavedTraceMessage +import de.cau.cs.kieler.language.server.simulation.data.SimulationStoppedMessage import java.util.concurrent.CompletableFuture import org.eclipse.lsp4j.jsonrpc.services.JsonNotification import org.eclipse.lsp4j.jsonrpc.services.JsonRequest diff --git a/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/SimulationLanguageServerContribution.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/SimulationLanguageServerContribution.xtend similarity index 93% rename from plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/SimulationLanguageServerContribution.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/SimulationLanguageServerContribution.xtend index 202c0456df..1c9ca6eebb 100644 --- a/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/SimulationLanguageServerContribution.xtend +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/SimulationLanguageServerContribution.xtend @@ -10,10 +10,10 @@ * * This code is provided under the terms of the Eclipse Public License (EPL). */ -package de.cau.cs.kieler.simulation.ide.language.server +package de.cau.cs.kieler.language.server.simulation -import de.cau.cs.kieler.language.server.ILanguageServerContribution import com.google.inject.Injector +import de.cau.cs.kieler.language.server.ILanguageServerContribution /** * Contribution to provide the corresponding language server extension @@ -26,4 +26,4 @@ class SimulationLanguageServerContribution implements ILanguageServerContributio override getLanguageServerExtension(Injector injector) { return injector.getInstance(SimulationLanguageServerExtension) } -} \ No newline at end of file +} diff --git a/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/SimulationLanguageServerExtension.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/SimulationLanguageServerExtension.xtend similarity index 95% rename from plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/SimulationLanguageServerExtension.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/SimulationLanguageServerExtension.xtend index d2c1ef871b..102c7d2e9e 100644 --- a/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/SimulationLanguageServerExtension.xtend +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/SimulationLanguageServerExtension.xtend @@ -10,7 +10,7 @@ * * This code is provided under the terms of the Eclipse Public License (EPL). */ -package de.cau.cs.kieler.simulation.ide.language.server +package de.cau.cs.kieler.language.server.simulation import com.google.gson.JsonObject import com.google.inject.Inject @@ -19,11 +19,17 @@ import de.cau.cs.kieler.kicool.KiCoolFactory import de.cau.cs.kieler.kicool.ProcessorGroup import de.cau.cs.kieler.kicool.compilation.observer.AbstractContextNotification import de.cau.cs.kieler.kicool.compilation.observer.CompilationFinished -import de.cau.cs.kieler.kicool.ide.language.server.KiCoolLanguageServerExtension import de.cau.cs.kieler.klighd.lsp.KGraphDiagramState import de.cau.cs.kieler.klighd.lsp.KGraphLanguageServerExtension import de.cau.cs.kieler.language.server.ILanguageClientProvider import de.cau.cs.kieler.language.server.KeithLanguageClient +import de.cau.cs.kieler.language.server.kicool.KiCoolLanguageServerExtension +import de.cau.cs.kieler.language.server.simulation.data.ClientInputs +import de.cau.cs.kieler.language.server.simulation.data.LoadedTraceMessage +import de.cau.cs.kieler.language.server.simulation.data.SavedTraceMessage +import de.cau.cs.kieler.language.server.simulation.data.SimulationStartedMessage +import de.cau.cs.kieler.language.server.simulation.data.SimulationStepMessage +import de.cau.cs.kieler.language.server.simulation.data.SimulationStoppedMessage import de.cau.cs.kieler.simulation.CoSimulationExeWrapper import de.cau.cs.kieler.simulation.DataPool import de.cau.cs.kieler.simulation.SimulationContext @@ -33,12 +39,6 @@ import de.cau.cs.kieler.simulation.events.SimulationEvent import de.cau.cs.kieler.simulation.events.TraceFinishedEvent import de.cau.cs.kieler.simulation.events.TraceMismatchEvent import de.cau.cs.kieler.simulation.ide.CentralSimulation -import de.cau.cs.kieler.simulation.ide.language.server.data.ClientInputs -import de.cau.cs.kieler.simulation.ide.language.server.data.LoadedTraceMessage -import de.cau.cs.kieler.simulation.ide.language.server.data.SavedTraceMessage -import de.cau.cs.kieler.simulation.ide.language.server.data.SimulationStartedMessage -import de.cau.cs.kieler.simulation.ide.language.server.data.SimulationStepMessage -import de.cau.cs.kieler.simulation.ide.language.server.data.SimulationStoppedMessage import de.cau.cs.kieler.simulation.ide.server.SimulationServer import de.cau.cs.kieler.simulation.mode.DynamicTickMode import de.cau.cs.kieler.simulation.mode.ManualMode @@ -58,8 +58,8 @@ import org.eclipse.xtext.ide.server.ILanguageServerAccess import org.eclipse.xtext.ide.server.ILanguageServerExtension import org.eclipse.xtext.ide.server.concurrent.RequestManager +import static de.cau.cs.kieler.language.server.simulation.data.ClientInputs.* import static de.cau.cs.kieler.simulation.ide.CentralSimulation.* -import static de.cau.cs.kieler.simulation.ide.language.server.data.ClientInputs.* /** * LS extension to simulate models. Supports starting, stepping, and stopping or simulations. @@ -351,7 +351,7 @@ class SimulationLanguageServerExtension implements ILanguageServerExtension, Sim } } else if (e instanceof TraceFinishedEvent) { client.sendMessage("Trace finished: The current Trace reached its last tick.", "info") - } else if (e instanceof TraceMismatchEvent /*&& menuCheckTrace.checked*/) { // TODO: implement check trace option + } else if (e instanceof TraceMismatchEvent /*&& menuCheckTrace.checked*/ ) { // TODO: implement check trace option client.sendMessage("Trace Mismatch: Program output differs from trace\n" + // TODO: find another way of being able to display multiline notifications (e as TraceMismatchEvent).toString, "error") } else { // Handle unknown events, log the classes for which this is executed. diff --git a/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/data/ClientInputs.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/data/ClientInputs.xtend similarity index 89% rename from plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/data/ClientInputs.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/data/ClientInputs.xtend index ff8db91bee..df6fef0583 100644 --- a/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/data/ClientInputs.xtend +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/data/ClientInputs.xtend @@ -10,7 +10,7 @@ * * This code is provided under the terms of the Eclipse Public License (EPL). */ -package de.cau.cs.kieler.simulation.ide.language.server.data +package de.cau.cs.kieler.language.server.simulation.data import com.google.gson.JsonObject @@ -21,4 +21,4 @@ import com.google.gson.JsonObject */ class ClientInputs { public static JsonObject values -} \ No newline at end of file +} diff --git a/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/data/LoadedTraceMessage.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/data/LoadedTraceMessage.xtend similarity index 92% rename from plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/data/LoadedTraceMessage.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/data/LoadedTraceMessage.xtend index f4f99dac1f..07e8171bdf 100644 --- a/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/data/LoadedTraceMessage.xtend +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/data/LoadedTraceMessage.xtend @@ -10,7 +10,7 @@ * * This code is provided under the terms of the Eclipse Public License (EPL). */ -package de.cau.cs.kieler.simulation.ide.language.server.data +package de.cau.cs.kieler.language.server.simulation.data import de.cau.cs.kieler.simulation.trace.ktrace.Trace import org.eclipse.xtend.lib.annotations.Data diff --git a/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/data/SavedTraceMessage.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/data/SavedTraceMessage.xtend similarity index 91% rename from plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/data/SavedTraceMessage.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/data/SavedTraceMessage.xtend index b2b1c49d6a..741ea0d4e8 100644 --- a/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/data/SavedTraceMessage.xtend +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/data/SavedTraceMessage.xtend @@ -10,7 +10,7 @@ * * This code is provided under the terms of the Eclipse Public License (EPL). */ -package de.cau.cs.kieler.simulation.ide.language.server.data +package de.cau.cs.kieler.language.server.simulation.data import org.eclipse.xtend.lib.annotations.Data diff --git a/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/data/SimulationStartedMessage.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/data/SimulationStartedMessage.xtend similarity index 95% rename from plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/data/SimulationStartedMessage.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/data/SimulationStartedMessage.xtend index 1fc87fca72..d1507b7512 100644 --- a/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/data/SimulationStartedMessage.xtend +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/data/SimulationStartedMessage.xtend @@ -10,7 +10,7 @@ * * This code is provided under the terms of the Eclipse Public License (EPL). */ -package de.cau.cs.kieler.simulation.ide.language.server.data +package de.cau.cs.kieler.language.server.simulation.data import com.google.gson.JsonObject import java.util.ArrayList diff --git a/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/data/SimulationStepMessage.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/data/SimulationStepMessage.xtend similarity index 91% rename from plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/data/SimulationStepMessage.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/data/SimulationStepMessage.xtend index a3c8a03a35..750cf0c7a3 100644 --- a/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/data/SimulationStepMessage.xtend +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/data/SimulationStepMessage.xtend @@ -10,7 +10,7 @@ * * This code is provided under the terms of the Eclipse Public License (EPL). */ -package de.cau.cs.kieler.simulation.ide.language.server.data +package de.cau.cs.kieler.language.server.simulation.data import com.google.gson.JsonObject import org.eclipse.xtend.lib.annotations.Data diff --git a/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/data/SimulationStoppedMessage.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/data/SimulationStoppedMessage.xtend similarity index 90% rename from plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/data/SimulationStoppedMessage.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/data/SimulationStoppedMessage.xtend index ace975ebb5..98755765c1 100644 --- a/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/language/server/data/SimulationStoppedMessage.xtend +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/simulation/data/SimulationStoppedMessage.xtend @@ -10,7 +10,7 @@ * * This code is provided under the terms of the Eclipse Public License (EPL). */ -package de.cau.cs.kieler.simulation.ide.language.server.data +package de.cau.cs.kieler.language.server.simulation.data import org.eclipse.xtend.lib.annotations.Data diff --git a/plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/textmate/TextmateGenerator.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/textmate/TextmateGenerator.xtend similarity index 100% rename from plugins/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/textmate/TextmateGenerator.xtend rename to language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/textmate/TextmateGenerator.xtend diff --git a/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/verification/VerificationCommandExtension.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/verification/VerificationCommandExtension.xtend new file mode 100644 index 0000000000..7aa01b9835 --- /dev/null +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/verification/VerificationCommandExtension.xtend @@ -0,0 +1,41 @@ +/* + * KIELER - Kiel Integrated Environment for Layout Eclipse RichClient + * + * http://rtsys.informatik.uni-kiel.de/kieler + * + * Copyright 2022 by + * + Kiel University + * + Department of Computer Science + * + Real-Time and Embedded Systems Group + * + * This code is provided under the terms of the Eclipse Public License (EPL). + */ +package de.cau.cs.kieler.language.server.verification + +import org.eclipse.lsp4j.jsonrpc.services.JsonNotification +import org.eclipse.lsp4j.jsonrpc.services.JsonSegment + +/** + * Interface to the LSP extension commands + * + * @author jep + * + */ +@JsonSegment('keith/verification') +interface VerificationCommandExtension { + + /** + * Requests the verification properties that are stated in the file given by uri. + * It is assumed that the model was compiled via a model checker before. + */ + @JsonNotification('load-properties') + def void loadProperties(String uri) + + /** + * Runs the model checker for the file given by uri. + * It is assumed that the model was compiled via a model checker & verification properties were loaded before. + */ + @JsonNotification('run-checker') + def void runChecker(String uri) + +} diff --git a/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/verification/VerificationLanguageServerContribution.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/verification/VerificationLanguageServerContribution.xtend new file mode 100644 index 0000000000..a3cfcb1787 --- /dev/null +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/verification/VerificationLanguageServerContribution.xtend @@ -0,0 +1,29 @@ +/* + * KIELER - Kiel Integrated Environment for Layout Eclipse RichClient + * + * http://rtsys.informatik.uni-kiel.de/kieler + * + * Copyright 2022 by + * + Kiel University + * + Department of Computer Science + * + Real-Time and Embedded Systems Group + * + * This code is provided under the terms of the Eclipse Public License (EPL). + */ +package de.cau.cs.kieler.language.server.verification + +import com.google.inject.Injector +import de.cau.cs.kieler.language.server.ILanguageServerContribution + +/** + * Contribution to provide the corresponding language server extension + * + * @author jep + * + */ +class VerificationLanguageServerContribution implements ILanguageServerContribution { + + override getLanguageServerExtension(Injector injector) { + return injector.getInstance(VerificationLanguageServerExtension) + } +} diff --git a/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/verification/VerificationLanguageServerExtension.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/verification/VerificationLanguageServerExtension.xtend new file mode 100644 index 0000000000..620f56181a --- /dev/null +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/verification/VerificationLanguageServerExtension.xtend @@ -0,0 +1,146 @@ +/* + * KIELER - Kiel Integrated Environment for Layout Eclipse RichClient + * + * http://rtsys.informatik.uni-kiel.de/kieler + * + * Copyright 2022 by + * + Kiel University + * + Department of Computer Science + * + Real-Time and Embedded Systems Group + * + * This code is provided under the terms of the Eclipse Public License (EPL). + */ + +package de.cau.cs.kieler.language.server.verification + +import com.google.inject.Inject +import com.google.inject.Injector +import de.cau.cs.kieler.kicool.deploy.ProjectInfrastructure +import de.cau.cs.kieler.language.server.ILanguageClientProvider +import de.cau.cs.kieler.language.server.KeithLanguageClient +import de.cau.cs.kieler.language.server.kicool.KiCoolLanguageServerExtension +import de.cau.cs.kieler.verification.SmallVerificationProperty +import de.cau.cs.kieler.verification.VerificationManager +import de.cau.cs.kieler.verification.VerificationProperty +import de.cau.cs.kieler.verification.VerificationPropertyChanged +import de.cau.cs.kieler.verification.VerificationPropertyStatus +import java.util.ArrayList +import java.util.HashMap +import java.util.List +import java.util.Map +import java.util.Observable +import org.eclipse.lsp4j.services.LanguageClient +import org.eclipse.xtext.ide.server.ILanguageServerAccess +import org.eclipse.xtext.ide.server.ILanguageServerExtension + +/** + * LS extension to verify models. Supports loading of verification properties and running the model checker. + * Simulating a counterexample is not supported, since its realized on the client via starting a simulation + * and loading the trace of the counterexample. + * + * @author jep + */ +class VerificationLanguageServerExtension implements ILanguageServerExtension, VerificationCommandExtension, ILanguageClientProvider { + + @Inject + Injector injector + + @Inject + VerificationManager verLogic + + @Inject + KiCoolLanguageServerExtension kico + + /** + * The language client allows to send notifications or requests from the server to the client. + * Notifications are preferred, since they allow more asynchronity. + */ + protected KeithLanguageClient client + + protected extension ILanguageServerAccess languageServerAccess + + /** stores the verification properties for a file */ + protected Map> verificationProperties = new HashMap + + override initialize(ILanguageServerAccess access) { + this.languageServerAccess = access + } + + override void setLanguageClient(LanguageClient client) { + this.client = client as KeithLanguageClient + } + + override getLanguageClient() { + return this.client + } + + /** + * Called on client notification. + * Collects the verification properties in the file and sends reduced versions of them to the client. + * + * @param uri Uri of the file. + */ + override loadProperties(String uri) { + if (uri !== null) { + // collect properties + val currentModel = kico.getModelFromUri(uri) + val props = verLogic.reloadPropertiesFromModel(currentModel) + verificationProperties.put(uri, props) + // create small versions of them since we do not want Files on the client + val smallProps = new ArrayList() + for (prop : props) { + val smallProp = new SmallVerificationProperty(prop.name, prop.formula, prop.id) + smallProps.add(smallProp) + } + // send props to client + client.sendVerificationProperties(new VerificationPropertiesMessage(smallProps)) + } + } + + /** + * Called on client notification. + * Runs the model checker on all verification properties of the file. + * + * @param uri Uri of the file. + */ + override runChecker(String uri) { + if (uri !== null && verificationProperties.containsKey(uri)) { + val props = verificationProperties.get(uri) + // prepare compilation context and environment + verLogic.prepareVerification(props) + verLogic.verificationCompileContext.startEnvironment.setProperty( + ProjectInfrastructure.USE_TEMPORARY_PROJECT, false) + // register update listener + addUpdater(props) + // start model checker + verLogic.startVerification + } + } + + /** + * Registers a listener for changes of {@code verificationProperties}. + * If a property changes, the status and path of the counterexample file are send to the client. + * + * @param verificationProperties The properties whose changes should be registered. + */ + def addUpdater(List verificationProperties) { + // Add observer for changed properties + verLogic.verificationCompileContext.addObserver [ Observable o, Object arg | + if (arg instanceof VerificationPropertyChanged) { + // send status and counterexample file to client + val property = arg.changedProperty + if (property.counterexampleFile !== null) { + client.sendPropertyStatus(property.id, property.status, property.counterexampleFile.path) + } + client.sendPropertyStatus(property.id, property.status, "") + } + ] + // Update task description of the properties + for (property : verificationProperties) { + property.runningTaskDescription = "Compiling..." + property.status = VerificationPropertyStatus.RUNNING + } + } + + +} diff --git a/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/verification/VerificationPropertiesMessage.xtend b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/verification/VerificationPropertiesMessage.xtend new file mode 100644 index 0000000000..0f50316e8d --- /dev/null +++ b/language-server/de.cau.cs.kieler.language.server/src/de/cau/cs/kieler/language/server/verification/VerificationPropertiesMessage.xtend @@ -0,0 +1,29 @@ +/* + * KIELER - Kiel Integrated Environment for Layout Eclipse RichClient + * + * http://rtsys.informatik.uni-kiel.de/kieler + * + * Copyright 2022 by + * + Kiel University + * + Department of Computer Science + * + Real-Time and Embedded Systems Group + * + * This code is provided under the terms of the Eclipse Public License (EPL). + */ +package de.cau.cs.kieler.language.server.verification + +import de.cau.cs.kieler.verification.SmallVerificationProperty +import org.eclipse.xtend.lib.annotations.Data + +/** + * Message to be send to the client after requesting the verification properties. + * Includes the collected properties. + * + * @author jep + * + */ +@Data class VerificationPropertiesMessage { + + SmallVerificationProperty[] properties + +} \ No newline at end of file diff --git a/language-server/pom.xml b/language-server/pom.xml new file mode 100644 index 0000000000..93c0dd7445 --- /dev/null +++ b/language-server/pom.xml @@ -0,0 +1,24 @@ + + + 4.0.0 + de.cau.cs.kieler + language.server + 0.0.1-SNAPSHOT + pom + + + de.cau.cs.kieler + semantics + 0.0.1-SNAPSHOT + ../build/pom.xml + + + + + + de.cau.cs.kieler.language.server + de.cau.cs.kieler.language.server.components + + + diff --git a/oomph/kieler-semantics-developers.setup b/oomph/kieler-semantics-developers.setup index 777282e131..607c4284a6 100644 --- a/oomph/kieler-semantics-developers.setup +++ b/oomph/kieler-semantics-developers.setup @@ -11,7 +11,7 @@ xmlns:setup.p2="http://www.eclipse.org/oomph/setup/p2/1.0" xmlns:setup.targlets="http://www.eclipse.org/oomph/setup/targlets/1.0" xmlns:setup.workingsets="http://www.eclipse.org/oomph/setup/workingsets/1.0" - xsi:schemaLocation="http://www.eclipse.org/oomph/setup/git/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Git.ecore http://www.eclipse.org/oomph/setup/jdt/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/JDT.ecore http://www.eclipse.org/oomph/predicates/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Predicates.ecore http://www.eclipse.org/oomph/setup/projects/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Projects.ecore http://www.eclipse.org/oomph/setup/targlets/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/SetupTarglets.ecore http://www.eclipse.org/oomph/setup/workingsets/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/SetupWorkingSets.ecore" + xsi:schemaLocation="http://www.eclipse.org/oomph/setup/git/1.0 https://raw.githubusercontent.com/eclipse-oomph/oomph/master/setups/models/Git.ecore http://www.eclipse.org/oomph/setup/jdt/1.0 https://raw.githubusercontent.com/eclipse-oomph/oomph/master/setups/models/JDT.ecore http://www.eclipse.org/oomph/predicates/1.0 https://raw.githubusercontent.com/eclipse-oomph/oomph/master/setups/models/Predicates.ecore http://www.eclipse.org/oomph/setup/projects/1.0 https://raw.githubusercontent.com/eclipse-oomph/oomph/master/setups/models/Projects.ecore http://www.eclipse.org/oomph/setup/targlets/1.0 https://raw.githubusercontent.com/eclipse-oomph/oomph/master/setups/models/SetupTarglets.ecore http://www.eclipse.org/oomph/setup/workingsets/1.0 https://raw.githubusercontent.com/eclipse-oomph/oomph/master/setups/models/SetupWorkingSets.ecore" name="kieler-semantics" label="KIELER Semantics"> + + + @@ -153,8 +161,8 @@ + version="JavaSE-17" + location="${jre.location-17}"> Define the JRE needed to compile and run the Java projects of ${scope.project.label} + + Install the tools needed in the IDE to work with the source code for ${scope.project.label} + pattern=".*/oomph"/> + pattern="${git.clone.semantics.location}/oomph"/> + + @@ -338,6 +356,18 @@ + + + + + + - - - - - - @@ -445,14 +463,14 @@ versionRange="2.7.0"/> + versionRange="[2.31.0,2.32.0)"/> + versionRange="[0.21.0,0.22.0)"/> + - - - + url="https://download.eclipse.org/releases/2023-06"/> + url="https://download.eclipse.org/tools/orbit/downloads/drops/R20230531010532/repository/"/> + url="https://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.31.0/"/> - + url="https://download.eclipse.org/lsp4j/updates/releases/0.21.0"/> + url="https://download.eclipse.org/elk/updates/releases/0.8.1/"/> + url="https://kieler.github.io/KLighD/v2.3.0/"/> + url="https://rtsys.informatik.uni-kiel.de/~kieler/updatesite/release_pragmatics_2023-06/"/> + url="https://rtsys.informatik.uni-kiel.de/~kieler/updatesite/websocket-mirror/10.0.15/"/> @@ -540,7 +552,7 @@ xsi:type="setup.p2:P2Task"> + versionRange="[2.31.0,2.32.0)"/> @@ -689,6 +701,164 @@ url="http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/"/> + + + + + + + + + http://download.eclipse.org/eclipse/updates/ + + + false + + + false + + + ${git.clone.semantics.location}/build/de.cau.cs.kieler.semantics.targetplatform/de.cau.cs.kieler.semantics.targetplatform.target + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + versionRange="[2.31.0,2.32.0)"/> + versionRange="[0.21.0,0.22.0)"/> + url="https://download.eclipse.org/releases/2023-06"/> + url="https://download.eclipse.org/tools/orbit/downloads/drops/R20230531010532/repository/"/> + url="https://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.31.0/"/> + url="https://download.eclipse.org/lsp4j/updates/releases/0.21.0"/> + url="https://rtsys.informatik.uni-kiel.de/~kieler/updatesite/websocket-mirror/10.0.15/"/> @@ -2471,9 +2641,349 @@ xsi:type="setup.p2:P2Task"> + versionRange="[2.31.0,2.32.0)"/> + + + + + + + + + + Clone Pragmatics repository + + + Clone KLighD repository + + + Clone ELK repository + + + Clone ELK models repository + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The dynamic working sets for ${scope.project.label} + + + + + + http://download.eclipse.org/eclipse/updates/ + + + false + + + false + + + ${git.clone.semantics.location}/build/de.cau.cs.kieler.semantics.targetplatform/de.cau.cs.kieler.semantics.targetplatform.target + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + url="https://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.31.0/"/> 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.annotations.ide - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.annotations.ui/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.annotations.ui/META-INF/MANIFEST.MF index 82e5f33c5e..6c9aaaa6e7 100644 --- a/plugins/de.cau.cs.kieler.annotations.ui/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.annotations.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KIELER Model Annotations Text UI Bundle-SymbolicName: de.cau.cs.kieler.annotations.ui;singleton:=true -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-Vendor: Kiel University Eclipse-UI: True Require-Bundle: org.eclipse.ui, diff --git a/plugins/de.cau.cs.kieler.annotations.ui/pom.xml b/plugins/de.cau.cs.kieler.annotations.ui/pom.xml index e125bde5b5..cbafbf4e30 100644 --- a/plugins/de.cau.cs.kieler.annotations.ui/pom.xml +++ b/plugins/de.cau.cs.kieler.annotations.ui/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.annotations.ui - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.annotations/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.annotations/META-INF/MANIFEST.MF index 82b5149e01..18ad6d51a4 100644 --- a/plugins/de.cau.cs.kieler.annotations/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.annotations/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KIELER Annotations Bundle-SymbolicName: de.cau.cs.kieler.annotations;singleton:=true -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-ClassPath: . Bundle-Vendor: Kiel University Bundle-Localization: plugin diff --git a/plugins/de.cau.cs.kieler.annotations/pom.xml b/plugins/de.cau.cs.kieler.annotations/pom.xml index bfd6276c2d..bd967d0f96 100644 --- a/plugins/de.cau.cs.kieler.annotations/pom.xml +++ b/plugins/de.cau.cs.kieler.annotations/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.annotations - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.c.sccharts/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.c.sccharts/META-INF/MANIFEST.MF index ee13b35652..cb4889b30b 100644 --- a/plugins/de.cau.cs.kieler.c.sccharts/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.c.sccharts/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KIELER C to SCCharts Transformation Bundle-SymbolicName: de.cau.cs.kieler.c.sccharts;singleton:=true -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-Vendor: Kiel University Eclipse-UI: True Bundle-RequiredExecutionEnvironment: JavaSE-11 diff --git a/plugins/de.cau.cs.kieler.core.perspectives/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.core.perspectives/META-INF/MANIFEST.MF index 1a0eb25fba..71d4c4ca38 100644 --- a/plugins/de.cau.cs.kieler.core.perspectives/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.core.perspectives/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KIELER Modeling Perspectives Bundle-SymbolicName: de.cau.cs.kieler.core.perspectives;singleton:=true -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-Vendor: Kiel University Eclipse-UI: True Require-Bundle: org.eclipse.core.runtime, diff --git a/plugins/de.cau.cs.kieler.core.perspectives/pom.xml b/plugins/de.cau.cs.kieler.core.perspectives/pom.xml index 537117a0a8..2c30cb4092 100644 --- a/plugins/de.cau.cs.kieler.core.perspectives/pom.xml +++ b/plugins/de.cau.cs.kieler.core.perspectives/pom.xml @@ -3,11 +3,12 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.core.perspectives - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin diff --git a/plugins/de.cau.cs.kieler.core.product/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.core.product/META-INF/MANIFEST.MF index f0a9ab65d0..d76c52263e 100644 --- a/plugins/de.cau.cs.kieler.core.product/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.core.product/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KIELER Product Contribution Bundle-SymbolicName: de.cau.cs.kieler.core.product;singleton:=true -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-Vendor: Kiel University Eclipse-UI: True Require-Bundle: org.eclipse.core.runtime, diff --git a/plugins/de.cau.cs.kieler.core.product/images/splash.svg b/plugins/de.cau.cs.kieler.core.product/images/splash.svg index 617196edcb..a4eddb276a 100644 --- a/plugins/de.cau.cs.kieler.core.product/images/splash.svg +++ b/plugins/de.cau.cs.kieler.core.product/images/splash.svg @@ -796,7 +796,7 @@ id="tspan4979" x="176.61057" y="189.7726" - style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.8796196px;line-height:0;font-family:esint10;-inkscape-font-specification:esint10;text-align:start;text-anchor:start;fill:#929292;fill-opacity:1">The Key to Efficient Modeling + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:43.8796196px;line-height:0;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:start;text-anchor:start;fill:#929292;fill-opacity:1">The Key to Efficient Modeling K + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:183.60586548px;line-height:0;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:start;text-anchor:start;fill:#383838;fill-opacity:1">K Version 1.3.0 + id="tspan4169">Version 1.4.0 - + diff --git a/plugins/de.cau.cs.kieler.core.product/pom.xml b/plugins/de.cau.cs.kieler.core.product/pom.xml index 3f13f7ba40..aed9777d5d 100644 --- a/plugins/de.cau.cs.kieler.core.product/pom.xml +++ b/plugins/de.cau.cs.kieler.core.product/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.core.product - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.core.product/splash.bmp b/plugins/de.cau.cs.kieler.core.product/splash.bmp index 5a15496527..d65d576b77 100644 Binary files a/plugins/de.cau.cs.kieler.core.product/splash.bmp and b/plugins/de.cau.cs.kieler.core.product/splash.bmp differ diff --git a/plugins/de.cau.cs.kieler.core/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.core/META-INF/MANIFEST.MF index 4e60813aa8..b12b0575c9 100644 --- a/plugins/de.cau.cs.kieler.core/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.core/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KIELER Core Utilities Bundle-SymbolicName: de.cau.cs.kieler.core;singleton:=true -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Require-Bundle: org.eclipse.core.resources;bundle-version="3.5.0", com.google.guava, org.eclipse.xtext.xbase.lib, diff --git a/plugins/de.cau.cs.kieler.core/kieler.version b/plugins/de.cau.cs.kieler.core/kieler.version index a9b89b912f..b6499c3649 100644 --- a/plugins/de.cau.cs.kieler.core/kieler.version +++ b/plugins/de.cau.cs.kieler.core/kieler.version @@ -1,2 +1,2 @@ -1.3.0 +1.4.0 nightly build \ No newline at end of file diff --git a/plugins/de.cau.cs.kieler.core/pom.xml b/plugins/de.cau.cs.kieler.core/pom.xml index b847b00ab2..49ea479f08 100644 --- a/plugins/de.cau.cs.kieler.core/pom.xml +++ b/plugins/de.cau.cs.kieler.core/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.core - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.core/src/de/cau/cs/kieler/core/ls/GenerateKeywordsFragment.xtend b/plugins/de.cau.cs.kieler.core/src/de/cau/cs/kieler/core/ls/GenerateKeywordsFragment.xtend index de26a20163..8642e812c9 100644 --- a/plugins/de.cau.cs.kieler.core/src/de/cau/cs/kieler/core/ls/GenerateKeywordsFragment.xtend +++ b/plugins/de.cau.cs.kieler.core/src/de/cau/cs/kieler/core/ls/GenerateKeywordsFragment.xtend @@ -62,12 +62,9 @@ class GenerateKeywordsFragment extends AbstractStubGeneratingFragment { grammar.genericIdeBasePackage + ".highlighting." + className ) } - // add destination package to exported packages, add langauge.server to dependencies + // add destination package to exported packages if (projectConfig.genericIde.manifest !== null) { projectConfig.genericIde.manifest.exportedPackages += grammar.genericIdeBasePackage + '.highlighting' - if (generateServiceLoader.get) { - projectConfig.genericIde.manifest.requiredBundles += "de.cau.cs.kieler.language.server" - } } // generate and write highlighting file var xtendFile = doGetXtendStubFile(className) diff --git a/plugins/de.cau.cs.kieler.esterel.compiler/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.esterel.compiler/META-INF/MANIFEST.MF index 8b919e5de1..a0cc0ce0fe 100644 --- a/plugins/de.cau.cs.kieler.esterel.compiler/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.esterel.compiler/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: External Esterel Compilers Bundle-SymbolicName: de.cau.cs.kieler.esterel.compiler;singleton:=true -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: org.eclipse.core.runtime;bundle-version="3.12.0", org.eclipse.xtext.xbase.lib, diff --git a/plugins/de.cau.cs.kieler.esterel.compiler/pom.xml b/plugins/de.cau.cs.kieler.esterel.compiler/pom.xml index 352a593275..7e1f263343 100644 --- a/plugins/de.cau.cs.kieler.esterel.compiler/pom.xml +++ b/plugins/de.cau.cs.kieler.esterel.compiler/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.esterel.compiler - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.esterel.ide/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.esterel.ide/META-INF/MANIFEST.MF index c7551896eb..61b4b272a3 100644 --- a/plugins/de.cau.cs.kieler.esterel.ide/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.esterel.ide/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Esterel IDE Bundle-SymbolicName: de.cau.cs.kieler.esterel.ide -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Automatic-Module-Name: de.cau.cs.kieler.esterel.ide Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: org.antlr.runtime;bundle-version="[3.2.0,3.2.1)", @@ -13,8 +13,7 @@ Require-Bundle: org.antlr.runtime;bundle-version="[3.2.0,3.2.1)", org.eclipse.xtend.lib, org.eclipse.xtend.lib.macro, de.cau.cs.kieler.core, - de.cau.cs.kieler.scl.ide, - de.cau.cs.kieler.language.server + de.cau.cs.kieler.scl.ide Export-Package: de.cau.cs.kieler.esterel.ide.contentassist.antlr.internal, de.cau.cs.kieler.esterel.ide.contentassist.antlr, de.cau.cs.kieler.esterel.ide.contentassist.antlr.internal, diff --git a/plugins/de.cau.cs.kieler.esterel.ide/pom.xml b/plugins/de.cau.cs.kieler.esterel.ide/pom.xml index e486474e87..0e058a9bbc 100644 --- a/plugins/de.cau.cs.kieler.esterel.ide/pom.xml +++ b/plugins/de.cau.cs.kieler.esterel.ide/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.esterel.ide - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.esterel.ui/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.esterel.ui/META-INF/MANIFEST.MF index 53e0610eb8..1edcb2212f 100644 --- a/plugins/de.cau.cs.kieler.esterel.ui/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.esterel.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KIELER Esterel Editor Bundle-Vendor: Kiel University -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-SymbolicName: de.cau.cs.kieler.esterel.ui;singleton:=true Bundle-ActivationPolicy: lazy Eclipse-UI: True diff --git a/plugins/de.cau.cs.kieler.esterel.ui/pom.xml b/plugins/de.cau.cs.kieler.esterel.ui/pom.xml index e8d8f62668..69c51812b2 100644 --- a/plugins/de.cau.cs.kieler.esterel.ui/pom.xml +++ b/plugins/de.cau.cs.kieler.esterel.ui/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.esterel.ui - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.esterel/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.esterel/META-INF/MANIFEST.MF index d30f995571..12c8b48cfc 100644 --- a/plugins/de.cau.cs.kieler.esterel/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.esterel/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KIELER Esterel Infrastructure Bundle-Vendor: Kiel University -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-SymbolicName: de.cau.cs.kieler.esterel;singleton:=true Eclipse-RegisterBuddy: org.eclipse.xtext.log4j Bundle-ActivationPolicy: lazy diff --git a/plugins/de.cau.cs.kieler.esterel/pom.xml b/plugins/de.cau.cs.kieler.esterel/pom.xml index b292ce323f..05e35d2682 100644 --- a/plugins/de.cau.cs.kieler.esterel/pom.xml +++ b/plugins/de.cau.cs.kieler.esterel/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.esterel - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.kexpressions.ide/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.kexpressions.ide/META-INF/MANIFEST.MF index d8f3433134..6834cf8c39 100644 --- a/plugins/de.cau.cs.kieler.kexpressions.ide/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.kexpressions.ide/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KExpressions IDE Bundle-SymbolicName: de.cau.cs.kieler.kexpressions.ide -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Automatic-Module-Name: de.cau.cs.kieler.kexpressions.ide Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: org.antlr.runtime;bundle-version="[3.2.0,3.2.1)", diff --git a/plugins/de.cau.cs.kieler.kexpressions.ide/pom.xml b/plugins/de.cau.cs.kieler.kexpressions.ide/pom.xml index 0463f598a8..6863d2706d 100644 --- a/plugins/de.cau.cs.kieler.kexpressions.ide/pom.xml +++ b/plugins/de.cau.cs.kieler.kexpressions.ide/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.kexpressions.ide - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.kexpressions.ui/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.kexpressions.ui/META-INF/MANIFEST.MF index 30c39925cc..a4e4ef0b6b 100644 --- a/plugins/de.cau.cs.kieler.kexpressions.ui/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.kexpressions.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KIELER Expressions UI Infrastructure Bundle-Vendor: Kiel University -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-SymbolicName: de.cau.cs.kieler.kexpressions.ui;singleton:=true Bundle-ActivationPolicy: lazy Eclipse-UI: True diff --git a/plugins/de.cau.cs.kieler.kexpressions.ui/pom.xml b/plugins/de.cau.cs.kieler.kexpressions.ui/pom.xml index 8813bbfc83..b6cad019ce 100644 --- a/plugins/de.cau.cs.kieler.kexpressions.ui/pom.xml +++ b/plugins/de.cau.cs.kieler.kexpressions.ui/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.kexpressions.ui - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.kexpressions/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.kexpressions/META-INF/MANIFEST.MF index 2b03cec8f7..c84bf03e82 100644 --- a/plugins/de.cau.cs.kieler.kexpressions/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.kexpressions/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: de.cau.cs.kieler.kexpressions;singleton:=true Automatic-Module-Name: de.cau.cs.kieler.kexpressions -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-ClassPath: . Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/plugins/de.cau.cs.kieler.kexpressions/pom.xml b/plugins/de.cau.cs.kieler.kexpressions/pom.xml index 7f75abcf4a..cda2b5cdab 100644 --- a/plugins/de.cau.cs.kieler.kexpressions/pom.xml +++ b/plugins/de.cau.cs.kieler.kexpressions/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.kexpressions - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.kicool.ide/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.kicool.ide/META-INF/MANIFEST.MF index 3a1f5d787d..f19db2d90e 100644 --- a/plugins/de.cau.cs.kieler.kicool.ide/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.kicool.ide/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KiCool IDE Bundle-SymbolicName: de.cau.cs.kieler.kicool.ide -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-Vendor: Kiel University Automatic-Module-Name: de.cau.cs.kieler.kicool.ide Bundle-RequiredExecutionEnvironment: JavaSE-11 @@ -20,10 +20,8 @@ Require-Bundle: org.antlr.runtime;bundle-version="[3.2.0,3.2.1)", org.eclipse.lsp4j.generator;bundle-version="0.6.0", org.apache.log4j;bundle-version="1.2.15", de.cau.cs.kieler.klighd, - de.cau.cs.kieler.klighd.lsp;bundle-version="0.1.0", de.cau.cs.kieler.klighd.ide, - de.cau.cs.kieler.language.server, - de.cau.cs.kieler.klighd.standalone;bundle-version="2.0.0", + de.cau.cs.kieler.klighd.standalone, org.eclipse.elk.alg.common;bundle-version="0.7.0", org.eclipse.elk.core;bundle-version="0.7.0" Export-Package: de.cau.cs.kieler.kicool.ide, @@ -31,6 +29,4 @@ Export-Package: de.cau.cs.kieler.kicool.ide, de.cau.cs.kieler.kicool.ide.contentassist.antlr.internal, de.cau.cs.kieler.kicool.ide.klighd, de.cau.cs.kieler.kicool.ide.klighd.models, - de.cau.cs.kieler.kicool.ide.language.server, - de.cau.cs.kieler.kicool.ide.language.server.data, de.cau.cs.kieler.kicool.ide.view diff --git a/plugins/de.cau.cs.kieler.kicool.ide/META-INF/services/de.cau.cs.kieler.kicool.registration.IProcessorProvider b/plugins/de.cau.cs.kieler.kicool.ide/META-INF/services/de.cau.cs.kieler.kicool.registration.IProcessorProvider new file mode 100644 index 0000000000..67a65dbd62 --- /dev/null +++ b/plugins/de.cau.cs.kieler.kicool.ide/META-INF/services/de.cau.cs.kieler.kicool.registration.IProcessorProvider @@ -0,0 +1 @@ +de.cau.cs.kieler.kicool.ide.providers.DiagramProcessorProvider \ No newline at end of file diff --git a/plugins/de.cau.cs.kieler.kicool.ide/META-INF/services/de.cau.cs.kieler.kicool.registration.ISystemProvider b/plugins/de.cau.cs.kieler.kicool.ide/META-INF/services/de.cau.cs.kieler.kicool.registration.ISystemProvider new file mode 100644 index 0000000000..6f53e770da --- /dev/null +++ b/plugins/de.cau.cs.kieler.kicool.ide/META-INF/services/de.cau.cs.kieler.kicool.registration.ISystemProvider @@ -0,0 +1 @@ +de.cau.cs.kieler.kicool.ide.providers.DiagramSystemProvider \ No newline at end of file diff --git a/plugins/de.cau.cs.kieler.kicool.ide/META-INF/services/de.cau.cs.kieler.language.server.ILanguageServerContribution b/plugins/de.cau.cs.kieler.kicool.ide/META-INF/services/de.cau.cs.kieler.language.server.ILanguageServerContribution deleted file mode 100644 index adf53b8191..0000000000 --- a/plugins/de.cau.cs.kieler.kicool.ide/META-INF/services/de.cau.cs.kieler.language.server.ILanguageServerContribution +++ /dev/null @@ -1 +0,0 @@ -de.cau.cs.kieler.kicool.ide.language.server.KiCoolLanguageServerContribution \ No newline at end of file diff --git a/plugins/de.cau.cs.kieler.kicool.ide/build.properties b/plugins/de.cau.cs.kieler.kicool.ide/build.properties index 50dc7ef35f..fd16c86160 100644 --- a/plugins/de.cau.cs.kieler.kicool.ide/build.properties +++ b/plugins/de.cau.cs.kieler.kicool.ide/build.properties @@ -4,5 +4,6 @@ source.. = src/,\ output.. = bin/ bin.includes = .,\ META-INF/,\ - about.html + about.html,\ + system/ src.includes = about.html diff --git a/plugins/de.cau.cs.kieler.kicool.ide/pom.xml b/plugins/de.cau.cs.kieler.kicool.ide/pom.xml index c344d2b08a..ff38a03fe7 100644 --- a/plugins/de.cau.cs.kieler.kicool.ide/pom.xml +++ b/plugins/de.cau.cs.kieler.kicool.ide/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.kicool.ide - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/processors/KlighdDiagramSynthesis.xtend b/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/processors/KlighdDiagramSynthesis.xtend new file mode 100644 index 0000000000..6cd9100660 --- /dev/null +++ b/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/processors/KlighdDiagramSynthesis.xtend @@ -0,0 +1,174 @@ +/* + * KIELER - Kiel Integrated Environment for Layout Eclipse RichClient + * + * http://rtsys.informatik.uni-kiel.de/kieler + * + * Copyright 2022 by + * + Kiel University + * + Department of Computer Science + * + Real-Time and Embedded Systems Group + * + * This code is provided under the terms of the Eclipse Public License (EPL). + */ +package de.cau.cs.kieler.kicool.ide.processors + +import de.cau.cs.kieler.core.properties.IProperty +import de.cau.cs.kieler.core.properties.Property +import de.cau.cs.kieler.kicool.compilation.Processor +import de.cau.cs.kieler.kicool.compilation.ProcessorType +import de.cau.cs.kieler.kicool.ide.klighd.KiCoDiagramViewProperties +import de.cau.cs.kieler.klighd.KlighdDataManager +import de.cau.cs.kieler.klighd.LightDiagramLayoutConfig +import de.cau.cs.kieler.klighd.LightDiagramServices +import de.cau.cs.kieler.klighd.SynthesisOption +import de.cau.cs.kieler.klighd.internal.ISynthesis +import de.cau.cs.kieler.klighd.kgraph.KNode +import de.cau.cs.kieler.klighd.util.KlighdSynthesisProperties +import java.util.Map + +import static extension java.lang.String.* + +/** + * Perform a Klighd diagram synthesis. + * + * @author als + */ +class KlighdDiagramSynthesis extends Processor { + + public static val ID = "de.cau.cs.kieler.kicool.ide.processors.diagram.synthesis" + + public static val IProperty> PROPERTIES = + new Property>("de.cau.cs.kieler.kicool.ide.processors.diagram.synthesis.properties", null) + public static val IProperty> OPTIONS = + new Property>("de.cau.cs.kieler.kicool.ide.processors.diagram.synthesis.options", null) + public static val IProperty VERBOSE = + new Property("de.cau.cs.kieler.kicool.ide.processors.diagram.synthesis.verbose", false) + public static val IProperty LAYOUT = + new Property("de.cau.cs.kieler.kicool.ide.processors.diagram.synthesis.layout", true) + + override getId() { + ID + } + + override getName() { + "Klighd Diagram Synthesis" + } + + override getType() { + return ProcessorType.EXOGENOUS_TRANSFORMATOR + } + + override process() { + model = sythesize(model) + } + + def KNode sythesize(Object model) { + // Properties and options + val properties = new KlighdSynthesisProperties() + properties.setProperty(KiCoDiagramViewProperties.COMPILATION_CONTEXT, compilationContext) + + val synthesisProperties = environment.getProperty(PROPERTIES) + if (synthesisProperties !== null && !synthesisProperties.empty) { + for (entry : synthesisProperties.entrySet) { + val v = if (entry.value instanceof String) parsePropertyValue(entry.value as String) else entry.value + if (environment.getProperty(VERBOSE) && !(v instanceof String) && entry.value instanceof String) { + println("Automatically converted value (%s) of property %s to %s.".format(entry.value, entry.key, v.class.simpleName)) + } + properties.allProperties.put(new org.eclipse.elk.graph.properties.Property(entry.key), v) + } + } + + val synthesisOptions = environment.getProperty(OPTIONS) + if (synthesisOptions !== null && !synthesisOptions.empty) { + var ISynthesis synthesis; + if (properties.hasProperty(KlighdSynthesisProperties.REQUESTED_DIAGRAM_SYNTHESIS)) { + synthesis = KlighdDataManager.instance.getDiagramSynthesisById(properties.getProperty(KlighdSynthesisProperties.REQUESTED_DIAGRAM_SYNTHESIS)) + } + if (synthesis === null) { + val syntheses = KlighdDataManager.instance.getAvailableSyntheses(model.class) + if (!syntheses.empty) { + synthesis = syntheses.head + } + } + if (synthesis === null) { + environment.errors.add("Cannot find synthesis for mode of type " + model.class.toString) + } + val options = synthesis.displayedSynthesisOptions + val optionConfig = newHashMap + for (entry : synthesisOptions.entrySet) { + val key = entry.key + var option = options.findFirst[!it.id.nullOrEmpty && it.id.equals(key)] + if (option === null) { + if (environment.getProperty(VERBOSE)) println("Could not find synthesis option with id \"%s\".".format(key)) + option = options.findFirst[!it.name.nullOrEmpty && (it.name.startsWith(key) || it.name.equalsIgnoreCase(key))] + if (environment.getProperty(VERBOSE)) { + if (option === null) { + println("Could not find synthesis option with name \"%s\" either.".format(key)) + } else { + println("Found synthesis option with matching name \"%s\" for \"%s\".".format(option.name, key)) + } + } + } + if (option !== null) { + val v = if (entry.value instanceof String) option.parseOptionValue(entry.value as String) else entry.value + if (v !== null) { + optionConfig.put(option, v) + } + } + } + properties.configureSynthesisOptionValues(optionConfig) + } + + // Synthesize + val vc = LightDiagramServices.translateModel2(model, null, properties) + + // Layout + if (environment.getProperty(LAYOUT)) { + new LightDiagramLayoutConfig(vc).performLayout(); + } + + return vc.viewModel; + } + + protected def Object parsePropertyValue(String value) { + if ("true".equalsIgnoreCase(value)) { + return true + } else if ("false".equalsIgnoreCase(value)) { + return false + } else { + try { + return Integer.parseInt(value) + } catch (Exception e) {} + try { + return Float.parseFloat(value) + } catch (Exception e) {} + } + return value; + } + + protected def Object parseOptionValue(SynthesisOption option, String value) { + try { + if (option !== null && !value.nullOrEmpty) { + if (option.isCheckOption()) { + return Boolean.parseBoolean(value); + } else if (option.isRangeOption()) { + return Float.parseFloat(value); + } else if (option.isChoiceOption()) { + for (Object choice : option.getValues()) { + if (choice !== null && choice.toString().equalsIgnoreCase(value)) { + return choice; + } + } + // If not explicit match, try index + return option.getValues().get(Integer.parseInt(value)) + } else if (option.isTextOption()) { + return value; + } + } + } catch (Exception e) { + if (environment.getProperty(VERBOSE)) println("Could not parse value \"%s\" for synthesis option \"%s\"".format(value, option.name)) + } + return null; + } + +} \ No newline at end of file diff --git a/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/processors/KlighdDiagramSynthesisByproduct.xtend b/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/processors/KlighdDiagramSynthesisByproduct.xtend new file mode 100644 index 0000000000..bc93e76edd --- /dev/null +++ b/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/processors/KlighdDiagramSynthesisByproduct.xtend @@ -0,0 +1,50 @@ +/* + * KIELER - Kiel Integrated Environment for Layout Eclipse RichClient + * + * http://rtsys.informatik.uni-kiel.de/kieler + * + * Copyright 2022 by + * + Kiel University + * + Department of Computer Science + * + Real-Time and Embedded Systems Group + * + * This code is provided under the terms of the Eclipse Public License (EPL). + */ +package de.cau.cs.kieler.kicool.ide.processors + +import de.cau.cs.kieler.core.properties.IProperty +import de.cau.cs.kieler.core.properties.Property +import de.cau.cs.kieler.kicool.compilation.IntermediateProcessor +import de.cau.cs.kieler.kicool.compilation.ProcessorType +import de.cau.cs.kieler.kicool.registration.KiCoolRegistration +import de.cau.cs.kieler.klighd.kgraph.KNode + +/** + * Perform a Klighd diagram synthesis and stores it in a property. + * + * @author als + */ +class KlighdDiagramSynthesisByproduct extends IntermediateProcessor { + + public static val IProperty DIAGRAM = + new Property("de.cau.cs.kieler.kicool.ide.processors.diagram.synthesis.byproduct", null) + + override getId() { + "de.cau.cs.kieler.kicool.ide.processors.diagram.synthesis.byproduct" + } + + override getName() { + "Klighd Diagram Synthesis Byproduct" + } + + override getType() { + ProcessorType.ANALYZER + } + + override process() { + val synthesis = KiCoolRegistration.getProcessorInstance(KlighdDiagramSynthesis.ID) as KlighdDiagramSynthesis + synthesis?.setEnvironment(sourceEnvironment, environment) + setProperty(DIAGRAM, synthesis?.sythesize(model)) + } + +} \ No newline at end of file diff --git a/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/processors/analysers/BasicKGraphAnalysis.xtend b/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/processors/analysers/BasicKGraphAnalysis.xtend new file mode 100644 index 0000000000..9c0cc083b1 --- /dev/null +++ b/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/processors/analysers/BasicKGraphAnalysis.xtend @@ -0,0 +1,66 @@ +/* + * KIELER - Kiel Integrated Environment for Layout Eclipse RichClient + * + * http://rtsys.informatik.uni-kiel.de/kieler + * + * Copyright 2022 by + * + Kiel University + * + Department of Computer Science + * + Real-Time and Embedded Systems Group + * + * This code is provided under the terms of the Eclipse Public License (EPL). + */ +package de.cau.cs.kieler.kicool.ide.processors.analysers + +import de.cau.cs.kieler.kicool.ide.processors.KlighdDiagramSynthesisByproduct +import de.cau.cs.kieler.kicool.processors.analyzers.AbstractModelDataCollector +import de.cau.cs.kieler.klighd.kgraph.KEdge +import de.cau.cs.kieler.klighd.kgraph.KNode +import de.cau.cs.kieler.klighd.krendering.KText +import java.util.Map + +/** + * @author als + */ +class BasicKGraphAnalysis extends AbstractModelDataCollector { + + public static val NAMESPACE = "klighd.diagram." + public static val EOBJ_COUNT = NAMESPACE + "eobjects" + public static val NODE_COUNT = NAMESPACE + "nodes" + public static val EDGE_COUNT = NAMESPACE + "edges" + public static val TEXT_COUNT = NAMESPACE + "texts" + public static val HEIGHT = NAMESPACE + "height" + public static val WIDTH = NAMESPACE + "width" + + override getId() { + "de.cau.cs.kieler.kicool.ide.processors.analysers.diagram.analysis.basic" + } + + override getName() { + "Basic KGraph Analysis" + } + + override collect(Object model, Map data, String processorID) { + var KNode diagram; + if (model instanceof KNode) { + diagram = model + } else { // Fallback to byproduct + diagram = getProperty(KlighdDiagramSynthesisByproduct.DIAGRAM) + } + if (diagram !== null) { + val root = diagram.children.head + if (diagram !== null && root !== null) { + // Synthesis results + val eobjs = root.eAllContents.toList + data.put(EOBJ_COUNT, eobjs.size) + data.put(NODE_COUNT, eobjs.filter(KNode).size) + data.put(EDGE_COUNT, eobjs.filter(KEdge).size) + data.put(TEXT_COUNT, eobjs.filter(KText).size) + + // Layout results + data.put(HEIGHT, root.height) + data.put(WIDTH, root.width) + } + } + } +} diff --git a/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/providers/DiagramProcessorProvider.xtend b/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/providers/DiagramProcessorProvider.xtend new file mode 100644 index 0000000000..4933812647 --- /dev/null +++ b/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/providers/DiagramProcessorProvider.xtend @@ -0,0 +1,35 @@ +/* + * KIELER - Kiel Integrated Environment for Layout Eclipse RichClient + * + * http://rtsys.informatik.uni-kiel.de/kieler + * + * Copyright 2019 by + * + Kiel University + * + Department of Computer Science + * + Real-Time and Embedded Systems Group + * + * This code is provided under the terms of the Eclipse Public License (EPL). + */ +package de.cau.cs.kieler.kicool.ide.providers + +import de.cau.cs.kieler.kicool.ide.processors.KlighdDiagramSynthesis +import de.cau.cs.kieler.kicool.ide.processors.KlighdDiagramSynthesisByproduct +import de.cau.cs.kieler.kicool.ide.processors.analysers.BasicKGraphAnalysis +import de.cau.cs.kieler.kicool.registration.IProcessorProvider + +/** + * Provider to make processors available to KiCool. + * + * @author als + */ +class DiagramProcessorProvider implements IProcessorProvider { + + override getProcessors() { + #[ + KlighdDiagramSynthesis, + KlighdDiagramSynthesisByproduct, + BasicKGraphAnalysis + ] + } + +} diff --git a/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/providers/DiagramSystemProvider.xtend b/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/providers/DiagramSystemProvider.xtend new file mode 100644 index 0000000000..60c64380c1 --- /dev/null +++ b/plugins/de.cau.cs.kieler.kicool.ide/src/de/cau/cs/kieler/kicool/ide/providers/DiagramSystemProvider.xtend @@ -0,0 +1,33 @@ +/* + * KIELER - Kiel Integrated Environment for Layout Eclipse RichClient + * + * http://rtsys.informatik.uni-kiel.de/kieler + * + * Copyright 2019 by + * + Kiel University + * + Department of Computer Science + * + Real-Time and Embedded Systems Group + * + * This code is provided under the terms of the Eclipse Public License (EPL). + */ +package de.cau.cs.kieler.kicool.ide.providers + +import de.cau.cs.kieler.kicool.registration.ISystemProvider + +/** + * Provider to make processors available to KiCool. + * + * @author als + */ +class DiagramSystemProvider implements ISystemProvider { + + override getSystems() { + #[ + "system/de.cau.cs.kieler.kicool.ide.diagram.synthesis.kico" + ] + } + + override getBundleId() { + "de.cau.cs.kieler.kicool.ide" + } +} \ No newline at end of file diff --git a/plugins/de.cau.cs.kieler.kicool.ide/system/de.cau.cs.kieler.kicool.ide.diagram.synthesis.kico b/plugins/de.cau.cs.kieler.kicool.ide/system/de.cau.cs.kieler.kicool.ide.diagram.synthesis.kico new file mode 100644 index 0000000000..e03ef5d056 --- /dev/null +++ b/plugins/de.cau.cs.kieler.kicool.ide/system/de.cau.cs.kieler.kicool.ide.diagram.synthesis.kico @@ -0,0 +1,4 @@ +public system de.cau.cs.kieler.kicool.ide.diagram.synthesis + label "Diagram Synthesis" + +de.cau.cs.kieler.kicool.ide.processors.diagram.synthesis \ No newline at end of file diff --git a/plugins/de.cau.cs.kieler.kicool.ui/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.kicool.ui/META-INF/MANIFEST.MF index f9341a7ba9..7c435bf5ef 100644 --- a/plugins/de.cau.cs.kieler.kicool.ui/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.kicool.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KiCool Ui Bundle-SymbolicName: de.cau.cs.kieler.kicool.ui;singleton:=true -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-Activator: de.cau.cs.kieler.kicool.ui.internal.KiCoolActivator Eclipse-UI: True Require-Bundle: org.eclipse.ui, diff --git a/plugins/de.cau.cs.kieler.kicool.ui/pom.xml b/plugins/de.cau.cs.kieler.kicool.ui/pom.xml index a779707a13..d1311ca150 100644 --- a/plugins/de.cau.cs.kieler.kicool.ui/pom.xml +++ b/plugins/de.cau.cs.kieler.kicool.ui/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.kicool.ui - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.kicool/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.kicool/META-INF/MANIFEST.MF index 0e83be2a33..0c0fa35b13 100644 --- a/plugins/de.cau.cs.kieler.kicool/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.kicool/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: de.cau.cs.kieler.kicool;singleton:=true Automatic-Module-Name: de.cau.cs.kieler.kicool -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-ClassPath: . Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/plugins/de.cau.cs.kieler.kicool/pom.xml b/plugins/de.cau.cs.kieler.kicool/pom.xml index 259a4d3cca..abcd32259f 100644 --- a/plugins/de.cau.cs.kieler.kicool/pom.xml +++ b/plugins/de.cau.cs.kieler.kicool/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.kicool - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.kicool/src/de/cau/cs/kieler/kicool/deploy/processor/NXJCompiler.xtend b/plugins/de.cau.cs.kieler.kicool/src/de/cau/cs/kieler/kicool/deploy/processor/NXJCompiler.xtend index b52bc3d4f4..664ba2edfe 100644 --- a/plugins/de.cau.cs.kieler.kicool/src/de/cau/cs/kieler/kicool/deploy/processor/NXJCompiler.xtend +++ b/plugins/de.cau.cs.kieler.kicool/src/de/cau/cs/kieler/kicool/deploy/processor/NXJCompiler.xtend @@ -106,6 +106,10 @@ class NXJCompiler extends AbstractSystemCompilerProcessor4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.kivis.ide - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.kivis.ui/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.kivis.ui/META-INF/MANIFEST.MF index 71cb5c8c95..90b0581c3e 100644 --- a/plugins/de.cau.cs.kieler.kivis.ui/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.kivis.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KIELER Simulation Visualization Bundle-SymbolicName: de.cau.cs.kieler.kivis.ui;singleton:=true -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-Vendor: Kiel University Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-ActivationPolicy: lazy diff --git a/plugins/de.cau.cs.kieler.kivis.ui/pom.xml b/plugins/de.cau.cs.kieler.kivis.ui/pom.xml index 1b365817e0..3b85caffb9 100644 --- a/plugins/de.cau.cs.kieler.kivis.ui/pom.xml +++ b/plugins/de.cau.cs.kieler.kivis.ui/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.kivis.ui - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.kivis/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.kivis/META-INF/MANIFEST.MF index 011f52dada..dc2f810bc3 100644 --- a/plugins/de.cau.cs.kieler.kivis/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.kivis/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: de.cau.cs.kieler.kivis Bundle-Vendor: Kiel University -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-SymbolicName: de.cau.cs.kieler.kivis;singleton:=true Bundle-ActivationPolicy: lazy Require-Bundle: org.eclipse.core.runtime, diff --git a/plugins/de.cau.cs.kieler.kivis/pom.xml b/plugins/de.cau.cs.kieler.kivis/pom.xml index 7fe923dcb0..17580256f0 100644 --- a/plugins/de.cau.cs.kieler.kivis/pom.xml +++ b/plugins/de.cau.cs.kieler.kivis/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.kivis - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.language.server/.classpath b/plugins/de.cau.cs.kieler.language.server/.classpath deleted file mode 100644 index 47ce7cd075..0000000000 --- a/plugins/de.cau.cs.kieler.language.server/.classpath +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/plugins/de.cau.cs.kieler.language.server/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.language.server/META-INF/MANIFEST.MF deleted file mode 100644 index 8f5cc64e29..0000000000 --- a/plugins/de.cau.cs.kieler.language.server/META-INF/MANIFEST.MF +++ /dev/null @@ -1,39 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: KIELER Language Server -Bundle-SymbolicName: de.cau.cs.kieler.language.server;singleton:=true -Bundle-Version: 1.3.0.qualifier -Bundle-Activator: de.cau.cs.kieler.language.server.LanguageServerActivator -Bundle-Vendor: Kiel University -Require-Bundle: com.google.gson;bundle-version="2.7.0", - com.google.guava, - de.cau.cs.kieler.formats, - de.cau.cs.kieler.formats.kgraph, - de.cau.cs.kieler.graphs.klighd, - de.cau.cs.kieler.kgraph.text;bundle-version="0.45.0", - de.cau.cs.kieler.kgraph.text.ide;bundle-version="0.45.0", - de.cau.cs.kieler.kicool, - de.cau.cs.kieler.klighd, - de.cau.cs.kieler.klighd.lsp, - de.cau.cs.kieler.klighd.standalone, - de.cau.cs.kieler.pragmatics.language.server, - de.cau.cs.kieler.sccharts, - org.aopalliance, - org.apache.log4j;bundle-version="1.2.15", - org.eclipse.core.runtime, - org.eclipse.elk.alg.layered;bundle-version="0.5.0", - org.eclipse.elk.graph.text;bundle-version="0.5.0", - org.eclipse.elk.graph.text.ide;bundle-version="0.5.0", - org.eclipse.lsp4j;bundle-version="0.6.0", - org.eclipse.lsp4j.jsonrpc;bundle-version="0.6.0", - org.eclipse.sprotty;bundle-version="0.8.0", - org.eclipse.xtext.ide, - org.eclipse.xtend.lib, - org.eclipse.xtend.lib.macro, - org.eclipse.xtext.xbase.lib -Bundle-RequiredExecutionEnvironment: JavaSE-11 -Automatic-Module-Name: de.cau.cs.kieler.language.server -Bundle-ActivationPolicy: lazy -Export-Package: de.cau.cs.kieler.language.server, - de.cau.cs.kieler.language.server.registration - diff --git a/plugins/de.cau.cs.kieler.language.server/META-INF/services/de.cau.cs.kieler.language.server.ILanguageServerContribution b/plugins/de.cau.cs.kieler.language.server/META-INF/services/de.cau.cs.kieler.language.server.ILanguageServerContribution deleted file mode 100644 index 1edbaf9f27..0000000000 --- a/plugins/de.cau.cs.kieler.language.server/META-INF/services/de.cau.cs.kieler.language.server.ILanguageServerContribution +++ /dev/null @@ -1 +0,0 @@ -de.cau.cs.kieler.language.server.registration.RegistrationLanguageServerContribution \ No newline at end of file diff --git a/plugins/de.cau.cs.kieler.language.server/about.html b/plugins/de.cau.cs.kieler.language.server/about.html deleted file mode 100644 index 607ee7e772..0000000000 --- a/plugins/de.cau.cs.kieler.language.server/about.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - -About - - -

About This Content

- -

July 01, 2015

-

License

- -

The Real-Time and Embedded Systems Group, Department of Computer Science, Kiel University ("RTSYS") -makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

- -

If you did not receive this Content directly from the RTSYS, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained via http://www.rtsys.informatik.uni-kiel.de. -(Refer to "KIELER", "Downloads", "Source Code")

- - - \ No newline at end of file diff --git a/plugins/de.cau.cs.kieler.language.server/build.properties b/plugins/de.cau.cs.kieler.language.server/build.properties deleted file mode 100644 index 555b9ec3b7..0000000000 --- a/plugins/de.cau.cs.kieler.language.server/build.properties +++ /dev/null @@ -1,8 +0,0 @@ -source.. = src/,\ - xtend-gen/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - about.html,\ - plugin.xml -src.includes = about.html diff --git a/plugins/de.cau.cs.kieler.language.server/plugin.xml b/plugins/de.cau.cs.kieler.language.server/plugin.xml deleted file mode 100644 index 93da97dbea..0000000000 --- a/plugins/de.cau.cs.kieler.language.server/plugin.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - diff --git a/plugins/de.cau.cs.kieler.language.server/pom.xml b/plugins/de.cau.cs.kieler.language.server/pom.xml deleted file mode 100644 index ee1fcc168b..0000000000 --- a/plugins/de.cau.cs.kieler.language.server/pom.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - 4.0.0 - - de.cau.cs.kieler - plugins - 0.0.1-SNAPSHOT - - de.cau.cs.kieler - de.cau.cs.kieler.language.server - 1.3.0-SNAPSHOT - eclipse-plugin - - src - - - org.eclipse.xtend - xtend-maven-plugin - - - - compile - - - - - - - diff --git a/plugins/de.cau.cs.kieler.lustre.compiler/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.lustre.compiler/META-INF/MANIFEST.MF index 96c25b6c82..eac08454c5 100644 --- a/plugins/de.cau.cs.kieler.lustre.compiler/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.lustre.compiler/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: External Lustre Compilers Bundle-SymbolicName: de.cau.cs.kieler.lustre.compiler;singleton:=true -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: org.eclipse.core.runtime;bundle-version="3.12.0", org.eclipse.xtext.xbase.lib, diff --git a/plugins/de.cau.cs.kieler.lustre.compiler/pom.xml b/plugins/de.cau.cs.kieler.lustre.compiler/pom.xml index e1c9ff5d91..8d2f755ee4 100644 --- a/plugins/de.cau.cs.kieler.lustre.compiler/pom.xml +++ b/plugins/de.cau.cs.kieler.lustre.compiler/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.lustre.compiler - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.lustre.ide/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.lustre.ide/META-INF/MANIFEST.MF index 887531973d..056dca59d1 100644 --- a/plugins/de.cau.cs.kieler.lustre.ide/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.lustre.ide/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Lustre IDE Bundle-SymbolicName: de.cau.cs.kieler.lustre.ide -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-Vendor: Kiel University Automatic-Module-Name: de.cau.cs.kieler.lustre.ide Bundle-RequiredExecutionEnvironment: JavaSE-11 @@ -13,8 +13,7 @@ Require-Bundle: org.antlr.runtime;bundle-version="[3.2.0,3.2.1)", org.eclipse.xtext.xbase.lib, org.eclipse.xtend.lib, org.eclipse.xtend.lib.macro, - de.cau.cs.kieler.core, - de.cau.cs.kieler.language.server + de.cau.cs.kieler.core Export-Package: de.cau.cs.kieler.lustre.ide.contentassist.antlr, de.cau.cs.kieler.lustre.ide.contentassist.antlr.internal, de.cau.cs.kieler.lustre.ide.scade.contentassist.antlr.internal, diff --git a/plugins/de.cau.cs.kieler.lustre.ide/pom.xml b/plugins/de.cau.cs.kieler.lustre.ide/pom.xml index 7a5418f73f..b05d8c6420 100644 --- a/plugins/de.cau.cs.kieler.lustre.ide/pom.xml +++ b/plugins/de.cau.cs.kieler.lustre.ide/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.lustre.ide - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.lustre.ui/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.lustre.ui/META-INF/MANIFEST.MF index 56a2870ec6..07b610df50 100755 --- a/plugins/de.cau.cs.kieler.lustre.ui/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.lustre.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Lustre UI Bundle-Vendor: Kiel University -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-SymbolicName: de.cau.cs.kieler.lustre.ui; singleton:=true Eclipse-UI: True Require-Bundle: de.cau.cs.kieler.lustre, diff --git a/plugins/de.cau.cs.kieler.lustre.ui/pom.xml b/plugins/de.cau.cs.kieler.lustre.ui/pom.xml index 60ef6b7761..321ffdefe2 100644 --- a/plugins/de.cau.cs.kieler.lustre.ui/pom.xml +++ b/plugins/de.cau.cs.kieler.lustre.ui/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.lustre.ui - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.lustre/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.lustre/META-INF/MANIFEST.MF index 2d5131c84f..f3e60b86be 100644 --- a/plugins/de.cau.cs.kieler.lustre/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.lustre/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Lustre Bundle-Vendor: Kiel University -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-SymbolicName: de.cau.cs.kieler.lustre;singleton:=true Bundle-ActivationPolicy: lazy Require-Bundle: org.eclipse.xtext.xtext.generator;bundle-version="2.27.0", diff --git a/plugins/de.cau.cs.kieler.lustre/pom.xml b/plugins/de.cau.cs.kieler.lustre/pom.xml index c29f03dec4..e6e46aaed7 100644 --- a/plugins/de.cau.cs.kieler.lustre/pom.xml +++ b/plugins/de.cau.cs.kieler.lustre/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.lustre - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.overlord/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.overlord/META-INF/MANIFEST.MF index d6a8d0cbf7..c274bf7e2a 100644 --- a/plugins/de.cau.cs.kieler.overlord/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.overlord/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Overlord Bundle-SymbolicName: de.cau.cs.kieler.overlord -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-Vendor: Kiel University Automatic-Module-Name: de.cau.cs.kieler.overlord Bundle-RequiredExecutionEnvironment: JavaSE-11 diff --git a/plugins/de.cau.cs.kieler.overlord/run-configurations/KIELER.launch b/plugins/de.cau.cs.kieler.overlord/run-configurations/KIELER.launch index 9ada002aba..e43eb39b5c 100644 --- a/plugins/de.cau.cs.kieler.overlord/run-configurations/KIELER.launch +++ b/plugins/de.cau.cs.kieler.overlord/run-configurations/KIELER.launch @@ -13,10 +13,11 @@ + - + diff --git a/plugins/de.cau.cs.kieler.sccharts.ide/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.sccharts.ide/META-INF/MANIFEST.MF index 7532b7ac9d..bb71375fbd 100644 --- a/plugins/de.cau.cs.kieler.sccharts.ide/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.sccharts.ide/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: SCCharts IDE Bundle-SymbolicName: de.cau.cs.kieler.sccharts.ide -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Automatic-Module-Name: de.cau.cs.kieler.sccharts.ide Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: org.antlr.runtime;bundle-version="[3.2.0,3.2.1)", @@ -14,12 +14,10 @@ Require-Bundle: org.antlr.runtime;bundle-version="[3.2.0,3.2.1)", de.cau.cs.kieler.sccharts, de.cau.cs.kieler.core, de.cau.cs.kieler.klighd, - de.cau.cs.kieler.language.server, de.cau.cs.kieler.simulation, de.cau.cs.kieler.kicool, de.cau.cs.kieler.simulation.ide, de.cau.cs.kieler.scl.ide, - de.cau.cs.kieler.klighd.lsp, com.google.gson, de.cau.cs.kieler.kicool.ide Export-Package: de.cau.cs.kieler.sccharts.ide.simulation, diff --git a/plugins/de.cau.cs.kieler.sccharts.ide/META-INF/services/de.cau.cs.kieler.language.server.ILSDiagramHighlighterContribution b/plugins/de.cau.cs.kieler.sccharts.ide/META-INF/services/de.cau.cs.kieler.language.server.ILSDiagramHighlighterContribution deleted file mode 100644 index 206377df79..0000000000 --- a/plugins/de.cau.cs.kieler.sccharts.ide/META-INF/services/de.cau.cs.kieler.language.server.ILSDiagramHighlighterContribution +++ /dev/null @@ -1 +0,0 @@ -de.cau.cs.kieler.sccharts.ide.language.server.SCChartsLSDiagramHighlighterContribution \ No newline at end of file diff --git a/plugins/de.cau.cs.kieler.sccharts.ide/pom.xml b/plugins/de.cau.cs.kieler.sccharts.ide/pom.xml index 20395120b3..fb786ead06 100644 --- a/plugins/de.cau.cs.kieler.sccharts.ide/pom.xml +++ b/plugins/de.cau.cs.kieler.sccharts.ide/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sccharts.ide - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.sccharts.legacy.ui/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.sccharts.legacy.ui/META-INF/MANIFEST.MF index 96c5494f6c..8101edcc52 100644 --- a/plugins/de.cau.cs.kieler.sccharts.legacy.ui/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.sccharts.legacy.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: UI for Legacy SCCharts Bundle-SymbolicName: de.cau.cs.kieler.sccharts.legacy.ui;singleton:=true -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-Activator: de.cau.cs.kieler.sccharts.legacy.text.ui.internal.SctActivator Bundle-Vendor: Kiel University Eclipse-UI: True diff --git a/plugins/de.cau.cs.kieler.sccharts.legacy.ui/pom.xml b/plugins/de.cau.cs.kieler.sccharts.legacy.ui/pom.xml index bad9518ff2..78678ca9f9 100644 --- a/plugins/de.cau.cs.kieler.sccharts.legacy.ui/pom.xml +++ b/plugins/de.cau.cs.kieler.sccharts.legacy.ui/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sccharts.legacy.ui - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.sccharts.legacy/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.sccharts.legacy/META-INF/MANIFEST.MF index 06a5cbc4c3..6888ec9fc4 100644 --- a/plugins/de.cau.cs.kieler.sccharts.legacy/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.sccharts.legacy/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Legacy SCCharts Bundle-SymbolicName: de.cau.cs.kieler.sccharts.legacy;singleton:=true -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-ClassPath: . Bundle-Vendor: Kiel University Bundle-Localization: plugin diff --git a/plugins/de.cau.cs.kieler.sccharts.legacy/pom.xml b/plugins/de.cau.cs.kieler.sccharts.legacy/pom.xml index 496a914ba4..00eb8ecf99 100644 --- a/plugins/de.cau.cs.kieler.sccharts.legacy/pom.xml +++ b/plugins/de.cau.cs.kieler.sccharts.legacy/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sccharts.legacy - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.sccharts.ui/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.sccharts.ui/META-INF/MANIFEST.MF index 1b18783beb..dc6759dd03 100644 --- a/plugins/de.cau.cs.kieler.sccharts.ui/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.sccharts.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: SCCharts UI Bundle-SymbolicName: de.cau.cs.kieler.sccharts.ui;singleton:=true -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-11 Eclipse-UI: True Require-Bundle: de.cau.cs.kieler.klighd, diff --git a/plugins/de.cau.cs.kieler.sccharts.ui/META-INF/services/de.cau.cs.kieler.sccharts.ui.synthesis.hooks.SynthesisHook b/plugins/de.cau.cs.kieler.sccharts.ui/META-INF/services/de.cau.cs.kieler.sccharts.ui.synthesis.hooks.SynthesisHook index 6b3b1e3c7c..b78459e206 100644 --- a/plugins/de.cau.cs.kieler.sccharts.ui/META-INF/services/de.cau.cs.kieler.sccharts.ui.synthesis.hooks.SynthesisHook +++ b/plugins/de.cau.cs.kieler.sccharts.ui/META-INF/services/de.cau.cs.kieler.sccharts.ui.synthesis.hooks.SynthesisHook @@ -14,4 +14,5 @@ de.cau.cs.kieler.sccharts.ui.synthesis.hooks.ColorAnnotationHook de.cau.cs.kieler.sccharts.ui.synthesis.hooks.InducedDataflowHook de.cau.cs.kieler.sccharts.ui.synthesis.hooks.ShowStateDependencyHook de.cau.cs.kieler.sccharts.ui.synthesis.hooks.ActionsAsDataflowHook -de.cau.cs.kieler.sccharts.ui.debug.hooks.SetBreakpointActionHook \ No newline at end of file +de.cau.cs.kieler.sccharts.ui.debug.hooks.SetBreakpointActionHook +de.cau.cs.kieler.sccharts.ui.synthesis.hooks.ModelOrderHook \ No newline at end of file diff --git a/plugins/de.cau.cs.kieler.sccharts.ui/pom.xml b/plugins/de.cau.cs.kieler.sccharts.ui/pom.xml index 262218df2f..7e7926b0c7 100644 --- a/plugins/de.cau.cs.kieler.sccharts.ui/pom.xml +++ b/plugins/de.cau.cs.kieler.sccharts.ui/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sccharts.ui - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/ControlflowRegionSynthesis.xtend b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/ControlflowRegionSynthesis.xtend index 3210ab3de6..285b40ca75 100644 --- a/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/ControlflowRegionSynthesis.xtend +++ b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/ControlflowRegionSynthesis.xtend @@ -88,7 +88,6 @@ class ControlflowRegionSynthesis extends SubSynthesis if (USE_KLAY.booleanValue) { node.addLayoutParam(CoreOptions::ALGORITHM, LayeredOptions.ALGORITHM_ID) - node.setLayoutOption(LayeredOptions.CONSIDER_MODEL_ORDER_STRATEGY, OrderingStrategy.PREFER_EDGES) node.setLayoutOption(CoreOptions::CONTENT_ALIGNMENT, ContentAlignment.topCenter()) node.setLayoutOption(LayeredOptions::NODE_PLACEMENT_BK_FIXED_ALIGNMENT, FixedAlignment::BALANCED) node.setLayoutOption(LayeredOptions::EDGE_LABELS_CENTER_LABEL_PLACEMENT_STRATEGY, CenterEdgeLabelPlacementStrategy::TAIL_LAYER) diff --git a/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/StateSynthesis.xtend b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/StateSynthesis.xtend index 23391e8231..68ed1732d4 100644 --- a/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/StateSynthesis.xtend +++ b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/StateSynthesis.xtend @@ -457,6 +457,7 @@ class StateSynthesis extends SubSynthesis { node.setLayoutOption(RectPackingOptions.OMIT_NODE_MICRO_LAYOUT, true) node.setLayoutOption(CoreOptions::PADDING, new ElkPadding(0)) node.setLayoutOption(CoreOptions::SPACING_NODE_NODE, 1.0) + node.setLayoutOption(RectPackingOptions.OMIT_NODE_MICRO_LAYOUT, true) } def static void configureLayoutRegionDependencies(KNode node) { diff --git a/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/TransitionSynthesis.xtend b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/TransitionSynthesis.xtend index 824b78b9e7..29ad88cf1b 100644 --- a/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/TransitionSynthesis.xtend +++ b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/TransitionSynthesis.xtend @@ -177,8 +177,9 @@ class TransitionSynthesis extends SubSynthesis { }; if (SHOW_COMMENTS.booleanValue) { - transition.getCommentAnnotations.forEach[ - edge.addLabel(it.values.head, COMMENT_BACKGROUND_GRADIENT_2.color) => [ + transition.getCommentAnnotations.forEach[ comment | + edge.addLabel(comment.values.head, COMMENT_BACKGROUND_GRADIENT_2.color) => [ + associateWith(comment) configureLabelLOD(transition) ] ] diff --git a/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/hooks/LabelPlacementSideHook.xtend b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/hooks/LabelPlacementSideHook.xtend index 16dabf7340..056465d26d 100644 --- a/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/hooks/LabelPlacementSideHook.xtend +++ b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/hooks/LabelPlacementSideHook.xtend @@ -51,11 +51,11 @@ class LabelPlacementSideHook extends SynthesisHook { /** The sub category for label placement side selection. */ public static final SynthesisOption LABEL_SIDE_CATEGORY = GeneralSynthesisOptions::LAYOUT - private static final String STRATEGY_CONSISTENT = "Consistent side"; - private static final String STRATEGY_SMART = "Smart side"; - private static final String STRATEGY_DIRECTIONAL = "Direction-dependent side"; + private static final String STRATEGY_CONSISTENT = "Always above"; + private static final String STRATEGY_SMART = "Smart"; + private static final String STRATEGY_DIRECTIONAL = "Direction-dependent"; private static final String STRATEGY_ON_EDGE = "On edge"; - private static final String STRATEGY_ON_EDGE_DIRECTIONAL = "On edge (with arrows)" + private static final boolean ON_EDGE_ARROWS = true; /** The synthesis option to switch between different side selection strategies. */ public static final SynthesisOption LABEL_SIDE_SELECTION_STRATEGY = SynthesisOption.createChoiceOption( @@ -64,10 +64,9 @@ class LabelPlacementSideHook extends SynthesisHook { newLinkedList( STRATEGY_CONSISTENT, STRATEGY_SMART, - STRATEGY_DIRECTIONAL, - STRATEGY_ON_EDGE, - STRATEGY_ON_EDGE_DIRECTIONAL), - STRATEGY_CONSISTENT).setCategory(LABEL_SIDE_CATEGORY); +// STRATEGY_DIRECTIONAL, + STRATEGY_ON_EDGE), + STRATEGY_ON_EDGE).setCategory(LABEL_SIDE_CATEGORY); @Inject extension TransitionStyles; @@ -82,7 +81,7 @@ class LabelPlacementSideHook extends SynthesisHook { override finish(Scope scope, KNode node) { // If inline labels are enabled, we need to style them appropriately val strategy = LABEL_SIDE_SELECTION_STRATEGY.objectValue; - if (strategy != STRATEGY_ON_EDGE && strategy != STRATEGY_ON_EDGE_DIRECTIONAL) { + if (strategy != STRATEGY_ON_EDGE) { // Next-to-edge strategies don't need any further processing return; } @@ -102,7 +101,7 @@ class LabelPlacementSideHook extends SynthesisHook { LinesDecorator.create() .withColor(foreground)) - if (strategy == STRATEGY_ON_EDGE_DIRECTIONAL) { + if (ON_EDGE_ARROWS) { inlineLabelConfigurator.addDecoratorRenderingProvider( DirectionalArrowsDecoratorHotFixed.create() .withColor(foreground)) diff --git a/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/hooks/LabelShorteningHook.xtend b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/hooks/LabelShorteningHook.xtend index 2b13b90e66..3d280e6025 100644 --- a/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/hooks/LabelShorteningHook.xtend +++ b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/hooks/LabelShorteningHook.xtend @@ -55,7 +55,7 @@ class LabelShorteningHook extends SynthesisActionHook { LabelShorteningStrategies.PRIORITIES, LabelShorteningStrategies.SEMANTIC_SOFT_WRAPPING, LabelShorteningStrategies.TRUNCATE - ), LabelShorteningStrategies.NO).setCategory(LABEL_MANAGEMENT_CATEGORY). + ), LabelShorteningStrategies.SEMANTIC_SOFT_WRAPPING).setCategory(LABEL_MANAGEMENT_CATEGORY). setUpdateAction(LabelShorteningHook.ID) // Register this action as updater /** The synthesis option for fixed shorten labels value */ public static val SynthesisOption SHORTEN_LABEL_WIDTH = SynthesisOption::createRangeOption(LabelShorteningHook, "Shortening Width", diff --git a/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/hooks/ModelOrderHook.xtend b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/hooks/ModelOrderHook.xtend new file mode 100644 index 0000000000..6cc3cd48f0 --- /dev/null +++ b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/hooks/ModelOrderHook.xtend @@ -0,0 +1,80 @@ +/* + * KIELER - Kiel Integrated Environment for Layout Eclipse RichClient + * + * http://rtsys.informatik.uni-kiel.de/kieler + * + * Copyright 2022 by + * + Kiel University + * + Department of Computer Science + * + Real-Time and Embedded Systems Group + * + * This code is provided under the terms of the Eclipse Public License (EPL). + */ +package de.cau.cs.kieler.sccharts.ui.synthesis.hooks + +import de.cau.cs.kieler.klighd.SynthesisOption +import de.cau.cs.kieler.klighd.kgraph.KNode +import de.cau.cs.kieler.klighd.krendering.ViewSynthesisShared +import de.cau.cs.kieler.sccharts.ControlflowRegion +import de.cau.cs.kieler.sccharts.Region +import de.cau.cs.kieler.sccharts.ui.synthesis.GeneralSynthesisOptions +import org.eclipse.elk.alg.layered.options.CrossingMinimizationStrategy +import org.eclipse.elk.alg.layered.options.CycleBreakingStrategy +import org.eclipse.elk.alg.layered.options.GreedySwitchType +import org.eclipse.elk.alg.layered.options.LayeredOptions +import org.eclipse.elk.alg.layered.options.OrderingStrategy + +import static extension de.cau.cs.kieler.klighd.syntheses.DiagramSyntheses.* + +/** + * Sets the model order configuration on the diagram. + * + * @author sdo + * + */ +@ViewSynthesisShared +class ModelOrderHook extends SynthesisHook { + + private static String TIE_BREAKER = "Tie-Breaker" + private static String FULL_CONTROL_EDGES = "Full Control" + + /** The related synthesis option */ + public static final SynthesisOption MODEL_ORDER = SynthesisOption.createChoiceOption( + ModelOrderHook, + "Model Order", #[TIE_BREAKER, FULL_CONTROL_EDGES], TIE_BREAKER). + setCategory(GeneralSynthesisOptions::LAYOUT); + + override getDisplayedSynthesisOptions() { + return newLinkedList(MODEL_ORDER); + } + + override processRegion(Region region, KNode node) { + if (region instanceof ControlflowRegion) { + switch (MODEL_ORDER.objectValue) { + + case FULL_CONTROL_EDGES: { + // Enforce model order during cycle breaking. + node.setLayoutOption(LayeredOptions.CYCLE_BREAKING_STRATEGY, CycleBreakingStrategy.MODEL_ORDER) + // Presort nodes and edges before crossing minimization. + node.setLayoutOption(LayeredOptions.CONSIDER_MODEL_ORDER_STRATEGY, OrderingStrategy.PREFER_EDGES) + // Do not do crossing minimization. + node.setLayoutOption(LayeredOptions.CROSSING_MINIMIZATION_STRATEGY, CrossingMinimizationStrategy.NONE) + node.setLayoutOption(LayeredOptions.CROSSING_MINIMIZATION_GREEDY_SWITCH_TYPE, GreedySwitchType.OFF) + } + case TIE_BREAKER: { + // Enforce model order during cycle breaking. + node.setLayoutOption(LayeredOptions.CYCLE_BREAKING_STRATEGY, CycleBreakingStrategy.MODEL_ORDER) + // Presort nodes and edges before crossing minimization. + node.setLayoutOption(LayeredOptions.CONSIDER_MODEL_ORDER_STRATEGY, OrderingStrategy.PREFER_EDGES) + // Always use the best ordered solution that was tried. + node.setLayoutOption(LayeredOptions.CONSIDER_MODEL_ORDER_CROSSING_COUNTER_PORT_INFLUENCE, 0.01) + node.setLayoutOption(LayeredOptions.CONSIDER_MODEL_ORDER_CROSSING_COUNTER_NODE_INFLUENCE, 0.01) + } + default: { + + } + } + } + } + +} \ No newline at end of file diff --git a/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/styles/StateStyles.xtend b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/styles/StateStyles.xtend index 3a5ab3626f..d8ab4a923e 100644 --- a/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/styles/StateStyles.xtend +++ b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/styles/StateStyles.xtend @@ -233,7 +233,7 @@ class StateStyles { fontSize = stateLabelTextSize suppressSelectability selectionTextUnderline = Underline.NONE // prevents default selection style - setProperty(KlighdProperties.IS_NODE_TITLE, true) +// setProperty(KlighdProperties.IS_NODE_TITLE, true) ] } diff --git a/plugins/de.cau.cs.kieler.sccharts/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.sccharts/META-INF/MANIFEST.MF index d7cdd8af4f..c1301997b7 100644 --- a/plugins/de.cau.cs.kieler.sccharts/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.sccharts/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: KIELER SCCharts Bundle-SymbolicName: de.cau.cs.kieler.sccharts;singleton:=true Automatic-Module-Name: de.cau.cs.kieler.sccharts -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-ClassPath: . Bundle-Vendor: Kiel University Bundle-Localization: plugin diff --git a/plugins/de.cau.cs.kieler.sccharts/pom.xml b/plugins/de.cau.cs.kieler.sccharts/pom.xml index 4b2aa11275..a8100c0482 100644 --- a/plugins/de.cau.cs.kieler.sccharts/pom.xml +++ b/plugins/de.cau.cs.kieler.sccharts/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sccharts - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.sccharts/resources/nxj/templates/nxj-light.ftl b/plugins/de.cau.cs.kieler.sccharts/resources/nxj/templates/nxj-light.ftl index 4076e10c74..a30cb2a3b7 100644 --- a/plugins/de.cau.cs.kieler.sccharts/resources/nxj/templates/nxj-light.ftl +++ b/plugins/de.cau.cs.kieler.sccharts/resources/nxj/templates/nxj-light.ftl @@ -17,9 +17,9 @@ <#list parameters["LightSensor"] as parameters> // Light <#if (parameters.parameter2!"false")=="true"> - scchart.${parameters.varName} = lightSensor${parameters.parameter1}.readNormalizedValue(); - <#else> scchart.${parameters.varName} = lightSensor${parameters.parameter1}.getLightValue(); + <#else> + scchart.${parameters.varName} = lightSensor${parameters.parameter1}.readNormalizedValue(); diff --git a/plugins/de.cau.cs.kieler.sccharts/resources/nxj/templates/nxj-timing.ftl b/plugins/de.cau.cs.kieler.sccharts/resources/nxj/templates/nxj-timing.ftl index a13851dd3f..07f5bb708a 100644 --- a/plugins/de.cau.cs.kieler.sccharts/resources/nxj/templates/nxj-timing.ftl +++ b/plugins/de.cau.cs.kieler.sccharts/resources/nxj/templates/nxj-timing.ftl @@ -135,7 +135,7 @@ @macro "TickWakeUp" wakeUpTime --> <#macro TickWakeUp position> -<#if position=="output"> +<#if position=="input"> <#list parameters["TickWakeUp"] as parameters> // Set input of model to new system time. This should be the old wake up time. scchart.${parameters.varName} = (int)(System.currentTimeMillis()); diff --git a/plugins/de.cau.cs.kieler.sccharts/src/de/cau/cs/kieler/sccharts/processors/CountDelay.xtend b/plugins/de.cau.cs.kieler.sccharts/src/de/cau/cs/kieler/sccharts/processors/CountDelay.xtend index b77267a3e0..9679e3fc39 100644 --- a/plugins/de.cau.cs.kieler.sccharts/src/de/cau/cs/kieler/sccharts/processors/CountDelay.xtend +++ b/plugins/de.cau.cs.kieler.sccharts/src/de/cau/cs/kieler/sccharts/processors/CountDelay.xtend @@ -237,11 +237,13 @@ class CountDelay extends SCChartsProcessor implements Traceable { private def verificationHack(ValuedObject counter, int triggerDelay) { try { // Add range assumption for verification - if(compilationContext.class.simpleName.equals("VerificationContext")) { - compilationContext.class.getMethod("addRangeAssumtion", ValuedObject, int, int).invoke(compilationContext, counter, 0, triggerDelay) - } + compilationContext.startEnvironment.allProperties.forEach[p1, p2| + if(p1.id.equals("de.cau.cs.kieler.verification.context")) { + p2.class.getMethod("addRangeAssumtion", ValuedObject, int, int).invoke(p2, counter, 0, triggerDelay) + } + ] } catch (Exception e) { - // Nobody cares + environment.errors.add(new Exception("Range assumption could not be copied for CountDelay")) } } diff --git a/plugins/de.cau.cs.kieler.sccharts/src/de/cau/cs/kieler/sccharts/processors/Pre.xtend b/plugins/de.cau.cs.kieler.sccharts/src/de/cau/cs/kieler/sccharts/processors/Pre.xtend index 6cd0f5ab6b..ead2335457 100644 --- a/plugins/de.cau.cs.kieler.sccharts/src/de/cau/cs/kieler/sccharts/processors/Pre.xtend +++ b/plugins/de.cau.cs.kieler.sccharts/src/de/cau/cs/kieler/sccharts/processors/Pre.xtend @@ -315,11 +315,13 @@ class Pre extends SCChartsProcessor implements Traceable { private def verificationHack(ValuedObject vo, ValuedObject source) { try { // Copy range assumptions for verification - if(compilationContext.class.simpleName.equals("VerificationContext")) { - compilationContext.class.getMethod("copyAssumptions", ValuedObject, ValuedObject).invoke(compilationContext, vo, source) - } + compilationContext.startEnvironment.allProperties.forEach[p1, p2| + if(p1.id.equals("de.cau.cs.kieler.verification.context")) { + p2.class.getMethod("copyAssumptions", ValuedObject, ValuedObject).invoke(p2, vo, source) + } + ] } catch (Exception e) { - // Nobody cares + environment.errors.add(new Exception("Pre expression range assumption could not be copied")) } } diff --git a/plugins/de.cau.cs.kieler.scg.klighd/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.scg.klighd/META-INF/MANIFEST.MF index 08d4ad264f..25228c45bc 100644 --- a/plugins/de.cau.cs.kieler.scg.klighd/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.scg.klighd/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KIELER SC Graph KlighD Binding Bundle-SymbolicName: de.cau.cs.kieler.scg.klighd;singleton:=true -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-Vendor: Kiel University Eclipse-UI: True Require-Bundle: org.eclipse.elk.core;bundle-version="0.7.1", diff --git a/plugins/de.cau.cs.kieler.scg.klighd/pom.xml b/plugins/de.cau.cs.kieler.scg.klighd/pom.xml index 09c0b65200..c9af56574d 100644 --- a/plugins/de.cau.cs.kieler.scg.klighd/pom.xml +++ b/plugins/de.cau.cs.kieler.scg.klighd/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.scg.klighd - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.scg/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.scg/META-INF/MANIFEST.MF index f8507c472b..ceddf27c75 100644 --- a/plugins/de.cau.cs.kieler.scg/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.scg/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KIELER SC Graph Bundle-SymbolicName: de.cau.cs.kieler.scg;singleton:=true -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-ClassPath: . Bundle-Vendor: Kiel University Bundle-Localization: plugin diff --git a/plugins/de.cau.cs.kieler.scg/pom.xml b/plugins/de.cau.cs.kieler.scg/pom.xml index e090880254..59ce80ecfb 100644 --- a/plugins/de.cau.cs.kieler.scg/pom.xml +++ b/plugins/de.cau.cs.kieler.scg/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.scg - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.scg/resources/sc/sc-generic.h b/plugins/de.cau.cs.kieler.scg/resources/sc/sc-generic.h index 4401d6b7c8..785ba67058 100644 --- a/plugins/de.cau.cs.kieler.scg/resources/sc/sc-generic.h +++ b/plugins/de.cau.cs.kieler.scg/resources/sc/sc-generic.h @@ -15,6 +15,10 @@ * @author Reinhard v. Hanxleden, * rvh@informatik.uni-kiel.de */ +#ifndef SC_GENERIC_H +#define SC_GENERIC_H + + #include #include @@ -1567,3 +1571,6 @@ void set2names(char *prefix, char* suffix, void *setPtr, int setmax, char *names #define _SC_ERROR2(code, f, a, b) fprintf(stderr, f, a, b); exit(code); #define _SC_ERROR3(code, f, a, b, c) fprintf(stderr, f, a, b, c); exit(code); #endif + + +#endif /* !SC_GENERIC_H */ \ No newline at end of file diff --git a/plugins/de.cau.cs.kieler.scg/resources/sc/sc.h b/plugins/de.cau.cs.kieler.scg/resources/sc/sc.h index aec284dac2..6e327263ac 100644 --- a/plugins/de.cau.cs.kieler.scg/resources/sc/sc.h +++ b/plugins/de.cau.cs.kieler.scg/resources/sc/sc.h @@ -10,6 +10,9 @@ * @author Reinhard v. Hanxleden, * rvh@informatik.uni-kiel.de */ +#ifndef SC_H +#define SC_H + /* Note: This header file makes use of the following * application-specific macros. If the application sets these macros, @@ -315,3 +318,5 @@ unsigned long _longBit; } #endif + +#endif /* !SC_H */ diff --git a/plugins/de.cau.cs.kieler.scg/resources/sc/scl.h b/plugins/de.cau.cs.kieler.scg/resources/sc/scl.h index 8c1f4c83d7..c558427054 100644 --- a/plugins/de.cau.cs.kieler.scg/resources/sc/scl.h +++ b/plugins/de.cau.cs.kieler.scg/resources/sc/scl.h @@ -1,5 +1,8 @@ // SCL Macros // rvh 30 Nov 2012 +#ifndef SCL_H +#define SCL_H + // Time measurements #ifdef _SC_NOTRACE // Tracing off -> Timing off @@ -202,3 +205,6 @@ typedef int bool; setPC(_cid, __LABEL__); \ dispatch_; \ __LABEL__: + + +#endif /* !SC_GENERIC_H */ diff --git a/plugins/de.cau.cs.kieler.scg/src/de/cau/cs/kieler/scg/processors/codegen/prio/c/CPrioCodeGeneratorModule.xtend b/plugins/de.cau.cs.kieler.scg/src/de/cau/cs/kieler/scg/processors/codegen/prio/c/CPrioCodeGeneratorModule.xtend index 66bc6de608..98e3afd02b 100644 --- a/plugins/de.cau.cs.kieler.scg/src/de/cau/cs/kieler/scg/processors/codegen/prio/c/CPrioCodeGeneratorModule.xtend +++ b/plugins/de.cau.cs.kieler.scg/src/de/cau/cs/kieler/scg/processors/codegen/prio/c/CPrioCodeGeneratorModule.xtend @@ -17,6 +17,7 @@ import com.google.inject.Injector import de.cau.cs.kieler.annotations.StringPragma import de.cau.cs.kieler.annotations.registry.PragmaRegistry import de.cau.cs.kieler.kicool.compilation.CodeContainer +import de.cau.cs.kieler.kicool.deploy.processor.CCompiler import de.cau.cs.kieler.scg.processors.codegen.c.CCodeGeneratorModule import org.eclipse.emf.common.util.URI @@ -81,6 +82,14 @@ class CPrioCodeGeneratorModule extends CCodeGeneratorModule { library = true ] } + + // The SC macros contain tentative definitions and need to be compiled with -fcommon in GCC 10+ + val env = processorInstance.environment + if (env.getProperty(CCompiler.ADDITIONAL_OPTIONS).nullOrEmpty) { + env.setProperty(CCompiler.ADDITIONAL_OPTIONS, "-fcommon") + } else { + env.setProperty(CCompiler.ADDITIONAL_OPTIONS, env.getProperty(CCompiler.ADDITIONAL_OPTIONS) + " -fcommon") + } } override generateWriteCodeModules(StringBuilder hFile, StringBuilder cFile) { diff --git a/plugins/de.cau.cs.kieler.scg/src/de/cau/cs/kieler/scg/processors/codegen/prio/java/JavaPrioCodeGeneratorLogicModule.xtend b/plugins/de.cau.cs.kieler.scg/src/de/cau/cs/kieler/scg/processors/codegen/prio/java/JavaPrioCodeGeneratorLogicModule.xtend index 8862cb5d64..5db43bb58c 100644 --- a/plugins/de.cau.cs.kieler.scg/src/de/cau/cs/kieler/scg/processors/codegen/prio/java/JavaPrioCodeGeneratorLogicModule.xtend +++ b/plugins/de.cau.cs.kieler.scg/src/de/cau/cs/kieler/scg/processors/codegen/prio/java/JavaPrioCodeGeneratorLogicModule.xtend @@ -218,12 +218,24 @@ class JavaPrioCodeGeneratorLogicModule extends CPrioCodeGeneratorLogicModule { code.appendInd("if(" + conditional.condition.serializeHR + "){\n") + // If the priority is raised in then branch, insert use prio-statement instead of goto. + // This fixed the behavior of abro-vars + val prio = (conditional.getAnnotation(PriorityAuxiliaryData.OPTIMIZED_NODE_PRIORITIES_ANNOTATION) + as IntAnnotation).value + val targetPrio = (conditional.then.target.asNode.getAnnotation(PriorityAuxiliaryData.OPTIMIZED_NODE_PRIORITIES_ANNOTATION) + as IntAnnotation).value + val jump = if (targetPrio != prio) { + " prioB(" + targetPrio + ", " + } else { + " gotoB(" + } + if(labeledNodes.containsKey(conditional.then.target)) { - code.appendInd(" gotoB(State." + labeledNodes.get(conditional.then.target) + ");\n") + code.appendInd(jump + "State." + labeledNodes.get(conditional.then.target) + ");\n") } else { // Create goto and label ifLabel = "_L_" + labelNr++ - code.appendInd(" gotoB(State." + ifLabel + ");\n") + code.appendInd(jump + "State." + ifLabel + ");\n") val targetNode = conditional.then.target.asNode labeledNodes.put(targetNode, ifLabel) // if (targetNode instanceof Exit) { diff --git a/plugins/de.cau.cs.kieler.scl.ide/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.scl.ide/META-INF/MANIFEST.MF index 57280b68c3..a39ba9fd9f 100644 --- a/plugins/de.cau.cs.kieler.scl.ide/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.scl.ide/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: SCL IDE Bundle-SymbolicName: de.cau.cs.kieler.scl.ide -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Automatic-Module-Name: de.cau.cs.kieler.scl.ide Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: org.antlr.runtime;bundle-version="[3.2.0,3.2.1)", @@ -13,8 +13,7 @@ Require-Bundle: org.antlr.runtime;bundle-version="[3.2.0,3.2.1)", org.eclipse.xtend.lib, org.eclipse.xtend.lib.macro, de.cau.cs.kieler.core, - de.cau.cs.kieler.kexpressions.ide, - de.cau.cs.kieler.language.server + de.cau.cs.kieler.kexpressions.ide Export-Package: de.cau.cs.kieler.scl.ide, de.cau.cs.kieler.scl.ide.contentassist.antlr, de.cau.cs.kieler.scl.ide.contentassist.antlr.internal, diff --git a/plugins/de.cau.cs.kieler.scl.ide/pom.xml b/plugins/de.cau.cs.kieler.scl.ide/pom.xml index e3209e83ee..d5dfffadba 100644 --- a/plugins/de.cau.cs.kieler.scl.ide/pom.xml +++ b/plugins/de.cau.cs.kieler.scl.ide/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.scl.ide - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.scl.ui/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.scl.ui/META-INF/MANIFEST.MF index 5353a9142c..60ae9bfb78 100644 --- a/plugins/de.cau.cs.kieler.scl.ui/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.scl.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KIELER SCL Editor Bundle-Vendor: Kiel University -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-SymbolicName: de.cau.cs.kieler.scl.ui;singleton:=true Bundle-ActivationPolicy: lazy Eclipse-UI: True diff --git a/plugins/de.cau.cs.kieler.scl.ui/pom.xml b/plugins/de.cau.cs.kieler.scl.ui/pom.xml index 3ad01b41a2..5c054be40b 100644 --- a/plugins/de.cau.cs.kieler.scl.ui/pom.xml +++ b/plugins/de.cau.cs.kieler.scl.ui/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.scl.ui - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.scl/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.scl/META-INF/MANIFEST.MF index 0df5ad849c..c7e9024266 100644 --- a/plugins/de.cau.cs.kieler.scl/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.scl/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KIELER SCL Bundle-Vendor: Kiel University -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-SymbolicName: de.cau.cs.kieler.scl;singleton:=true Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-11 diff --git a/plugins/de.cau.cs.kieler.scl/pom.xml b/plugins/de.cau.cs.kieler.scl/pom.xml index ec42d8b01b..c590a302d3 100644 --- a/plugins/de.cau.cs.kieler.scl/pom.xml +++ b/plugins/de.cau.cs.kieler.scl/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.scl - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.simulation.ide/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.simulation.ide/META-INF/MANIFEST.MF index fcddd7cab1..a0d66f80df 100644 --- a/plugins/de.cau.cs.kieler.simulation.ide/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.simulation.ide/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KIELER Simulation IDE Bundle-Vendor: Kiel University -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-SymbolicName: de.cau.cs.kieler.simulation.ide;singleton:=true Bundle-ActivationPolicy: lazy Require-Bundle: org.eclipse.core.runtime, @@ -20,7 +20,6 @@ Require-Bundle: org.eclipse.core.runtime, org.eclipse.lsp4j.generator;bundle-version="0.6.0", org.eclipse.lsp4j.jsonrpc;bundle-version="0.6.0", org.apache.log4j;bundle-version="1.2.15", - de.cau.cs.kieler.language.server, de.cau.cs.kieler.core;bundle-version="1.0.0", de.cau.cs.kieler.kicool.ide;bundle-version="1.0.0", de.cau.cs.kieler.kicool;bundle-version="1.0.0", @@ -32,7 +31,6 @@ Require-Bundle: org.eclipse.core.runtime, com.google.gson;bundle-version="2.7.0", de.cau.cs.kieler.klighd.krendering, de.cau.cs.kieler.klighd, - de.cau.cs.kieler.klighd.lsp, org.eclipse.elk.core, de.cau.cs.kieler.klighd.krendering.extensions;bundle-version="2.0.0", de.cau.cs.kieler.klighd.ide;bundle-version="2.0.0", @@ -43,8 +41,6 @@ Require-Bundle: org.eclipse.core.runtime, org.eclipse.jetty.util.ajax;bundle-version="10.0.5" Bundle-RequiredExecutionEnvironment: JavaSE-11 Export-Package: de.cau.cs.kieler.simulation.ide, - de.cau.cs.kieler.simulation.ide.language.server, - de.cau.cs.kieler.simulation.ide.language.server.data, de.cau.cs.kieler.simulation.ide.preferences, de.cau.cs.kieler.simulation.ide.processor, de.cau.cs.kieler.simulation.ide.providers, diff --git a/plugins/de.cau.cs.kieler.simulation.ide/META-INF/services/de.cau.cs.kieler.language.server.ILanguageServerContribution b/plugins/de.cau.cs.kieler.simulation.ide/META-INF/services/de.cau.cs.kieler.language.server.ILanguageServerContribution deleted file mode 100644 index 7ce10454e0..0000000000 --- a/plugins/de.cau.cs.kieler.simulation.ide/META-INF/services/de.cau.cs.kieler.language.server.ILanguageServerContribution +++ /dev/null @@ -1 +0,0 @@ -de.cau.cs.kieler.simulation.ide.language.server.SimulationLanguageServerContribution \ No newline at end of file diff --git a/plugins/de.cau.cs.kieler.simulation.ide/pom.xml b/plugins/de.cau.cs.kieler.simulation.ide/pom.xml index d7932f6687..72fb7d3cfc 100644 --- a/plugins/de.cau.cs.kieler.simulation.ide/pom.xml +++ b/plugins/de.cau.cs.kieler.simulation.ide/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.simulation.ide - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/providers/SimulationIdeProcessorProvider.xtend b/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/providers/SimulationIdeProcessorProvider.xtend index 9291c28007..eccf9628d9 100644 --- a/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/providers/SimulationIdeProcessorProvider.xtend +++ b/plugins/de.cau.cs.kieler.simulation.ide/src/de/cau/cs/kieler/simulation/ide/providers/SimulationIdeProcessorProvider.xtend @@ -23,8 +23,7 @@ class SimulationIdeProcessorProvider implements IProcessorProvider { override getProcessors() { #[ - de.cau.cs.kieler.simulation.ide.processor.RemoteSimulationValues, - de.cau.cs.kieler.simulation.ide.language.server.LSUserValues + de.cau.cs.kieler.simulation.ide.processor.RemoteSimulationValues ] } diff --git a/plugins/de.cau.cs.kieler.simulation.ui/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.simulation.ui/META-INF/MANIFEST.MF index 2b7841aee8..8991713513 100644 --- a/plugins/de.cau.cs.kieler.simulation.ui/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.simulation.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KIELER Simulation UI Bundle-SymbolicName: de.cau.cs.kieler.simulation.ui;singleton:=true -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-Activator: de.cau.cs.kieler.simulation.ui.SimulationUIPlugin Bundle-Vendor: Kiel University Eclipse-UI: True diff --git a/plugins/de.cau.cs.kieler.simulation.ui/pom.xml b/plugins/de.cau.cs.kieler.simulation.ui/pom.xml index 690d1760aa..fe7f2db191 100644 --- a/plugins/de.cau.cs.kieler.simulation.ui/pom.xml +++ b/plugins/de.cau.cs.kieler.simulation.ui/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.simulation.ui - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.simulation/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.simulation/META-INF/MANIFEST.MF index 9e75085143..0ab79b5087 100644 --- a/plugins/de.cau.cs.kieler.simulation/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.simulation/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KIELER Simulation Bundle-SymbolicName: de.cau.cs.kieler.simulation;singleton:=true -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-Activator: de.cau.cs.kieler.simulation.SimulationPlugin Bundle-Vendor: Kiel University Require-Bundle: org.eclipse.core.runtime, diff --git a/plugins/de.cau.cs.kieler.simulation/pom.xml b/plugins/de.cau.cs.kieler.simulation/pom.xml index 7e2c4c251a..dab8b49d0c 100644 --- a/plugins/de.cau.cs.kieler.simulation/pom.xml +++ b/plugins/de.cau.cs.kieler.simulation/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.simulation - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.simulation/src/de/cau/cs/kieler/simulation/testing/TestSuite.xtend b/plugins/de.cau.cs.kieler.simulation/src/de/cau/cs/kieler/simulation/testing/TestSuite.xtend index 0e99fd9d98..cb45bfc675 100644 --- a/plugins/de.cau.cs.kieler.simulation/src/de/cau/cs/kieler/simulation/testing/TestSuite.xtend +++ b/plugins/de.cau.cs.kieler.simulation/src/de/cau/cs/kieler/simulation/testing/TestSuite.xtend @@ -12,25 +12,62 @@ */ package de.cau.cs.kieler.simulation.testing -import com.google.common.collect.HashBasedTable -import com.google.common.collect.Table +import com.google.common.collect.LinkedHashMultimap import de.cau.cs.kieler.kicool.compilation.CompilationContext +import java.util.ArrayList +import java.util.List import org.eclipse.xtend.lib.annotations.Accessors -import org.eclipse.xtend.lib.annotations.Delegate /** * @author als */ -class TestSuite implements Table { +class TestSuite { + + static class Test { + @Accessors val TestModelData data + @Accessors val String id + @Accessors(PUBLIC_GETTER) var CompilationContext context + + new(TestModelData data, String id, CompilationContext context) { + this.data = data + this.id = id + this.context = context + } + + def free() { + this.context = null + } + } - @Accessors - val TestModelCollection testModels - @Delegate - val Table tests + val List tests; + @Accessors val TestModelCollection testModels new (TestModelCollection testModels, int numOfTests) { this.testModels = testModels - this.tests = HashBasedTable.create(testModels.size, numOfTests) + this.tests = new ArrayList(numOfTests * testModels.models.size) } + def add(TestModelData data, String id, CompilationContext context) { + tests.add(new Test(data, id, context)) + } + + def getTests() { + tests.unmodifiableView + } + + def getTestsByModel() { + val mm = LinkedHashMultimap.create() + for (t : tests) { + mm.put(t.data, t) + } + return mm + } + + def getTestsByTest() { + val mm = LinkedHashMultimap.create() + for (t : tests) { + mm.put(t.id, t) + } + return mm + } } \ No newline at end of file diff --git a/plugins/de.cau.cs.kieler.simulation/src/de/cau/cs/kieler/simulation/testing/processor/JsonBenchmarkRunner.xtend b/plugins/de.cau.cs.kieler.simulation/src/de/cau/cs/kieler/simulation/testing/processor/JsonBenchmarkRunner.xtend index 0f432e1062..a0e055771b 100644 --- a/plugins/de.cau.cs.kieler.simulation/src/de/cau/cs/kieler/simulation/testing/processor/JsonBenchmarkRunner.xtend +++ b/plugins/de.cau.cs.kieler.simulation/src/de/cau/cs/kieler/simulation/testing/processor/JsonBenchmarkRunner.xtend @@ -17,6 +17,8 @@ import com.google.gson.JsonArray import com.google.gson.JsonElement import com.google.gson.JsonNull import com.google.gson.JsonObject +import com.google.gson.JsonPrimitive +import de.cau.cs.kieler.core.Platform import de.cau.cs.kieler.core.properties.IProperty import de.cau.cs.kieler.core.properties.Property import de.cau.cs.kieler.kicool.compilation.CodeContainer @@ -27,11 +29,18 @@ import de.cau.cs.kieler.kicool.compilation.observer.CompilationFinished import de.cau.cs.kieler.kicool.compilation.observer.ProcessorError import de.cau.cs.kieler.kicool.compilation.observer.ProcessorFinished import de.cau.cs.kieler.kicool.compilation.observer.ProcessorStart +import de.cau.cs.kieler.kicool.deploy.ProjectInfrastructure import de.cau.cs.kieler.kicool.environments.Environment import de.cau.cs.kieler.kicool.environments.MessageObjectLink import de.cau.cs.kieler.simulation.testing.SimulationResult import de.cau.cs.kieler.simulation.testing.TestModelData import de.cau.cs.kieler.simulation.testing.TestSuite +import java.io.File +import java.io.FileInputStream +import java.io.FileOutputStream +import java.io.FileWriter +import java.nio.CharBuffer +import java.nio.charset.Charset import java.util.List import java.util.Observable import java.util.Observer @@ -61,40 +70,100 @@ class JsonBenchmarkRunner extends Processor implements new Property("de.cau.cs.kieler.simulation.testing.benchmark.runner.json.verbose", false) public static val IProperty PRINT_VERBOSE_DEBUG = // stuff that is usually too slow new Property("de.cau.cs.kieler.simulation.testing.benchmark.runner.json.verbose.debug", false) + public static val IProperty STORE_FILES = + new Property("de.cau.cs.kieler.simulation.testing.benchmark.runner.json.store.results", false) + public static val IProperty MERGE_STORED_FILES = + new Property("de.cau.cs.kieler.simulation.testing.benchmark.runner.json.store.results.merge", true) - static val gson = new GsonBuilder().setPrettyPrinting().create() + static val INTERMEDIATE_FILE_PATTERN = "benchmark-results-model-%d.json" + static val RESULT_FILE = "benchmark-results.json" + static val GSON = new GsonBuilder().setPrettyPrinting().create() override process() { val cc = new CodeContainer val results = new JsonObject - val testIter = model.cellSet.iterator + val tests = model.testsByModel if (PRINT_VERBOSE.getProperty) println("== Starting benchmarks ==") - while (testIter.hasNext) { - val test = testIter.next - val testModel = test.rowKey - val key = testModel.repositoryPath.fileName + ":" + testModel.modelPath.toString - if (!results.has(key)) { - results.add(key, new JsonObject) - } - - if (PRINT_VERBOSE.getProperty) { - println("-- Running benchmark %s on model %s".format(test.columnKey, key)) - test.value.addObserver(this) - } + for (testModelEntry : tests.keySet.indexed) { + val model = testModelEntry.value + val modelKey = model.repositoryPath.fileName + ":" + model.modelPath.toString + val modelResults = new JsonObject - val modelResults = results.get(key) as JsonObject - val result = test.value.run(test.columnKey, test.rowKey) - if (result !== null) { - modelResults.add(test.columnKey, result) + for (test : tests.get(model)) { + if (PRINT_VERBOSE.getProperty) { + println("-- Running benchmark %s on model %s".format(test.id, modelKey)) + test.context.addObserver(this) + } + + val result = test.context.run(test.id, test.data) + if (result !== null) { + modelResults.add(test.id, result) + } + + if (CONSUME_TESTS.getProperty) { + test.free() + } } - if (CONSUME_TESTS.getProperty) { - testIter.remove() + + if (STORE_FILES.getProperty) { + val iResult = new JsonObject + iResult.add(modelKey, modelResults) + + val pinf = ProjectInfrastructure.getProjectInfrastructure(environment) + val file = new File(pinf.generatedCodeFolder, INTERMEDIATE_FILE_PATTERN.format(testModelEntry.key)) + val writer = new FileWriter(file) + GSON.toJson(iResult, writer) + writer.close() + + results.add(modelKey, new JsonPrimitive(file.toString)) + } else { + results.add(modelKey, modelResults) } } if (PRINT_VERBOSE.getProperty) println("== Finished benchmarks ==") - cc.add("benchmark-results.json", gson.toJson(results)) + if (STORE_FILES.getProperty) { + if (MERGE_STORED_FILES.getProperty) { + val pinf = ProjectInfrastructure.getProjectInfrastructure(environment) + val file = new File(pinf.generatedCodeFolder, RESULT_FILE) + + val modelCount = tests.keySet.size + val prefix = "{\n".getBytes("UTF-8").size + val postfix = "\n}".getBytes("UTF-8").size + val sep = Charset.forName("UTF-8").newEncoder().encode(CharBuffer.wrap(",\n")) + + val writer = new FileOutputStream(file) + val outChan = writer.channel + for (var i = 0; i < modelCount; i++) { + val reader = new FileInputStream(new File(pinf.generatedCodeFolder, INTERMEDIATE_FILE_PATTERN.format(i))) + val inChan = reader.channel + + val start = i == 0 ? 0 : prefix + val end = inChan.size() - (start + ((i < modelCount - 1) ? postfix : 0)) + + inChan.transferTo(start, end, outChan) // merge + inChan.close() + reader.close() + + if (i < modelCount - 1) { // Fix json syntax + outChan.write(sep) + sep.rewind() + } + } + outChan.close() + writer.close() + + cc.addProxy(file) + } else { + cc.add(RESULT_FILE, GSON.toJson(results)) + } + if (Platform.isEclipsePlatformRunning()) { + ProjectInfrastructure.getProjectInfrastructure(environment).refresh() + } + } else { + cc.add(RESULT_FILE, GSON.toJson(results)) + } model = cc } @@ -140,7 +209,7 @@ class JsonBenchmarkRunner extends Processor implements return data } else { try { - return gson.toJsonTree(data) + return GSON.toJsonTree(data) } catch (Exception e) { environment.warnings.add("Failed to convert benchmark result %s into json".format(key), e) e.printStackTrace diff --git a/plugins/de.cau.cs.kieler.simulation/src/de/cau/cs/kieler/simulation/testing/processor/SimpleSimulationBenchmarkRunner.xtend b/plugins/de.cau.cs.kieler.simulation/src/de/cau/cs/kieler/simulation/testing/processor/SimpleSimulationBenchmarkRunner.xtend index 44a6de897e..7d60d1eef2 100644 --- a/plugins/de.cau.cs.kieler.simulation/src/de/cau/cs/kieler/simulation/testing/processor/SimpleSimulationBenchmarkRunner.xtend +++ b/plugins/de.cau.cs.kieler.simulation/src/de/cau/cs/kieler/simulation/testing/processor/SimpleSimulationBenchmarkRunner.xtend @@ -43,24 +43,24 @@ class SimpleSimulationBenchmarkRunner extends Processor 0 ? ticktimes.size : 1)) as int ) } } catch (Exception e) { - results += "%s,%s,FAILED,FAILED,FAILED".format(test.rowKey.modelFile, test.columnKey) - environment.warnings.add("Test %s failed for model %s".format(test.columnKey, test.rowKey.modelFile), e) + results += "%s,%s,FAILED,FAILED,FAILED".format(test.data.modelFile, test.id) + environment.warnings.add("Test %s failed for model %s".format(test.id, test.data.modelFile), e) e.printStackTrace } finally { // clean up diff --git a/plugins/de.cau.cs.kieler.simulation/src/de/cau/cs/kieler/simulation/testing/processor/TestSuiteGenerator.xtend b/plugins/de.cau.cs.kieler.simulation/src/de/cau/cs/kieler/simulation/testing/processor/TestSuiteGenerator.xtend index b6931a61a7..e25ae36f48 100644 --- a/plugins/de.cau.cs.kieler.simulation/src/de/cau/cs/kieler/simulation/testing/processor/TestSuiteGenerator.xtend +++ b/plugins/de.cau.cs.kieler.simulation/src/de/cau/cs/kieler/simulation/testing/processor/TestSuiteGenerator.xtend @@ -43,26 +43,28 @@ import static extension org.eclipse.emf.ecore.util.EcoreUtil.* /** * Config format: { - * "": { - * "": { - * "property-id": "value",... + * "": { // configuration for all tests + * "": { // properties added to the environment of the test + * "property-id": "value", + * ... * } - * "": { - * "": "", - * "": "", - * "": { + * "": { // selection of models to test + * "": "", // requires associated trace + * "": "", // filter expression based on model properties + * "": { // additional properties required * "property-id": "expected-value",... * } * } * } - * "": { - * "": "" - * "": "" - * "": "" - * "": { - * "processor-id": " | POST_KEY>",... + * "": { // individual test configuration + * "": "" // compilation system to use during test + * "": "" // Whether or not to simulate the result + * "": "" // Activation of inplace compilation + * "": { // Additional analyzer processors to hook into the compilation + * "processor-id": " | POST_KEY>", // e.g.: "post:de.cau.cs.kieler.kicool.processors.identity" + * ... * } - * + * // see above * } * "": {... * } @@ -84,6 +86,8 @@ class TestSuiteGenerator extends Processor { public static val INTERMEDIATE_KEY = "intermediate" public static val PRE_KEY = "pre:" public static val POST_KEY = "post:" + + /** Expected structure corresponds to json config format */ public static val IProperty>> CONFIG = new Property>>("de.cau.cs.kieler.simulation.testing.suite.config", null) @@ -110,7 +114,7 @@ class TestSuiteGenerator extends Processor { if (tests.empty) { environment.errors.add("Incomplete configuration! No tests specified.") } else { - val suite = new TestSuite(model, conf.size) + val suite = new TestSuite(model, tests.size) val gEnv = generalConf?.get(ENV_KEY) for (testId : tests) { val testConf = conf.get(testId) @@ -197,7 +201,7 @@ class TestSuiteGenerator extends Processor { } } - suite.put(testModel, testId, ctx) + suite.add(testModel, testId, ctx) } } } diff --git a/plugins/de.cau.cs.kieler.verification.ui/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.verification.ui/META-INF/MANIFEST.MF index 94c2920cca..9832a8f33b 100644 --- a/plugins/de.cau.cs.kieler.verification.ui/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.verification.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KIELER Verification Ui Bundle-SymbolicName: de.cau.cs.kieler.verification.ui;singleton:=true -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-Activator: de.cau.cs.kieler.verification.ui.VerificationUiPlugin Bundle-Vendor: Kiel University Require-Bundle: org.eclipse.ui, diff --git a/plugins/de.cau.cs.kieler.verification.ui/pom.xml b/plugins/de.cau.cs.kieler.verification.ui/pom.xml index 10909ff978..0ae6b4c2f8 100644 --- a/plugins/de.cau.cs.kieler.verification.ui/pom.xml +++ b/plugins/de.cau.cs.kieler.verification.ui/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.verification.ui - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.verification.ui/src/de/cau/cs/kieler/verification/ui/view/VerificationView.xtend b/plugins/de.cau.cs.kieler.verification.ui/src/de/cau/cs/kieler/verification/ui/view/VerificationView.xtend index de695dd49c..186f4ceb40 100644 --- a/plugins/de.cau.cs.kieler.verification.ui/src/de/cau/cs/kieler/verification/ui/view/VerificationView.xtend +++ b/plugins/de.cau.cs.kieler.verification.ui/src/de/cau/cs/kieler/verification/ui/view/VerificationView.xtend @@ -13,23 +13,18 @@ package de.cau.cs.kieler.verification.ui.view import de.cau.cs.kieler.kicool.System -import de.cau.cs.kieler.kicool.compilation.CompilationContext -import de.cau.cs.kieler.kicool.compilation.CompilationSystem -import de.cau.cs.kieler.kicool.compilation.Compile import de.cau.cs.kieler.kicool.compilation.observer.CompilationFinished -import de.cau.cs.kieler.kicool.environments.Environment import de.cau.cs.kieler.kicool.registration.KiCoolRegistration import de.cau.cs.kieler.klighd.ViewContext import de.cau.cs.kieler.klighd.ui.view.DiagramView -import de.cau.cs.kieler.sccharts.SCCharts import de.cau.cs.kieler.simulation.SimulationContext import de.cau.cs.kieler.simulation.events.ISimulationListener import de.cau.cs.kieler.simulation.events.SimulationControlEvent import de.cau.cs.kieler.simulation.events.SimulationEvent import de.cau.cs.kieler.simulation.ide.CentralSimulation import de.cau.cs.kieler.simulation.trace.TraceFileUtil -import de.cau.cs.kieler.verification.VerificationAssumption import de.cau.cs.kieler.verification.VerificationContext +import de.cau.cs.kieler.verification.VerificationManager import de.cau.cs.kieler.verification.VerificationProperty import de.cau.cs.kieler.verification.VerificationPropertyChanged import de.cau.cs.kieler.verification.VerificationPropertyStatus @@ -71,27 +66,30 @@ import org.eclipse.ui.statushandlers.StatusManager import org.eclipse.xtend.lib.annotations.Accessors import static extension de.cau.cs.kieler.simulation.ui.view.pool.DataPoolView.createTableColumn -import static extension de.cau.cs.kieler.verification.extensions.VerificationContextExtensions.* /** * @author aas */ class VerificationView extends ViewPart { - + + VerificationManager verManager = new VerificationManager() + /** * The single instance */ public static var VerificationView instance - - private static val MODEL_CLASS_TO_PROPERTY_ANALYZER = #{typeof(SCCharts) -> "de.cau.cs.kieler.sccharts.processors.verification.SCChartsVerificationPropertyAnalyzer"} + private static val MODEL_CHECKER_SYSTEM_IDS = #["de.cau.cs.kieler.sccharts.verification.nuxmv", - "de.cau.cs.kieler.sccharts.verification.nusmv", - "de.cau.cs.kieler.sccharts.verification.spin"] - private static val PLAY_ICON = VerificationUiPlugin.imageDescriptorFromPlugin(VerificationUiPlugin.PLUGIN_ID, "icons/runIcon.png") - private static val STOP_ICON = VerificationUiPlugin.imageDescriptorFromPlugin(VerificationUiPlugin.PLUGIN_ID, "icons/stopIcon.png") - private static val REFRESH_ICON = VerificationUiPlugin.imageDescriptorFromPlugin(VerificationUiPlugin.PLUGIN_ID, "icons/refresh.png") - private static val RUN_COUNTEREXAMPLE_ICON = VerificationUiPlugin.imageDescriptorFromPlugin(VerificationUiPlugin.PLUGIN_ID, "icons/rerunFailed.png") - + "de.cau.cs.kieler.sccharts.verification.nusmv", "de.cau.cs.kieler.sccharts.verification.spin"] + private static val PLAY_ICON = VerificationUiPlugin.imageDescriptorFromPlugin(VerificationUiPlugin.PLUGIN_ID, + "icons/runIcon.png") + private static val STOP_ICON = VerificationUiPlugin.imageDescriptorFromPlugin(VerificationUiPlugin.PLUGIN_ID, + "icons/stopIcon.png") + private static val REFRESH_ICON = VerificationUiPlugin.imageDescriptorFromPlugin(VerificationUiPlugin.PLUGIN_ID, + "icons/refresh.png") + private static val RUN_COUNTEREXAMPLE_ICON = VerificationUiPlugin.imageDescriptorFromPlugin( + VerificationUiPlugin.PLUGIN_ID, "icons/rerunFailed.png") + private static val CUSTOM_SMV_COMMANDS_CTL_PREF_STORE_ID = "customSmvCommandsLTL" private static val CUSTOM_SMV_COMMANDS_LTL_PREF_STORE_ID = "customSmvCommandsCTL" private static val CUSTOM_SMV_COMMANDS_INVAR_PREF_STORE_ID = "customSmvCommandsInvar" @@ -100,23 +98,19 @@ class VerificationView extends ViewPart { private static val SMV_IGNORE_RANGE_ASSUMPTIONS = "smvIgnoreRangeAssumptions" private static val CREATE_COUNTEREXAMPLES_PREF_STORE_ID = "createCounterexamples" private static val CREATE_COUNTEREXAMPLES_WITH_OUTPUTS_PREF_STORE_ID = "createCounterexamplesWithOutputs" - - private var CompilationContext propertyAnalyzerContext - private var CompilationContext verificationCompileContext - private var String selectedSystemId - + // == UI ELEMENTS == /** * The table that shows the data pool view of the simulation. */ @Accessors(PUBLIC_GETTER) private var TableViewer viewer - + private var TableViewerColumn nameColumn private var TableViewerColumn formulaColumn private var TableViewerColumn resultColumn - - /** + + /** * @see IWorkbenchPart#createPartControl(Composite) */ override createPartControl(Composite parent) { @@ -128,7 +122,7 @@ class VerificationView extends ViewPart { createToolbar() addKeyListeners() } - + /** * {@inheritDoc} */ @@ -136,7 +130,7 @@ class VerificationView extends ViewPart { viewer.refresh viewer.control.setFocus } - + /** * Creates the menu. */ @@ -144,42 +138,42 @@ class VerificationView extends ViewPart { val openCounterexampleAction = new Action("Open Counterexample") { override run() { val file = selectedProperty?.counterexampleFile - if(file !== null && file.exists) { + if (file !== null && file.exists) { val page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); - IDE.openEditor(page, file, true); + IDE.openEditor(page, getFile(file), true); } } } - + val openLogAction = new Action("Open Process Output") { override run() { var file = selectedProperty?.spinTrailFile - if(file === null) { + if (file === null) { file = selectedProperty?.processOutputFile } - if(file !== null && file.exists) { + if (file !== null && file.exists) { val page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); - IDE.openEditor(page, file, true); + IDE.openEditor(page, getFile(file), true); } } } - + val openModelCheckerFileAction = new Action("Open Model Checker Model") { override run() { val file = selectedProperty?.modelCheckerModelFile - if(file !== null && file.exists) { + if (file !== null && file.exists) { val page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); - IDE.openEditor(page, file, true); + IDE.openEditor(page, getFile(file), true); } } } - + val startVerificationOfModelInDiagramAction = new Action("Verify Model in Diagram") { override run() { startVerificationOfModelInDiagram() } } - + val openHelpAction = new Action("Show Controls") { override run() { val title = "Controls for the Verification View" @@ -188,7 +182,7 @@ class VerificationView extends ViewPart { dialog.open } } - + // Options val createCounterexampleAction = new Action("Create Counterexamples", IAction.AS_CHECK_BOX) { override run() { @@ -196,14 +190,16 @@ class VerificationView extends ViewPart { } } createCounterexampleAction.checked = getBooleanOption(CREATE_COUNTEREXAMPLES_PREF_STORE_ID, true) - - val writeOutputsToCounterexampleAction = new Action("Create Counterexamples With Outputs", IAction.AS_CHECK_BOX) { + + val writeOutputsToCounterexampleAction = new Action("Create Counterexamples With Outputs", + IAction.AS_CHECK_BOX) { override run() { setBooleanOption(CREATE_COUNTEREXAMPLES_WITH_OUTPUTS_PREF_STORE_ID, isChecked) } } - writeOutputsToCounterexampleAction.checked = getBooleanOption(CREATE_COUNTEREXAMPLES_WITH_OUTPUTS_PREF_STORE_ID, true) - + writeOutputsToCounterexampleAction.checked = getBooleanOption(CREATE_COUNTEREXAMPLES_WITH_OUTPUTS_PREF_STORE_ID, + true) + val useIVARinSmvModels = new Action("Use IVAR in SMV", IAction.AS_CHECK_BOX) { override run() { setBooleanOption(SMV_USE_IVAR_PREF_STORE_ID, isChecked) @@ -211,7 +207,7 @@ class VerificationView extends ViewPart { } useIVARinSmvModels.checked = getBooleanOption(SMV_USE_IVAR_PREF_STORE_ID, false) useIVARinSmvModels.toolTipText = "IVAR variables cannot be used everywhere, e.g., not in CTL" - + val smvIgnoreRangeAssumptions = new Action("Ignore Range Assumptions for SMV", IAction.AS_CHECK_BOX) { override run() { setBooleanOption(SMV_IGNORE_RANGE_ASSUMPTIONS, isChecked) @@ -219,7 +215,7 @@ class VerificationView extends ViewPart { } smvIgnoreRangeAssumptions.checked = getBooleanOption(SMV_IGNORE_RANGE_ASSUMPTIONS, false) smvIgnoreRangeAssumptions.toolTipText = "This can be useful in combination with infinite domain algorithms (e.g. IC3)" - + val openEditSmvCommandsDialogAction = new Action("Edit SMV Commands...") { override run() { val dialog = new EditSmvCommandsDialog(viewer.control.shell) @@ -234,12 +230,11 @@ class VerificationView extends ViewPart { } } } - + val openEditSpinCommandsDialogAction = new Action("Edit Spin Commands...") { override run() { val title = "Commands for Spin" - val message = -'''Enter commands for the verifier that is generated by Spin. + val message = '''Enter commands for the verifier that is generated by Spin. The commands will be added after the -run option, and before the file name. Example commands: -bfs : use breadth-first-search @@ -252,7 +247,7 @@ Example commands: } } } - + // Pupulate options submenu val optionsSubmenu = new MenuManager("Options") optionsSubmenu => [ @@ -263,7 +258,7 @@ Example commands: add(openEditSmvCommandsDialogAction) add(openEditSpinCommandsDialogAction) ] - + // Populate main menu getViewSite().getActionBars().getMenuManager() => [ add(openLogAction) @@ -275,7 +270,7 @@ Example commands: add(openHelpAction) ] } - + /** * Creates the toolbar. */ @@ -289,9 +284,9 @@ Example commands: return system.label } } - comboViewer.addSelectionChangedListener [SelectionChangedEvent e | + comboViewer.addSelectionChangedListener [ SelectionChangedEvent e | val selectedSystem = e.structuredSelection.firstElement as System - selectedSystemId = selectedSystem.id + verManager.systemId = selectedSystem.id ] val modelCheckingSystems = MODEL_CHECKER_SYSTEM_IDS.map[KiCoolRegistration.getSystemById(it)] comboViewer.setContentProvider(ArrayContentProvider.instance); @@ -300,35 +295,54 @@ Example commands: return comboViewer.combo } } - + val run = new Action("Start Verification", IAction.AS_PUSH_BUTTON) { override run() { - startVerification + val verificationProps = selectedProperties + val verificationContext = verManager.prepareVerification(verificationProps) + if (verificationContext !== null) { + addOptions(verificationContext) + } + addUpdater(verificationProps) + verManager.startVerification } } run.imageDescriptor = PLAY_ICON - + val stop = new Action("Stop Verification", IAction.AS_PUSH_BUTTON) { override run() { - stopVerification + if (verManager.verificationCompileContext !== null) { + if(viewer.input !== null) { + val properties = viewer.input as List + for(property : properties) { + if(property.status == VerificationPropertyStatus.RUNNING) { + property.status = VerificationPropertyStatus.PENDING + viewer.update(property, null) + } + } + } + verManager.stopVerification + } } } stop.imageDescriptor = STOP_ICON - + val refresh = new Action("Reload Properties", IAction.AS_PUSH_BUTTON) { override run() { - reloadPropertiesFromModel() + val currentModel = getCurrentDiagramModel + val properties = verManager.reloadPropertiesFromModel(currentModel) + setVerificationPropertiesInUi(properties) } } refresh.imageDescriptor = REFRESH_ICON - + val runCounterexample = new Action("Start Counterexample", IAction.AS_PUSH_BUTTON) { override run() { - runCounterexample() + runCounterexample(selectedProperty, currentDiagramModel) } } runCounterexample.imageDescriptor = RUN_COUNTEREXAMPLE_ICON - + getViewSite().getActionBars().getToolBarManager() => [ add(comboContrib) add(new Separator()) @@ -338,7 +352,7 @@ Example commands: add(stop) ] } - + /** * Creates the table to show verification properties. */ @@ -349,7 +363,7 @@ Example commands: // Create viewer val viewer = new TableViewer(table) - + // Create columns nameColumn = viewer.createTableColumn("Name", 256, true) nameColumn.labelProvider = new AbstractVerificationViewColumnLabelProvider() { @@ -357,49 +371,53 @@ Example commands: return element.asVerificationProperty.name } }; - + formulaColumn = viewer.createTableColumn("Formula", 256, true) formulaColumn.labelProvider = new AbstractVerificationViewColumnLabelProvider() { override String getText(Object element) { return element.asVerificationProperty.formula } }; - + resultColumn = viewer.createTableColumn("Result", 256, true) resultColumn.labelProvider = new AbstractVerificationViewColumnLabelProvider() { override String getText(Object element) { val property = element.asVerificationProperty - switch(property.status) { + switch (property.status) { case null, - case PENDING : return "" - case RUNNING : { - if(property.runningTaskDescription.isNullOrEmpty) { - return "Running..." + case PENDING: + return "" + case RUNNING: { + if (property.runningTaskDescription.isNullOrEmpty) { + return "Running..." } else { return property.runningTaskDescription } } - case FAILED : return "FAILED" - case PASSED : return "PASSED" - case EXCEPTION : { - if(property.cause !== null) { + case FAILED: + return "FAILED" + case PASSED: + return "PASSED" + case EXCEPTION: { + if (property.cause !== null) { return property.cause.class.simpleName + ": " + property.cause.message } else { return "EXCEPTION (of unkown cause)" - } + } } - default : return property.status.toString + default: + return property.status.toString } } }; - + // Create content viewer.setContentProvider(ArrayContentProvider.instance); viewer.input = null return viewer } - + /** * Adds key listeners to the table for easy control of the simulation. */ @@ -414,15 +432,15 @@ Example commands: } }) } - + private def VerificationProperty getSelectedProperty() { return viewer.structuredSelection?.firstElement as VerificationProperty } - + private def List getSelectedProperties() { return viewer.structuredSelection?.toList as List } - + /** * Returns the current model in the diagram. * @@ -430,12 +448,12 @@ Example commands: */ private def Object getCurrentDiagramModel() { val diagramViewContext = getDiagramViewContext - if(diagramViewContext === null) { + if (diagramViewContext === null) { return null } return diagramViewContext.inputModel } - + /** * Returns the diagram view context. * @@ -449,157 +467,108 @@ Example commands: return viewer.getViewContext(); } } - - private def void reloadPropertiesFromModel() { - val currentModel = getCurrentDiagramModel - if(currentModel === null) { - return - } - if(currentModel instanceof SCCharts) { - try { - val processorId = MODEL_CLASS_TO_PROPERTY_ANALYZER.get(typeof(SCCharts)) - propertyAnalyzerContext = runPropertyAnalyzer(processorId, currentModel) - val properties = propertyAnalyzerContext.verificationContext.getVerificationProperties - setVerificationPropertiesInUi(properties) - } catch (Exception e) { - e.showInDialog - } - } - } - - private def CompilationContext runPropertyAnalyzer(String processorId, EObject model) { - val compilationSystem = CompilationSystem.createCompilationSystem(processorId, #[processorId]) - val context = Compile.createCompilationContext(compilationSystem, model) - context.createVerificationContext(false) - context.compile() - if(context.hasErrors) { - val exception = context.allErrors.get(0).exception - throw exception - } - return context - } - + private def void setVerificationPropertiesInUi(List properties) { // Put the properties in the UI table viewer.input = properties - if(!properties.isNullOrEmpty) { + if (!properties.isNullOrEmpty) { // Restore selection val lastSelection = selectedProperties var newSelection = newArrayList - if(lastSelection !== null) { + if (lastSelection !== null) { val namesOfLastSelection = lastSelection.map[it.name] val propertiesOfLastSelection = properties.filter[namesOfLastSelection.contains(it.name)] newSelection.addAll(propertiesOfLastSelection) } // Select first element if no last selection that can be transfered - if(newSelection.isEmpty) { + if (newSelection.isEmpty) { newSelection.add(properties.head) } viewer.selection = new StructuredSelection(newSelection) } } - - private def EObject getModel(CompilationContext context) { - return context?.originalModel as EObject - } - - private def void runCounterexample() { - val property = selectedProperty - if(property !== null - && property.status == VerificationPropertyStatus.FAILED - && property.counterexampleFile !== null) { - try { - // Start a simulation, and when the simulation is started, load the trace from the counterexample - val simulationSystemId = "de.cau.cs.kieler.sccharts.simulation.tts.netlist.c" - val addCounterexampleSimulationListener = new ISimulationListener() { - - override update(SimulationContext ctx, SimulationEvent e) { - if(e instanceof SimulationControlEvent) { - if(e.operation == SimulationControlEvent.SimulationOperation.START) { - val counterexampleLocation = property.counterexampleFile.location.toOSString - val traceFile = TraceFileUtil.loadTraceFile(new File(counterexampleLocation)) - CentralSimulation.currentSimulation.setTrace(traceFile.traces.head, true, true) - // The listener did what it should and must be removed now. - // Otherwise it will add the counterexample to following simulations as well. - CentralSimulation.addListener(this) - } - } - } - - override getName() { - return "Model Checking View" - } - - } - CentralSimulation.compileAndStartSimulation(simulationSystemId, currentDiagramModel) - CentralSimulation.addListener(addCounterexampleSimulationListener) - } catch (Exception e) { - e.showInDialog - } - } - } - - private def void startVerification() { - if(propertyAnalyzerContext === null) { - return - } - startVerification(propertyAnalyzerContext.originalModel) - } - + + private def void startVerificationOfModelInDiagram() { val diagramModel = currentDiagramModel - if(diagramModel === null || !(diagramModel instanceof EObject)) { + if (diagramModel === null || !(diagramModel instanceof EObject)) { return } - startVerification(diagramModel as EObject) - } - - private def void stopVerification() { - if(verificationCompileContext !== null) { - if(viewer.input !== null) { - val properties = viewer.input as List - for(property : properties) { - if(property.status == VerificationPropertyStatus.RUNNING) { - property.status = VerificationPropertyStatus.PENDING - viewer.update(property, null) - } - } - } - - verificationCompileContext.startEnvironment.setProperty(Environment.CANCEL_COMPILATION, true) - verificationCompileContext = null + val verificationProps = selectedProperties + val verificationContext = verManager.prepareVerification(diagramModel as EObject, verificationProps) + if (verificationContext !== null) { + addOptions(verificationContext) } + addUpdater(verificationProps) + verManager.startVerification } - - private def void startVerification(Object model) { - val verificationProperties = selectedProperties - if(verificationProperties === null) { - return + + private def void toggleVerificationStartStop() { + val verificationProps = selectedProperties + val verificationContext = verManager.prepareVerification(verificationProps) + if (verificationContext !== null) { + addOptions(verificationContext) } - if(model === null) { - return + addUpdater(verificationProps) + verManager.startVerification + } + + private def void setBooleanOption(String prefStoreId, boolean value) { + preferenceStore.setValue(prefStoreId, value) + } + + private def boolean getBooleanOption(String prefStoreId, boolean defaultValue) { + preferenceStore.setDefault(prefStoreId, defaultValue) + return preferenceStore.getBoolean(prefStoreId) + } + + private def String getCustomCommands(String prefStoreId) { + preferenceStore.setDefault(prefStoreId, "") + return preferenceStore.getString(prefStoreId) + } + + private def void storeCustomCommands(String prefStoreId, String customSmvCommands) { + val store = VerificationUiPlugin.instance.preferenceStore + store.putValue(prefStoreId, customSmvCommands) + } + + private def void showInDialog(Exception e) { + e.printStackTrace + StatusManager.getManager().handle(new Status(IStatus.ERROR, VerificationUiPlugin.PLUGIN_ID, e.getMessage(), e), + StatusManager.SHOW) + } + + private def IPreferenceStore getPreferenceStore() { + return VerificationUiPlugin.instance.preferenceStore + } + + private def addUpdater(List verificationProperties) { + // Add observer for changed properties + verManager.verificationCompileContext.addObserver [ Observable o, Object arg | + if (arg instanceof VerificationPropertyChanged) { + val property = arg.changedProperty + Display.getDefault().asyncExec([viewer.update(property, null)]) + } + ] + // Update task description of the properties + for(property : verificationProperties) { + property.runningTaskDescription = "Compiling..." + property.status = VerificationPropertyStatus.RUNNING + viewer.update(property, null) } - val verificationAssumptions = propertyAnalyzerContext.verificationContext.getVerificationAssumptions - val modelWithVerificationProperties = propertyAnalyzerContext.getModel - val modelFile = getFile(modelWithVerificationProperties) + } - // Start new verification - startVerification(model, modelFile, verificationProperties, verificationAssumptions) + /** + * Translates a file to an IFile. + */ + private def IFile getFile(File file) { + val location = file.toURI(); + val files = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocationURI(location); + return files.get(0) } - private def void startVerification(Object model, IFile modelFile, - List verificationProperties, List verificationAssumptions) { - // Stop last verification if not done yet - stopVerification() - - // Create new context for verification and compile - verificationCompileContext = Compile.createCompilationContext(selectedSystemId, model) - val verificationContext = verificationCompileContext.createVerificationContext(true) - verificationContext.verificationProperties = verificationProperties - verificationContext.verificationAssumptions = verificationAssumptions - verificationContext.verificationModelFile = modelFile - + private def addOptions(VerificationContext verificationContext) { // Add general options verificationContext.createCounterexamples = getBooleanOption(CREATE_COUNTEREXAMPLES_PREF_STORE_ID, true) verificationContext.createCounterexamplesWithOutputs = getBooleanOption(CREATE_COUNTEREXAMPLES_WITH_OUTPUTS_PREF_STORE_ID, true) @@ -618,68 +587,44 @@ Example commands: // Add SPIN options val customSpinCommands = getCustomCommands(CUSTOM_SPIN_COMMANDS_PREF_STORE_ID).split("\n").toList verificationContext.customSpinCommands = customSpinCommands - - // Add observer for changed properties - verificationCompileContext.addObserver[ Observable o, Object arg | - if(arg instanceof VerificationPropertyChanged) { - val property = arg.changedProperty - Display.getDefault().asyncExec([ viewer.update(property, null) ]) - } else if(arg instanceof CompilationFinished) { - verificationCompileContext = null - } - ] - - // Update task description of the properties - for(property : verificationProperties) { - property.runningTaskDescription = "Compiling..." - property.status = VerificationPropertyStatus.RUNNING - viewer.update(property, null) - } - - verificationCompileContext.compileAsynchronously } - private def IFile getFile(EObject model) { - val eUri = model.eResource.getURI(); - if (eUri.isPlatformResource()) { - val platformString = eUri.toPlatformString(true); - val res = ResourcesPlugin.getWorkspace().getRoot().findMember(platformString) - if(res.exists && res instanceof IFile) { - return res as IFile + /** + * Starts the simulation of the counterexample of the given property. + */ + private def void runCounterexample(VerificationProperty property, Object diagramModel) { + if (property !== null && property.status == VerificationPropertyStatus.FAILED && + property.counterexampleFile !== null) { + try { + // Start a simulation, and when the simulation is started, load the trace from the counterexample + val simulationSystemId = "de.cau.cs.kieler.sccharts.simulation.tts.netlist.c" + val addCounterexampleSimulationListener = new ISimulationListener() { + + override update(SimulationContext ctx, SimulationEvent e) { + if (e instanceof SimulationControlEvent) { + if (e.operation == SimulationControlEvent.SimulationOperation.START) { + val counterexampleLocation = property.counterexampleFile.path + val traceFile = TraceFileUtil.loadTraceFile(new File(counterexampleLocation)) + CentralSimulation.currentSimulation.setTrace(traceFile.traces.head, true, true) + // The listener did what it should and must be removed now. + // Otherwise it will add the counterexample to following simulations as well. + CentralSimulation.addListener(this) + } + } + } + + override getName() { + return "Model Checking View" + } + + } + + CentralSimulation.addListener(addCounterexampleSimulationListener) + CentralSimulation.compileAndStartSimulation(simulationSystemId, diagramModel) + + } catch (Exception e) { + e.showInDialog } } } - - private def void toggleVerificationStartStop() { - startVerification() - } - - private def void setBooleanOption(String prefStoreId, boolean value) { - preferenceStore.setValue(prefStoreId, value) - } - - private def boolean getBooleanOption(String prefStoreId, boolean defaultValue) { - preferenceStore.setDefault(prefStoreId, defaultValue) - return preferenceStore.getBoolean(prefStoreId) - } - - private def String getCustomCommands(String prefStoreId) { - preferenceStore.setDefault(prefStoreId, "") - return preferenceStore.getString(prefStoreId) - } - - private def void storeCustomCommands(String prefStoreId, String customSmvCommands) { - val store = VerificationUiPlugin.instance.preferenceStore - store.putValue(prefStoreId, customSmvCommands) - } - - private def void showInDialog(Exception e) { - e.printStackTrace - StatusManager.getManager().handle(new Status(IStatus.ERROR, - VerificationUiPlugin.PLUGIN_ID, e.getMessage(), e), StatusManager.SHOW) - } - - private def IPreferenceStore getPreferenceStore() { - return VerificationUiPlugin.instance.preferenceStore - } } diff --git a/plugins/de.cau.cs.kieler.verification/META-INF/MANIFEST.MF b/plugins/de.cau.cs.kieler.verification/META-INF/MANIFEST.MF index e7d3c96586..5fd69dc8d4 100644 --- a/plugins/de.cau.cs.kieler.verification/META-INF/MANIFEST.MF +++ b/plugins/de.cau.cs.kieler.verification/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KIELER Verification Bundle-SymbolicName: de.cau.cs.kieler.verification;singleton:=true -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-Activator: de.cau.cs.kieler.verification.VerificationPlugin Bundle-Vendor: Kiel University Bundle-RequiredExecutionEnvironment: JavaSE-11 @@ -18,7 +18,9 @@ Require-Bundle: com.google.guava, de.cau.cs.kieler.kexpressions, de.cau.cs.kieler.kicool, de.cau.cs.kieler.sccharts, - de.cau.cs.kieler.scg + de.cau.cs.kieler.scg, + org.eclipse.xtext, + de.cau.cs.kieler.simulation Export-Package: de.cau.cs.kieler.sccharts.processors.verification, de.cau.cs.kieler.verification, de.cau.cs.kieler.verification.codegen, diff --git a/plugins/de.cau.cs.kieler.verification/pom.xml b/plugins/de.cau.cs.kieler.verification/pom.xml index 4890582994..901d904611 100644 --- a/plugins/de.cau.cs.kieler.verification/pom.xml +++ b/plugins/de.cau.cs.kieler.verification/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - plugins + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.verification - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/sccharts/processors/verification/SCChartsVerificationPropertyAnalyzer.xtend b/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/sccharts/processors/verification/SCChartsVerificationPropertyAnalyzer.xtend index c82c454abd..ebf0f2e605 100644 --- a/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/sccharts/processors/verification/SCChartsVerificationPropertyAnalyzer.xtend +++ b/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/sccharts/processors/verification/SCChartsVerificationPropertyAnalyzer.xtend @@ -28,6 +28,7 @@ import org.eclipse.xtend.lib.annotations.Accessors import static extension de.cau.cs.kieler.verification.extensions.VerificationContextExtensions.* import static extension de.cau.cs.kieler.verification.codegen.CodeGeneratorExtensions.* import de.cau.cs.kieler.verification.DefaultRangeAssumption +import de.cau.cs.kieler.verification.VerificationPropertyIDGenerator /** * @author aas @@ -46,6 +47,9 @@ class SCChartsVerificationPropertyAnalyzer extends InplaceProcessor { @Accessors(PUBLIC_GETTER) private val verificationProperties = newArrayList @Accessors(PUBLIC_GETTER) private val verificationAssumptions = newArrayList + /** Verification properties need IDs */ + private VerificationPropertyIDGenerator idGen = new VerificationPropertyIDGenerator() + override getId() { return PROCESSOR_ID } @@ -149,7 +153,7 @@ class SCChartsVerificationPropertyAnalyzer extends InplaceProcessor { if(propertyName.isNullOrEmpty) { propertyName = propertyFormula.toIdentifier } - return Optional.of(new VerificationProperty(propertyName, propertyFormula, propertyType)) + return Optional.of(new VerificationProperty(propertyName, propertyFormula, propertyType, idGen)) } private def getIfExists(List list, int index) { diff --git a/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/SmallVerificationProperty.xtend b/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/SmallVerificationProperty.xtend new file mode 100644 index 0000000000..e0d1943ae9 --- /dev/null +++ b/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/SmallVerificationProperty.xtend @@ -0,0 +1,40 @@ +/* + * KIELER - Kiel Integrated Environment for Layout Eclipse RichClient + * + * http://rtsys.informatik.uni-kiel.de/kieler + * + * Copyright 2022 by + * + Kiel University + * + Department of Computer Science + * + Real-Time and Embedded Systems Group + * + * This code is provided under the terms of the Eclipse Public License (EPL). + */ +package de.cau.cs.kieler.verification + +import org.eclipse.xtend.lib.annotations.Accessors + +/** + * A reduced version of VerificationProperty. It is used to send properties to the client. + * + * @author jep + * + */ +class SmallVerificationProperty { + + @Accessors(PUBLIC_GETTER) String name = "" + @Accessors(PUBLIC_GETTER) String formula = "" + @Accessors(PUBLIC_GETTER) String id = "" + @Accessors String counterexampleUri + @Accessors VerificationPropertyStatus status = VerificationPropertyStatus.PENDING + + new(String name, String formula, String id) { + this.name = name + this.formula = formula + this.id = id + } + + override toString() { + return '''VerificationProperty@«hashCode»(name:«name», formula:«formula», status:«status»)''' + } +} diff --git a/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/VerificationContext.xtend b/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/VerificationContext.xtend index 573a85e6a5..e775fd9743 100644 --- a/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/VerificationContext.xtend +++ b/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/VerificationContext.xtend @@ -12,13 +12,11 @@ */ package de.cau.cs.kieler.verification -import de.cau.cs.kieler.kicool.compilation.CompilationContext -import java.util.List -import org.eclipse.core.resources.IFile -import org.eclipse.xtend.lib.annotations.Accessors import de.cau.cs.kieler.kexpressions.ValuedObject -import de.cau.cs.kieler.verification.RangeAssumption import de.cau.cs.kieler.kicool.classes.IKiCoolCloneable +import java.io.File +import java.util.List +import org.eclipse.xtend.lib.annotations.Accessors /** * @author aas @@ -35,7 +33,7 @@ class VerificationContext implements IKiCoolCloneable { /** * File handle used to define where generated files for verification will be saved. */ - @Accessors private IFile verificationModelFile = null + @Accessors private File verificationModelFile = null /** * The OS process (or one of its parents) that is running the model checker diff --git a/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/VerificationManager.xtend b/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/VerificationManager.xtend new file mode 100644 index 0000000000..e6466b2ad1 --- /dev/null +++ b/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/VerificationManager.xtend @@ -0,0 +1,173 @@ +/* + * KIELER - Kiel Integrated Environment for Layout Eclipse RichClient + * + * http://rtsys.informatik.uni-kiel.de/kieler + * + * Copyright 2022 by + * + Kiel University + * + Department of Computer Science + * + Real-Time and Embedded Systems Group + * + * This code is provided under the terms of the Eclipse Public License (EPL). + */ +package de.cau.cs.kieler.verification + +import com.google.inject.Inject +import com.google.inject.Injector +import de.cau.cs.kieler.kicool.compilation.CompilationContext +import de.cau.cs.kieler.kicool.compilation.CompilationSystem +import de.cau.cs.kieler.kicool.compilation.Compile +import de.cau.cs.kieler.kicool.environments.Environment +import de.cau.cs.kieler.sccharts.SCCharts +import de.cau.cs.kieler.verification.extensions.VerificationContextExtensions +import java.io.File +import java.util.ArrayList +import java.util.List +import org.eclipse.core.resources.IFile +import org.eclipse.core.resources.ResourcesPlugin +import org.eclipse.emf.ecore.EObject +import org.eclipse.xtend.lib.annotations.Accessors +import java.util.Observable +import de.cau.cs.kieler.kicool.compilation.observer.CompilationFinished + +/** + * The logic for verifying models. Can be used for the Eclipse environment as well as for VS Code. + * + * @author aas, jep + * + */ +class VerificationManager { + + @Inject + Injector injector + + @Accessors(PUBLIC_GETTER) var CompilationContext verificationCompileContext + + static val MODEL_CLASS_TO_PROPERTY_ANALYZER = #{typeof(SCCharts) -> + "de.cau.cs.kieler.sccharts.processors.verification.SCChartsVerificationPropertyAnalyzer"} + + var CompilationContext propertyAnalyzerContext + + var String selectedSystemId = "de.cau.cs.kieler.sccharts.verification.nuxmv" + + def setSystemId(String id) { + selectedSystemId = id + } + + /** + * Collects the verification properties of the {@code currentModel}. + * + * @param currentModel The model for which the properties should be collected. + * @return List containing the verification properties of the model. If an exception occurs or the model + * is invalid, the list is empty. + */ + def List reloadPropertiesFromModel(Object currentModel) { + if (currentModel === null) { + return new ArrayList() + } + if (currentModel instanceof SCCharts) { + try { + val processorId = MODEL_CLASS_TO_PROPERTY_ANALYZER.get(typeof(SCCharts)) + propertyAnalyzerContext = runPropertyAnalyzer(processorId, currentModel) + val properties = VerificationContextExtensions.getVerificationContext(propertyAnalyzerContext). + getVerificationProperties + return properties + } catch (Exception e) { + // TODO improve error reporting + return new ArrayList() + } + } + } + + /** + * Creates context for analyzing the properties and compiles. + */ + def CompilationContext runPropertyAnalyzer(String processorId, EObject model) { + val compilationSystem = CompilationSystem.createCompilationSystem(processorId, #[processorId]) + val context = Compile.createCompilationContext(compilationSystem, model) + VerificationContextExtensions.createVerificationContext(context, false) + context.compile() + if (context.hasErrors) { + val exception = context.allErrors.get(0).exception + throw exception + } + return context + } + + def VerificationContext prepareVerification(List verificationProps) { + if (propertyAnalyzerContext === null) { + return null + } + return prepareVerification(propertyAnalyzerContext.originalModel, verificationProps) + } + + def VerificationContext prepareVerification(Object model, List verificationProps) { + if (verificationProps === null) { + return null + } + if (model === null) { + return null + } + val verificationAssumptions = VerificationContextExtensions.getVerificationContext(propertyAnalyzerContext). + getVerificationAssumptions + val modelWithVerificationProperties = propertyAnalyzerContext.getModel + val modelFile = getFile(modelWithVerificationProperties) + + // Start new verification + return prepareVerification(model, modelFile, verificationProps, verificationAssumptions) + } + + private def VerificationContext prepareVerification(Object model, File modelFile, + List verificationProperties, List verificationAssumptions) { + // Stop last verification if not done yet + stopVerification() + + // Create new context for verification and compile + verificationCompileContext = Compile.createCompilationContext(selectedSystemId, model) + val verificationContext = VerificationContextExtensions.createVerificationContext(verificationCompileContext, + true) + verificationContext.verificationProperties = verificationProperties + verificationContext.verificationAssumptions = verificationAssumptions + verificationContext.verificationModelFile = modelFile + + verificationCompileContext.addObserver [ Observable o, Object arg | + if (arg instanceof CompilationFinished) { + verificationCompileContext = null + } + ] + return verificationContext + } + + def startVerification() { + verificationCompileContext.compileAsynchronously + } + + def void stopVerification() { + if (verificationCompileContext !== null) { + verificationCompileContext.startEnvironment.setProperty(Environment.CANCEL_COMPILATION, true) + verificationCompileContext = null + } + } + + /** + * Gets the file for the given model. + */ + private def File getFile(EObject model) { + val eUri = model.eResource.getURI(); + if (eUri.isPlatformResource()) { + val platformString = eUri.toPlatformString(true); + val res = ResourcesPlugin.getWorkspace().getRoot().findMember(platformString) + if (res.exists && res instanceof IFile) { + return (res as IFile).fullPath.toFile + } + } else { + return new File(eUri.path) + } + } + + private def EObject getModel(CompilationContext context) { + return context?.originalModel as EObject + } + + +} diff --git a/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/VerificationProperty.xtend b/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/VerificationProperty.xtend index ca1e1a21c9..cfeb445060 100644 --- a/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/VerificationProperty.xtend +++ b/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/VerificationProperty.xtend @@ -12,58 +12,60 @@ */ package de.cau.cs.kieler.verification -import org.eclipse.core.resources.IFile +import java.io.File import org.eclipse.xtend.lib.annotations.Accessors /** * @author aas */ class VerificationProperty { - @Accessors private String name = "" - @Accessors private String formula = "" - @Accessors private VerificationPropertyType type = VerificationPropertyType.INVARIANT + @Accessors String name = "" + @Accessors String formula = "" + @Accessors VerificationPropertyType type = VerificationPropertyType.INVARIANT + @Accessors String id = "" @Accessors VerificationPropertyStatus status = VerificationPropertyStatus.PENDING /** * Description which task is currently performed for verification of this property. * This values is only of interest when the status is RUNNING. */ - @Accessors private String runningTaskDescription = "" + @Accessors String runningTaskDescription = "" /** * Pointer to a ktrace file with the counterexample. * This is only relevant if the property has the status FAILED. */ - @Accessors(PUBLIC_GETTER) IFile counterexampleFile = null + @Accessors(PUBLIC_GETTER) File counterexampleFile = null /** * Pointer to a file with the output of the process that was executed for verification. */ - @Accessors IFile processOutputFile = null + @Accessors File processOutputFile = null /** * Pointer to a file with the output of the SPIN trail command. This is only set when using SPIN. */ - @Accessors IFile spinTrailFile = null + @Accessors File spinTrailFile = null /** * Pointer to a file with the model in the model checker input language (e.g. SMV or Promela). */ - @Accessors IFile modelCheckerModelFile = null + @Accessors File modelCheckerModelFile = null /** * Exception that caused the corresponding status. * This is only relevant if the property has the status EXPECTION. */ @Accessors(PUBLIC_GETTER) Exception cause = null - new(String name, String formula, VerificationPropertyType type) { + new(String name, String formula, VerificationPropertyType type, VerificationPropertyIDGenerator idGen) { this.name = name this.formula = formula this.type = type + this.id = idGen.getId(this) } override toString() { return '''VerificationProperty@«hashCode»(name:«name», formula:«formula», status:«status»)''' } - public def void fail(IFile counterexampleFile) { + public def void fail(File counterexampleFile) { this.status = VerificationPropertyStatus.FAILED this.counterexampleFile = counterexampleFile } diff --git a/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/VerificationPropertyIDGenerator.xtend b/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/VerificationPropertyIDGenerator.xtend new file mode 100644 index 0000000000..3a716e93e2 --- /dev/null +++ b/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/VerificationPropertyIDGenerator.xtend @@ -0,0 +1,63 @@ +/* + * KIELER - Kiel Integrated Environment for Layout Eclipse RichClient + * + * http://rtsys.informatik.uni-kiel.de/kieler + * + * Copyright 2022 by + * + Kiel University + * + Department of Computer Science + * + Real-Time and Embedded Systems Group + * + * This code is provided under the terms of the Eclipse Public License (EPL). + */ +package de.cau.cs.kieler.verification + +import org.eclipse.xtend.lib.annotations.Accessors +import com.google.common.collect.HashBiMap +import com.google.common.collect.BiMap + +/** + * Class for generating unique IDs for any {@link VerificationProperty}. Use a single instance of this and call getId() for all + * the elements you need IDs for. IDs will be unique, assuming that hashCode() on VerificationProperty returns unique hashes + * per instance. + * + * @author jep + */ +class VerificationPropertyIDGenerator { + + /** + * Map to remember the {@link VerificationProperty} for all IDs for that IDs already have been generated. + */ + @Accessors(PUBLIC_GETTER) + final BiMap idToElementMap = HashBiMap.create() + + /** + * Properties are prefixed with this in their ID. + */ + static final String PREFIX = "Prop" + + static int counter = 0 + + /** + * Generates a unique ID for any {@link VerificationProperty}. Returns the same ID for the element if called a second time. + * + * @param property The verification property to generate the id for. + * @return The id string or empty string if the element is null + */ + def String getId(VerificationProperty property) { + if (property === null) { + return "" + } + + // if the ID was already calculated, use that + if (idToElementMap.containsValue(property)) { + return idToElementMap.inverse().get(property) + } + + var String id = PREFIX + property.hashCode + counter++ + + idToElementMap.put(id, property) + return id + } + +} \ No newline at end of file diff --git a/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/processors/RunModelCheckerProcessorBase.xtend b/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/processors/RunModelCheckerProcessorBase.xtend index a9d9b47317..4cbe02e038 100644 --- a/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/processors/RunModelCheckerProcessorBase.xtend +++ b/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/processors/RunModelCheckerProcessorBase.xtend @@ -10,116 +10,95 @@ * * This code is provided under the terms of the Eclipse Public License (EPL). */ - package de.cau.cs.kieler.verification.processors +package de.cau.cs.kieler.verification.processors import com.google.common.io.Files import de.cau.cs.kieler.kicool.compilation.CodeContainer import de.cau.cs.kieler.kicool.compilation.Processor import de.cau.cs.kieler.kicool.deploy.ProjectInfrastructure import de.cau.cs.kieler.kicool.environments.Environment +import de.cau.cs.kieler.verification.VerificationContext import de.cau.cs.kieler.verification.VerificationProperty +import java.io.File +import java.io.FileWriter +import java.nio.file.Path import java.util.List -import org.eclipse.core.resources.IFile -import org.eclipse.core.resources.IFolder -import org.eclipse.core.resources.IResource -import org.eclipse.core.resources.IWorkspace -import org.eclipse.core.runtime.IPath -import org.eclipse.core.runtime.Path -import org.eclipse.xtext.util.StringInputStream - -import de.cau.cs.kieler.verification.VerificationContext import static extension de.cau.cs.kieler.verification.codegen.CodeGeneratorExtensions.* - import static extension de.cau.cs.kieler.verification.extensions.VerificationContextExtensions.* /** * @author aas */ abstract class RunModelCheckerProcessorBase extends Processor { - + protected def boolean isCanceled() { return compilationContext.startEnvironment.getProperty(Environment.CANCEL_COMPILATION) } - + protected def void throwIfCanceled() { - if(isCanceled) { + if (isCanceled) { throw new Exception("Canceled by user") } } - - protected def IFile getFileInTemporaryProject(IPath path) { - val tmpProject = ProjectInfrastructure.getTemporaryProject() - val file = tmpProject.getFile(path) + + protected def File getFileInTemporaryProject(Path path) { + val projectInfrastructure = ProjectInfrastructure.getProjectInfrastructure(environment) + val file = Path.of(projectInfrastructure.generatedCodeFolder.path, path.toString).toFile return file } - - protected def IFile saveText(IPath path, String text) { + + protected def File saveText(Path path, String text) { val file = getFileInTemporaryProject(path) - file.saveText(text) - return file - } - - protected def IFile saveText(IFile file, String text) { - if(file.exists) { - file.delete(true, null) + if (file.exists) { + file.delete() + } + file.parentFile.mkdirs + if (file.createNewFile()) { + val myWriter = new FileWriter(file.path) + myWriter.write(text) + myWriter.close() } - file.createDirectories - file.create(new StringInputStream(text), true, null) return file } - + protected def List getTimeCommand() { - if(OsUtil.isLinux) { - return #["/usr/bin/time", "-f", "\n\nelapsed time: %e seconds, max memory in RAM: %M KB"] + if (OsUtil.isLinux) { + return #["/usr/bin/time", "-f", "\n\nelapsed time: %e seconds, max memory in RAM: %M KB"] } else { #[] } } - + protected def VerificationContext getVerificationContext() { return compilationContext.verificationContext } - - protected def IPath getOutputFolder() { - val folderInKielerTemp = verificationContext.verificationModelFile.fullPath.toString.replace("/","-").replace(".","-") - return new Path(folderInKielerTemp).append("kieler-gen").append("verification") + + protected def Path getOutputFolder() { + return Path.of("verification") } - - protected def IPath getOutputFile(String fileName) { - return outputFolder.append(fileName) + + protected def Path getOutputFile(String fileName) { + return Path.of(outputFolder.toString,fileName) } - - protected def IPath getOutputFile(VerificationProperty property, String fileExtension) { + + protected def Path getOutputFile(VerificationProperty property, String fileExtension) { var String name = verificationContext.verificationModelFile.nameWithoutExtension - if(!property.name.isNullOrEmpty) { + if (!property.name.isNullOrEmpty) { name += ("-" + property.name.toIdentifier + "") } name += fileExtension return getOutputFile(name) } - protected def IPath getCounterexampleFilePath(VerificationProperty property) { + protected def Path getCounterexampleFilePath(VerificationProperty property) { return getOutputFile(property, ".ktrace") } - - protected static def String nameWithoutExtension(IFile file) { + + protected static def String nameWithoutExtension(File file) { return Files.getNameWithoutExtension(file.name) } - - protected static def void createDirectories(IResource res) { - if(res.exists) { - return - } - if(res instanceof IWorkspace) { - return - } - res.parent?.createDirectories - if(res instanceof IFolder) { - res.create(false, false, null) - } - } - + protected def Process startVerificationProcess(ProcessBuilder processBuilder) { val process = processBuilder.start verificationContext.verificationProcess = process diff --git a/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/processors/nuxmv/RunNusmvProcessor.xtend b/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/processors/nuxmv/RunNusmvProcessor.xtend index 3e8b34790b..2677224b60 100644 --- a/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/processors/nuxmv/RunNusmvProcessor.xtend +++ b/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/processors/nuxmv/RunNusmvProcessor.xtend @@ -13,7 +13,7 @@ package de.cau.cs.kieler.verification.processors.nuxmv import de.cau.cs.kieler.verification.VerificationProperty -import org.eclipse.core.resources.IFile +import java.io.File /** * @author aas @@ -28,7 +28,7 @@ class RunNusmvProcessor extends RunSmvProcessor { return "Run NuSMV" } - override protected getProcessBuilderCommandList(IFile smvFile, VerificationProperty property) { + override protected getProcessBuilderCommandList(File smvFile, VerificationProperty property) { return #["NuSMV", "-int", smvFile.name] } } diff --git a/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/processors/nuxmv/RunNuxmvProcessor.xtend b/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/processors/nuxmv/RunNuxmvProcessor.xtend index 12e9ffba1a..d7ec4a2c0c 100644 --- a/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/processors/nuxmv/RunNuxmvProcessor.xtend +++ b/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/processors/nuxmv/RunNuxmvProcessor.xtend @@ -13,7 +13,7 @@ package de.cau.cs.kieler.verification.processors.nuxmv import de.cau.cs.kieler.verification.VerificationProperty -import org.eclipse.core.resources.IFile +import java.io.File /** * @author aas @@ -28,7 +28,7 @@ class RunNuxmvProcessor extends RunSmvProcessor { return "Run nuXmv" } - override protected getProcessBuilderCommandList(IFile smvFile, VerificationProperty property) { + override protected getProcessBuilderCommandList(File smvFile, VerificationProperty property) { return #["nuXmv", "-int", smvFile.name] } } diff --git a/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/processors/nuxmv/RunSmvProcessor.xtend b/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/processors/nuxmv/RunSmvProcessor.xtend index e4af9fa967..575b726176 100644 --- a/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/processors/nuxmv/RunSmvProcessor.xtend +++ b/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/processors/nuxmv/RunSmvProcessor.xtend @@ -19,13 +19,12 @@ import de.cau.cs.kieler.verification.VerificationPropertyChanged import de.cau.cs.kieler.verification.VerificationPropertyStatus import de.cau.cs.kieler.verification.processors.RunModelCheckerProcessorBase import java.io.File +import java.nio.file.Path import java.util.List -import org.eclipse.core.resources.IFile -import org.eclipse.core.runtime.IPath -import static extension de.cau.cs.kieler.verification.extensions.VerificationContextExtensions.* import static extension de.cau.cs.kieler.verification.codegen.CodeGeneratorExtensions.* import static extension de.cau.cs.kieler.verification.codegen.SmvCodeGeneratorExtensions.* +import static extension de.cau.cs.kieler.verification.extensions.VerificationContextExtensions.* import static extension de.cau.cs.kieler.verification.processors.ProcessExtensions.* /** @@ -43,7 +42,7 @@ abstract class RunSmvProcessor extends RunModelCheckerProcessorBase { * @param smvFile File containing the smv code * @param property The property to be checked */ - abstract protected def List getProcessBuilderCommandList(IFile smvFile, VerificationProperty property) + abstract protected def List getProcessBuilderCommandList(File smvFile, VerificationProperty property) override getType() { return ProcessorType.DEVELOPER @@ -86,7 +85,7 @@ abstract class RunSmvProcessor extends RunModelCheckerProcessorBase { * @param smvFile File containing the smv code * @param property The property to be checked */ - protected def getInteractiveCommands(IFile smvFile, VerificationProperty property) { + protected def getInteractiveCommands(File smvFile, VerificationProperty property) { var List interactiveCommands = DEFAULT_INTERACTIVE_COMMANDS // Get custom commands @@ -128,13 +127,13 @@ abstract class RunSmvProcessor extends RunModelCheckerProcessorBase { return interactiveCommandsWithoutPlaceholders } - private def String runModelChecker(IFile smvFile, VerificationProperty property) { + private def String runModelChecker(File smvFile, VerificationProperty property) { // Get commands to start a new process and the commands to be sent to the new process val List processCommand = getProcessBuilderCommandList(smvFile, property) val interactiveCommands = getInteractiveCommands(smvFile, property) // Create process val processBuilder = new ProcessBuilder() - processBuilder.directory(new File(smvFile.parent.location.toOSString)) + processBuilder.directory(smvFile.parentFile) processBuilder.command(timeCommand + processCommand) processBuilder.redirectErrorStream(true) val process = processBuilder.startVerificationProcess @@ -168,7 +167,7 @@ abstract class RunSmvProcessor extends RunModelCheckerProcessorBase { return processBuilder.command.toString.replace("\n", "\\n") + "\n" + processOutput } - private def void updateVerificationResult(IFile processOutputFile, String processOutput, VerificationProperty property) { + private def void updateVerificationResult(File processOutputFile, String processOutput, VerificationProperty property) { property.processOutputFile = processOutputFile property.updateTaskDescriptionAndNotify("Parsing model checker output...") val interpreter = new NuxmvOutputInterpreter(processOutput, verificationContext.createCounterexamples) @@ -205,11 +204,11 @@ abstract class RunSmvProcessor extends RunModelCheckerProcessorBase { return smvFormulaSimplified == propertyFormulaSimplified } - private def IPath getSmvFilePath() { + private def Path getSmvFilePath() { return getOutputFile(verificationContext.verificationModelFile.nameWithoutExtension+".smv") } - private def IPath getProcessOutputFilePath(VerificationProperty property) { + private def Path getProcessOutputFilePath(VerificationProperty property) { return getOutputFile(property, ".smv.log") } diff --git a/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/processors/spin/RunSpinProcessor.xtend b/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/processors/spin/RunSpinProcessor.xtend index acce9f4896..6713e589a8 100644 --- a/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/processors/spin/RunSpinProcessor.xtend +++ b/plugins/de.cau.cs.kieler.verification/src/de/cau/cs/kieler/verification/processors/spin/RunSpinProcessor.xtend @@ -26,6 +26,7 @@ import org.eclipse.core.runtime.IPath import static extension de.cau.cs.kieler.verification.extensions.VerificationContextExtensions.* import static extension de.cau.cs.kieler.verification.processors.ProcessExtensions.* +import java.nio.file.Path /** * @author aas @@ -83,9 +84,9 @@ class RunSpinProcessor extends RunModelCheckerProcessorBase { } } - private def String runModelChecker(IFile pmlFile, VerificationProperty property) { + private def String runModelChecker(File pmlFile, VerificationProperty property) { val processBuilder = new ProcessBuilder() - processBuilder.directory(new File(pmlFile.parent.location.toOSString)) + processBuilder.directory(pmlFile.parentFile) // Create spin command for the property. // example: spin -run myfile.pml val spinCommand = newArrayList("spin", "-run") @@ -108,10 +109,10 @@ class RunSpinProcessor extends RunModelCheckerProcessorBase { return processOutputWithCommand } - private def String runSpinTrailCommand(IFile pmlFile, VerificationProperty property, IFile processOutputFile) { - val javaioProcessOutputFile = processOutputFile.location.toFile + private def String runSpinTrailCommand(File pmlFile, VerificationProperty property, File processOutputFile) { + val javaioProcessOutputFile = processOutputFile val processBuilder = new ProcessBuilder() - processBuilder.directory(new File(pmlFile.parent.location.toOSString)) + processBuilder.directory(pmlFile.parentFile) val trailCommand = #["spin", "-t", "-p", "-g", pmlFile.name] processBuilder.command(trailCommand) processBuilder.redirectErrorStream(true) @@ -127,7 +128,7 @@ class RunSpinProcessor extends RunModelCheckerProcessorBase { return processOutputWithCommand } - private def void updateVerificationResult(IFile pmlFile, IFile processOutputFile, String processOutput, VerificationProperty property) { + private def void updateVerificationResult(File pmlFile, File processOutputFile, String processOutput, VerificationProperty property) { property.processOutputFile = processOutputFile property.updateTaskDescriptionAndNotify("Parsing model checker output...") val spinOutputInterpreter = new SpinOutputInterpreter(processOutput) @@ -159,15 +160,15 @@ class RunSpinProcessor extends RunModelCheckerProcessorBase { compilationContext.notify(new VerificationPropertyChanged(property)) } - private def IPath getPmlFilePath(VerificationProperty property) { + private def Path getPmlFilePath(VerificationProperty property) { return getOutputFile(property, ".pml") } - private def IPath getProcessOutputFilePath(VerificationProperty property) { + private def Path getProcessOutputFilePath(VerificationProperty property) { return getOutputFile(property, ".pml.log") } - private def IPath getTrailFilePath(VerificationProperty property) { + private def Path getTrailFilePath(VerificationProperty property) { return getOutputFile(property, ".pml.trail.log") } diff --git a/plugins/pom.xml b/plugins/pom.xml index 99269278f9..4b2ff02521 100644 --- a/plugins/pom.xml +++ b/plugins/pom.xml @@ -9,7 +9,7 @@ de.cau.cs.kieler - parent + semantics 0.0.1-SNAPSHOT ../build/pom.xml @@ -36,7 +36,6 @@ de.cau.cs.kieler.kivis.ui de.cau.cs.kieler.kivis.ide de.cau.cs.kieler.kivis - de.cau.cs.kieler.language.server de.cau.cs.kieler.lustre.compiler de.cau.cs.kieler.lustre.ide de.cau.cs.kieler.lustre.ui diff --git a/test/de.cau.cs.kieler.cli.test/META-INF/MANIFEST.MF b/test/de.cau.cs.kieler.cli.test/META-INF/MANIFEST.MF index 335b1d5851..2b33ab7292 100644 --- a/test/de.cau.cs.kieler.cli.test/META-INF/MANIFEST.MF +++ b/test/de.cau.cs.kieler.cli.test/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: CLI Tests Bundle-SymbolicName: de.cau.cs.kieler.cli.test -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-Vendor: Kiel University Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: org.junit, diff --git a/test/de.cau.cs.kieler.cli.test/pom.xml b/test/de.cau.cs.kieler.cli.test/pom.xml index d8fec289ba..53181d6cc5 100644 --- a/test/de.cau.cs.kieler.cli.test/pom.xml +++ b/test/de.cau.cs.kieler.cli.test/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - test + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.cli.test - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-test-plugin src @@ -27,23 +28,27 @@ + de.cau.cs.kieler de.cau.cs.kieler.sccharts.cli ${project.version} test + pom de.cau.cs.kieler de.cau.cs.kieler.kicool.cli ${project.version} test + pom de.cau.cs.kieler de.cau.cs.kieler.kicool.klighd.cli ${project.version} test + pom diff --git a/test/de.cau.cs.kieler.cli.test/src/de/cau/cs/kieler/cli/test/SCChartsCLITest.xtend b/test/de.cau.cs.kieler.cli.test/src/de/cau/cs/kieler/cli/test/SCChartsCLITest.xtend index 094fb5fe0d..15cb2f4615 100644 --- a/test/de.cau.cs.kieler.cli.test/src/de/cau/cs/kieler/cli/test/SCChartsCLITest.xtend +++ b/test/de.cau.cs.kieler.cli.test/src/de/cau/cs/kieler/cli/test/SCChartsCLITest.xtend @@ -18,7 +18,7 @@ import org.junit.BeforeClass import org.junit.Test import static org.junit.Assert.* -import java.nio.file.Files +import static org.junit.Assume.assumeFalse /** * @author als @@ -180,10 +180,12 @@ class SCChartsCLITest extends AbstractCLITest { val dir = setupTest("complex-compile") val wd = new File(dir, "sctx/abo") - val rel_compiler = new File("../../../../" + compiler.path) + val local_compiler = wd.toPath.toAbsolutePath.relativize(compiler.toPath.toAbsolutePath) - // compiler - val command = #[rel_compiler.path, "-v", "-s", "de.cau.cs.kieler.sccharts.netlist", "-o", "code", "-ig", "kieler-gen", "abo.sctx"] + assumeFalse(Platform.isWindows) // FIXME! als: I have no idea why only Windows fails to start the scc.bat despite the correct path + + // compile + val command = #[local_compiler.toString, "-v", "-s", "de.cau.cs.kieler.sccharts.netlist", "-o", "code", "-ig", "kieler-gen", "abo.sctx"] assertEquals("Exit value not zero", 0, command.invoke(wd)) // check results diff --git a/test/de.cau.cs.kieler.esterel.test/META-INF/MANIFEST.MF b/test/de.cau.cs.kieler.esterel.test/META-INF/MANIFEST.MF index 1000ffaac1..02c9718624 100644 --- a/test/de.cau.cs.kieler.esterel.test/META-INF/MANIFEST.MF +++ b/test/de.cau.cs.kieler.esterel.test/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Esterel Tests Bundle-SymbolicName: de.cau.cs.kieler.esterel.test;singleton:=true -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-Vendor: Kiel University Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-Activator: de.cau.cs.kieler.esterel.test.EsterelTestActivator diff --git a/test/de.cau.cs.kieler.esterel.test/pom.xml b/test/de.cau.cs.kieler.esterel.test/pom.xml index cd81c60992..a3b174566c 100644 --- a/test/de.cau.cs.kieler.esterel.test/pom.xml +++ b/test/de.cau.cs.kieler.esterel.test/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - test + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.esterel.test - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-test-plugin src diff --git a/test/de.cau.cs.kieler.kexpressions.text.test/META-INF/MANIFEST.MF b/test/de.cau.cs.kieler.kexpressions.text.test/META-INF/MANIFEST.MF index 1123c7ebac..e925a0fdb0 100644 --- a/test/de.cau.cs.kieler.kexpressions.text.test/META-INF/MANIFEST.MF +++ b/test/de.cau.cs.kieler.kexpressions.text.test/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KExpressions KEXT Test Bundle-SymbolicName: de.cau.cs.kieler.kexpressions.text.test -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-Vendor: Kiel University Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: com.google.inject;bundle-version="3.0.0", diff --git a/test/de.cau.cs.kieler.kexpressions.text.test/pom.xml b/test/de.cau.cs.kieler.kexpressions.text.test/pom.xml index 7f7100bdbc..5675a80016 100644 --- a/test/de.cau.cs.kieler.kexpressions.text.test/pom.xml +++ b/test/de.cau.cs.kieler.kexpressions.text.test/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - test + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.kexpressions.text.test - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-test-plugin src diff --git a/test/de.cau.cs.kieler.lustre.test/META-INF/MANIFEST.MF b/test/de.cau.cs.kieler.lustre.test/META-INF/MANIFEST.MF index 187c8ec3bb..e3a5a41be6 100644 --- a/test/de.cau.cs.kieler.lustre.test/META-INF/MANIFEST.MF +++ b/test/de.cau.cs.kieler.lustre.test/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Lustre Tests Bundle-SymbolicName: de.cau.cs.kieler.lustre.test;singleton:=true -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-Vendor: Kiel University Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: org.junit;bundle-version="4.12.0", diff --git a/test/de.cau.cs.kieler.lustre.test/pom.xml b/test/de.cau.cs.kieler.lustre.test/pom.xml index cd777468ba..c30a6e849c 100644 --- a/test/de.cau.cs.kieler.lustre.test/pom.xml +++ b/test/de.cau.cs.kieler.lustre.test/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - test + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.lustre.test - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-test-plugin src diff --git a/test/de.cau.cs.kieler.sccharts.test.simulation/META-INF/MANIFEST.MF b/test/de.cau.cs.kieler.sccharts.test.simulation/META-INF/MANIFEST.MF index 2a8b839818..c03c69974f 100644 --- a/test/de.cau.cs.kieler.sccharts.test.simulation/META-INF/MANIFEST.MF +++ b/test/de.cau.cs.kieler.sccharts.test.simulation/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KIELER SCCharts Simulation Tests Bundle-SymbolicName: de.cau.cs.kieler.sccharts.test.simulation -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-Activator: de.cau.cs.kieler.sccharts.test.simulation.SCChartsSimulationTestActivator Bundle-Vendor: Kiel University Require-Bundle: org.eclipse.ui, diff --git a/test/de.cau.cs.kieler.sccharts.test.simulation/pom.xml b/test/de.cau.cs.kieler.sccharts.test.simulation/pom.xml index d4e6eeade2..4c4d904965 100644 --- a/test/de.cau.cs.kieler.sccharts.test.simulation/pom.xml +++ b/test/de.cau.cs.kieler.sccharts.test.simulation/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - test + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sccharts.test.simulation - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-test-plugin src diff --git a/test/de.cau.cs.kieler.sccharts.test/META-INF/MANIFEST.MF b/test/de.cau.cs.kieler.sccharts.test/META-INF/MANIFEST.MF index 8e12988b5f..9a3d84f882 100644 --- a/test/de.cau.cs.kieler.sccharts.test/META-INF/MANIFEST.MF +++ b/test/de.cau.cs.kieler.sccharts.test/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KIELER SCCharts Transformation Tests Bundle-SymbolicName: de.cau.cs.kieler.sccharts.test -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-Activator: de.cau.cs.kieler.sccharts.test.SCChartsTestActivator Bundle-Vendor: Kiel University Require-Bundle: org.eclipse.ui, diff --git a/test/de.cau.cs.kieler.sccharts.test/pom.xml b/test/de.cau.cs.kieler.sccharts.test/pom.xml index 3f577b114d..9e5e330b3e 100644 --- a/test/de.cau.cs.kieler.sccharts.test/pom.xml +++ b/test/de.cau.cs.kieler.sccharts.test/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - test + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.sccharts.test - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-test-plugin src diff --git a/test/de.cau.cs.kieler.test.common/META-INF/MANIFEST.MF b/test/de.cau.cs.kieler.test.common/META-INF/MANIFEST.MF index 2650014297..c2edb5662d 100644 --- a/test/de.cau.cs.kieler.test.common/META-INF/MANIFEST.MF +++ b/test/de.cau.cs.kieler.test.common/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Common Semantics Test Components Bundle-SymbolicName: de.cau.cs.kieler.test.common -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-Vendor: Kiel University Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: org.junit, diff --git a/test/de.cau.cs.kieler.test.common/pom.xml b/test/de.cau.cs.kieler.test.common/pom.xml index f7cb24b891..cfa85d6c28 100644 --- a/test/de.cau.cs.kieler.test.common/pom.xml +++ b/test/de.cau.cs.kieler.test.common/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - test + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.test.common - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-plugin src diff --git a/test/de.cau.cs.kieler.verification.test/META-INF/MANIFEST.MF b/test/de.cau.cs.kieler.verification.test/META-INF/MANIFEST.MF index ba7120fc9b..e6a65b0109 100644 --- a/test/de.cau.cs.kieler.verification.test/META-INF/MANIFEST.MF +++ b/test/de.cau.cs.kieler.verification.test/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: KIELER SCCharts Transformation Tests Bundle-SymbolicName: de.cau.cs.kieler.verification.test -Bundle-Version: 1.3.0.qualifier +Bundle-Version: 1.4.0.qualifier Bundle-Vendor: Kiel University Require-Bundle: org.eclipse.core.runtime, org.eclipse.core.resources, diff --git a/test/de.cau.cs.kieler.verification.test/pom.xml b/test/de.cau.cs.kieler.verification.test/pom.xml index a50f529947..d343cb7dfe 100644 --- a/test/de.cau.cs.kieler.verification.test/pom.xml +++ b/test/de.cau.cs.kieler.verification.test/pom.xml @@ -3,12 +3,13 @@ 4.0.0 de.cau.cs.kieler - test + semantics 0.0.1-SNAPSHOT + ../../build/pom.xml de.cau.cs.kieler de.cau.cs.kieler.verification.test - 1.3.0-SNAPSHOT + 1.4.0-SNAPSHOT eclipse-test-plugin src diff --git a/test/de.cau.cs.kieler.verification.test/src/de/cau/cs/kieler/test/verification/AbstractVerificationTest.xtend b/test/de.cau.cs.kieler.verification.test/src/de/cau/cs/kieler/test/verification/AbstractVerificationTest.xtend index 27621dc059..a2e380a1f5 100644 --- a/test/de.cau.cs.kieler.verification.test/src/de/cau/cs/kieler/test/verification/AbstractVerificationTest.xtend +++ b/test/de.cau.cs.kieler.verification.test/src/de/cau/cs/kieler/test/verification/AbstractVerificationTest.xtend @@ -26,9 +26,9 @@ import de.cau.cs.kieler.verification.VerificationAssumption import de.cau.cs.kieler.verification.VerificationProperty import de.cau.cs.kieler.verification.VerificationPropertyChanged import de.cau.cs.kieler.verification.VerificationPropertyStatus +import java.io.File import java.util.List import java.util.Observable -import org.eclipse.core.resources.IFile import org.eclipse.core.runtime.Path import org.eclipse.emf.ecore.EObject import org.junit.After @@ -168,10 +168,10 @@ abstract class AbstractVerificationTest extends AbstractXText ] } - protected def IFile getVerificationModelFileHandle() { - val path = new Path(verificationModelData.modelPath.toString) - val tmpProject = ProjectInfrastructure.getTemporaryProject() - val file = tmpProject.getFile(path) + protected def File getVerificationModelFileHandle() { + val projectInfrastructure = ProjectInfrastructure.getProjectInfrastructure(new Environment()) + val path = new Path(projectInfrastructure.generatedCodeFolder.path+verificationModelData.modelPath.toString) + val file = path.toFile return file } diff --git a/test/de.cau.cs.kieler.verification.test/src/de/cau/cs/kieler/test/verification/sccharts/SCChartsVerificationBenchmark.xtend b/test/de.cau.cs.kieler.verification.test/src/de/cau/cs/kieler/test/verification/sccharts/SCChartsVerificationBenchmark.xtend index fd75343889..16964a6447 100644 --- a/test/de.cau.cs.kieler.verification.test/src/de/cau/cs/kieler/test/verification/sccharts/SCChartsVerificationBenchmark.xtend +++ b/test/de.cau.cs.kieler.verification.test/src/de/cau/cs/kieler/test/verification/sccharts/SCChartsVerificationBenchmark.xtend @@ -466,7 +466,7 @@ class SCChartsVerificationBenchmark extends AbstractSCChartsVerificationTest { val workspaceRoot = ResourcesPlugin.getWorkspace.getRoot val project = workspaceRoot.getProject("-") val file = project.getFile(path) - return file + return file.fullPath.toFile } override configureContext(CompilationContext context) { diff --git a/test/pom.xml b/test/pom.xml index 99f4f89a90..53eecdaa97 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -10,7 +10,7 @@ de.cau.cs.kieler - parent + semantics 0.0.1-SNAPSHOT ../build/pom.xml