diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c1afc00e2e..675fce5e25 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,10 +12,9 @@ jobs: strategy: matrix: # We check LTS versions and the latest release - # 8 - LTS # 11 - LTS - # 14 - latest - java-version: [ 8, 11, 14 ] + # 17 - LTS + java-version: [ 11, 17 ] steps: # Checkout the reposity of both elk and elk-models (the latter is required for the tests) diff --git a/.github/workflows/elkjs.yml b/.github/workflows/elkjs.yml index b69b9e2214..d547b1d76d 100644 --- a/.github/workflows/elkjs.yml +++ b/.github/workflows/elkjs.yml @@ -12,10 +12,10 @@ jobs: strategy: matrix: # We check against LTSs supported by GWT - # 8 - LTS - # 11 - LTS - java-version: [ 11 ] - node-version: [ 12.x ] + # 11 - LTS + # 17 - LTS + java-version: [ 11, 17 ] + node-version: [ 12.x, 18.x ] steps: # Checkout the repository of both elk and elkjs, place them next to each other. diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 5a2c653f9e..e0da5443dd 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -14,10 +14,9 @@ jobs: strategy: matrix: # We check LTS versions and the latest release - # 8 - LTS # 11 - LTS - # 14 - latest - java-version: [ 8, 11, 14 ] + # 17 - LTS + java-version: [ 11, 17 ] steps: # Checkout the reposity of both elk and elk-models (the latter is required for the tests) diff --git a/NOTICE.md b/NOTICE.md index 4c0fa659d4..df79268f30 100644 --- a/NOTICE.md +++ b/NOTICE.md @@ -37,26 +37,30 @@ ANTLR Runtime only: (3.2) * License: New BSD license -Apache Commons Logging Jar (1.1.1) +Apache Commons Logging Jar (1.2.0) * License: Apache License, 2.0 -Apache Log4J (1.2.8) +Apache Log4J (1.2.24) * License: Apache License, 2.0 -ASM (5.0.1) +ASM (9.5.0) * License: New BSD license -Google Guava (15.0.0) +Google Guava (30.1.0) * License: Apache License 2.0 -Google Guice / Inject Core API (3.0.0) +Google Guice / Inject Core API (5.0.1) * License: Apache License, 2.0 +libavoid (0.3.1) + +* License: GNU Lesser General Public License, 2.1 + Ptolemy demo models (n/a) * License: Ptolemy License (Custom) @@ -68,4 +72,4 @@ may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is -permitted. \ No newline at end of file +permitted. diff --git a/build/Jenkinsfile b/build/Jenkinsfile index a5a3d27821..72c29c3b5d 100644 --- a/build/Jenkinsfile +++ b/build/Jenkinsfile @@ -26,7 +26,7 @@ kind: Pod spec: containers: - name: maven - image: maven:3.6-openjdk-14 + image: maven:3.6-openjdk-17 command: - cat tty: true @@ -296,14 +296,14 @@ spec: // Notify developers of regressions mail subject: "ELK ${currentBuild.fullDisplayName}: ${currentBuild.currentResult}", body: "Oh noes! The build has fallen into the hands of an evil regression! Check console output at $BUILD_URL to view the results.", - to: 'sdo@informatik.uni-kiel.de, uruurumail@gmail.com, miro.spoenemann@typefox.io' + to: 'sdo@informatik.uni-kiel.de, uruurumail@gmail.com' } fixed { // Notify that build is stable again mail subject: "ELK ${currentBuild.fullDisplayName}: ${currentBuild.currentResult}", body: "Hail to the source, the build is fixed! Check console output at $BUILD_URL to view the results.", - to: 'sdo@informatik.uni-kiel.de, uruurumail@gmail.com, miro.spoenemann@typefox.io' + to: 'sdo@informatik.uni-kiel.de, uruurumail@gmail.com' } } } diff --git a/build/RELEASE.md b/build/RELEASE.md index 921309e00c..d545007d4a 100644 --- a/build/RELEASE.md +++ b/build/RELEASE.md @@ -2,18 +2,18 @@ ## Release Review -The Eclipse release process is described in more detail in the [Eclipse Project Handbook](https://www.eclipse.org/projects/handbook/#release). +The Eclipse release process is described in more detail in the [Eclipse Project Handbook](https://www.eclipse.org/projects/handbook/#release). The review process is tracked in an [issue such as this](https://gitlab.eclipse.org/eclipsefdn/emo-team/emo/-/issues/258). 1. Add a new release on ELK's [project page](https://projects.eclipse.org/projects/modeling.elk). 1. For major releases: - 1. Prepare an IP log and have it approved by Eclipse Legal. + 1. Update NOTICE.md file with relevant information regarding used third-party content. 1. Have [PMC](mailto:modeling-pmc@eclipse.org) approve the release documentation. 1. Schedule a release review. Release reviews run for a minimum of one week and conclude on the first and third Wednesdays of each month. ## The Release Branch -1. Ensure that all bundles to be built and released are in fact built and are part of the update site. +1. Ensure that all bundles to be built and released are in fact built and are part of the [update site](https://download.eclipse.org/elk/updates/). 1. Create a release branch `releases/VERSION`. 1. Remove `-SNAPSHOT` and `.qualifier` from any version numbers. This is necessary for Maven to push the build to the proper Maven Central release staging area. Be careful not to change anything in source code; this should mainly affect `category.xml`, `pom.xml`s, `feature.xml`s and `MANIFEST.MF`s. 1. Open `build/org.eclipse.elk.repository/category.xml` and update its description like this: @@ -23,7 +23,8 @@ The Eclipse release process is described in more detail in the [Eclipse Project Update site for the Eclipse Layout Kernel, version VERSION_NUMBER. ``` -1. Remove the `Website` stage's call to the `publish-website.sh` script from the release build's `Jenkinsfile` and update the build variables at the top of the `Jenkinsfile`: +1. Remove the `Website` stage's call to the `publish-website.sh` script from the release build's `Jenkinsfile` and configure the build variables in the [Jenkins configuration](https://ci.eclipse.org/elk/job/IntegrationNightly/): + Variable | New value --------------------- | --------------------------------------------------------------------- @@ -31,7 +32,7 @@ The Eclipse release process is described in more detail in the [Eclipse Project `VERSION` | Well... the version number... `ELK_TARGET_DIR` | `/home/data/httpd/download.eclipse.org/elk/updates/releases/VERSION/` -1. Update the _[ReleaseNightly](https://ci.eclipse.org/elk/job/ReleaseNightly/)_ build with the same default values for the build variables. Also remember to update the repository branch the build will check out. Run it. +1. \[deprecated\] Update the _[ReleaseNightly](https://ci.eclipse.org/elk/job/ReleaseNightly/)_ build with the same default values for the build variables. Also remember to update the repository branch the build will check out. Run it. 1. Update the version numbers on `master`. Tycho can help: ``` @@ -52,7 +53,7 @@ This is a summary of the information on [this page](https://central.sonatype.org ## Releasing to Update Site -1. Run the _PromoteUpdateSite_ build with proper parameter values and run it. +1. ~~Run the _PromoteUpdateSite_ build with proper parameter values and run it.~~ 1. While in Jenkins, disable the nightly release build. diff --git a/build/org.eclipse.elk.targetplatform/org.eclipse.elk.targetplatform.target b/build/org.eclipse.elk.targetplatform/org.eclipse.elk.targetplatform.target index 1fdbcaa94e..304932db5b 100644 --- a/build/org.eclipse.elk.targetplatform/org.eclipse.elk.targetplatform.target +++ b/build/org.eclipse.elk.targetplatform/org.eclipse.elk.targetplatform.target @@ -7,13 +7,13 @@ - + + - - - + + diff --git a/build/pom.xml b/build/pom.xml index 69c7b11f6f..3410d29941 100644 --- a/build/pom.xml +++ b/build/pom.xml @@ -21,9 +21,9 @@ - 1.8 - 1.6.0 - 2.20.0 + 11 + 2.7.3 + 2.28.0 ${project.version} @@ -179,6 +179,17 @@ x86_64 + + + + + eclipse-plugin + org.eclipse.jdt.compiler.apt + 0.0.0 + + + @@ -344,6 +355,8 @@ ${tycho-version} compile + testCompile + validate-classpath @@ -379,6 +392,19 @@ + + + org.eclipse.tycho + target-platform-configuration + [2.7.3,) + + target-platform + + + + + + diff --git a/docs/content/downloads/releasenotes/release-0.9.0.md b/docs/content/downloads/releasenotes/release-0.9.0.md new file mode 100644 index 0000000000..4c4517d1ed --- /dev/null +++ b/docs/content/downloads/releasenotes/release-0.9.0.md @@ -0,0 +1,64 @@ +--- +title: "0.9.0" +menu: + main: + parent: "ReleaseNotes" + weight: -90 +--- + +* [Release log](https://projects.eclipse.org/projects/modeling.elk/releases/0.9.0) +* [Documentation](https://download.eclipse.org/elk/updates/releases/0.9.0/elk-0.9.0-docs.zip) +* [Update site](https://download.eclipse.org/elk/updates/releases/0.9.0/) +* [Zipped update site](https://download.eclipse.org/elk/updates/releases/0.9.0/elk-0.9.0.zip) (for offline use) +* [Maven central](https://repo.maven.apache.org/maven2/org/eclipse/elk/) (for building pure Java projects that use ELK) + + + +## Details + +This is mainly a bugfix release. See GitHub for the full [list of resolved issues](https://github.com/eclipse/elk/milestone/15?closed=1). + + +### New Features and Enhancements + +* [#962](https://github.com/eclipse/elk/pull/962), [#914](https://github.com/eclipse/elk/pull/914): Added an experimental Depth-First and Breadth-First model order layerer. +* [#867](https://github.com/eclipse/elk/pull/867), [#902](https://github.com/eclipse/elk/pull/902/): Added a model order layering by node promotion. +* [#956](https://github.com/eclipse/elk/pull/956), [#942](https://github.com/eclipse/elk/pull/942), [#927](https://github.com/eclipse/elk/pull/927), [#926](https://github.com/eclipse/elk/pull/926), [#921](https://github.com/eclipse/elk/pull/921), [#893](https://github.com/eclipse/elk/pull/893), [#892](https://github.com/eclipse/elk/pull/892), [#886](https://github.com/eclipse/elk/pull/886): Added libavoid for standalone edge routing. +* [#945](https://github.com/eclipse/elk/pull/945), [#941](https://github.com/eclipse/elk/pull/941): Added option for initial rotation of radial layout. +* [#947](https://github.com/eclipse/elk/issues/947), [#951](https://github.com/eclipse/elk/pull/951), [#940](https://github.com/eclipse/elk/pull/940), [#936](https://github.com/eclipse/elk/pull/936), [\#932,](https://github.com/eclipse/elk/pull/932) [#843](https://github.com/eclipse/elk/pull/843): Added topdown layout and top-down rectangle packing algorithm. +* [#939](https://github.com/eclipse/elk/pull/939), [#930](https://github.com/eclipse/elk/issues/930): Added port model order. +* [#922](https://github.com/eclipse/elk/pull/922): KVectors now have a rotation utility method. +* [#406](https://github.com/eclipse/elk/issues/406), [#884](https://github.com/eclipse/elk/pull/884): MrTree edge routing options + interactivity and model order. +* [#889](https://github.com/eclipse/elk/pull/889): Added experimental bendpoints to force layout. +* [#877:](https://github.com/eclipse/elk/pull/877) Added new model order strategy. +* [#834](https://github.com/eclipse/elk/pull/834), [#833](https://github.com/eclipse/elk/issues/833), [#855](https://github.com/eclipse/elk/pull/855), [#843](https://github.com/eclipse/elk/pull/843): Support for fixed graphs for mrtree, force, stress, radial, and rectpacking. + +### Changes + +- [#973](https://github.com/eclipse/elk/pull/973), [#702](https://github.com/eclipse/elk/issues/702), [#794](https://github.com/eclipse/elk/issues/794), [#900](https://github.com/eclipse/elk/pull/900), [#807](https://github.com/eclipse/elk/issues/807): Moved from Java 8 to Java 11 while testing compliance with Java 17. +- [#876](https://github.com/eclipse/elk/pull/876): Renamed and reworked FORCE_MODEL_ORDER component ordering strategy to MODEL_ORDER and GROUP_MODEL_ORDER component ordering strategy. +- [#651](https://github.com/eclipse/elk/issues/651), [#885](https://github.com/eclipse/elk/pull/885): Report invalid hierarchical cross min configuration instead of fixing it. +- [#865](https://github.com/eclipse/elk/pull/865), [#835](https://github.com/eclipse/elk/pull/835): Restructure and improve rectpacking. + + +### Bugfixes + +* [#957](https://github.com/eclipse/elk/pull/957): Corrected node node spacing usage for radial layout. The node node spacing is now halved and used as a padding around the nodes. +* [#946](https://github.com/eclipse/elk/pull/946/), [#944](https://github.com/eclipse/elk/issues/944): Fix hyper edge segment splitter to actually save the best area after finding it. +* [#850](https://github.com/eclipse/elk/issues/850), [#938](https://github.com/eclipse/elk/pull/938): Port labels no longer overlap with self loops. +* [#918](https://github.com/eclipse/elk/issues/918), [#933](https://github.com/eclipse/elk/pull/933): Fix port model order comparator. +* [#923](https://github.com/eclipse/elk/pull/923): Wrapping strategies do now correctly work together with model order. +* [#906](https://github.com/eclipse/elk/pull/906), [#905](https://github.com/eclipse/elk/issues/905), [#913](https://github.com/eclipse/elk/pull/913): Fix tail edge labels. +* [#869](https://github.com/eclipse/elk/issues/869), [#911](https://github.com/eclipse/elk/pull/911), [#868](https://github.com/eclipse/elk/issues/868): Model order bug fixes. +* [#870](https://github.com/eclipse/elk/issues/870): Fixed NoSuchElementException in network simplex node placer. +* [#890](https://github.com/eclipse/elk/pull/890): Correctly check whether the layered algorithm is set. +* [#852](https://github.com/eclipse/elk/pull/852), [#841](https://github.com/eclipse/elk/issues/841): Inline edge labels are now correctly centered (hopefully). +* [#887](https://github.com/eclipse/elk/issues/887): Miscellaneous bug fixes. + +### Cleanup + +- [#924](https://github.com/eclipse/elk/pull/924): Corrected pom license for maven central. + + + + diff --git a/features/org.eclipse.elk.feature/feature.xml b/features/org.eclipse.elk.feature/feature.xml index 7a99ea0fa1..ea174c703b 100644 --- a/features/org.eclipse.elk.feature/feature.xml +++ b/features/org.eclipse.elk.feature/feature.xml @@ -39,7 +39,6 @@ SPDX-License-Identifier: EPL-2.0 - diff --git a/features/org.eclipse.elk.graphviz.feature/feature.xml b/features/org.eclipse.elk.graphviz.feature/feature.xml index 7cffd5149e..f841aa8f23 100644 --- a/features/org.eclipse.elk.graphviz.feature/feature.xml +++ b/features/org.eclipse.elk.graphviz.feature/feature.xml @@ -40,7 +40,6 @@ SPDX-License-Identifier: EPL-2.0 - diff --git a/plugins/org.eclipse.elk.alg.common/.classpath b/plugins/org.eclipse.elk.alg.common/.classpath index f0c5549859..dfa5bf5642 100644 --- a/plugins/org.eclipse.elk.alg.common/.classpath +++ b/plugins/org.eclipse.elk.alg.common/.classpath @@ -1,6 +1,10 @@ - + + + + + diff --git a/plugins/org.eclipse.elk.alg.common/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.alg.common/META-INF/MANIFEST.MF index 46ea2eb0ef..37d68fc8b6 100644 --- a/plugins/org.eclipse.elk.alg.common/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.alg.common/META-INF/MANIFEST.MF @@ -5,7 +5,7 @@ Bundle-Name: ELK Common Algorithms Bundle-SymbolicName: org.eclipse.elk.alg.common;singleton:=true Bundle-Version: 0.9.0.qualifier Bundle-Vendor: Eclipse Modeling Project -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: com.google.guava, org.eclipse.elk.core, org.eclipse.elk.graph diff --git a/plugins/org.eclipse.elk.alg.disco.debug/.classpath b/plugins/org.eclipse.elk.alg.disco.debug/.classpath index eca7bdba8f..e801ebfb46 100644 --- a/plugins/org.eclipse.elk.alg.disco.debug/.classpath +++ b/plugins/org.eclipse.elk.alg.disco.debug/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/org.eclipse.elk.alg.disco.debug/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.elk.alg.disco.debug/.settings/org.eclipse.jdt.core.prefs index 5ed2aebf75..aa1dd98830 100644 --- a/plugins/org.eclipse.elk.alg.disco.debug/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.elk.alg.disco.debug/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=11 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate 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.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 diff --git a/plugins/org.eclipse.elk.alg.disco.debug/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.alg.disco.debug/META-INF/MANIFEST.MF index a8c4edcd79..349bc3fd68 100644 --- a/plugins/org.eclipse.elk.alg.disco.debug/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.alg.disco.debug/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: ELK DisCo Debugging Utilities Bundle-SymbolicName: org.eclipse.elk.alg.disco.debug;singleton:=true Bundle-Version: 0.9.0.qualifier -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: com.google.guava, org.eclipse.ui, org.eclipse.core.runtime, diff --git a/plugins/org.eclipse.elk.alg.disco/.classpath b/plugins/org.eclipse.elk.alg.disco/.classpath index f0c5549859..ad5e13cce7 100644 --- a/plugins/org.eclipse.elk.alg.disco/.classpath +++ b/plugins/org.eclipse.elk.alg.disco/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/org.eclipse.elk.alg.disco/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.elk.alg.disco/.settings/org.eclipse.jdt.core.prefs index 5ed2aebf75..dec65fc9a4 100644 --- a/plugins/org.eclipse.elk.alg.disco/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.elk.alg.disco/.settings/org.eclipse.jdt.core.prefs @@ -1,16 +1,20 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=11 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate 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.source=1.8 +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 @@ -18,17 +22,20 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=16 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 @@ -114,11 +121,12 @@ org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert @@ -149,6 +157,8 @@ org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert @@ -173,13 +183,17 @@ org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert @@ -227,6 +241,8 @@ org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do no org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert @@ -263,9 +279,12 @@ org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not inser org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert @@ -291,7 +310,11 @@ org.eclipse.jdt.core.formatter.tabulation.char=space org.eclipse.jdt.core.formatter.tabulation.size=4 org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true +org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true +org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true +org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/plugins/org.eclipse.elk.alg.disco/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.alg.disco/META-INF/MANIFEST.MF index 1933ed4394..6b36746622 100644 --- a/plugins/org.eclipse.elk.alg.disco/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.alg.disco/META-INF/MANIFEST.MF @@ -8,7 +8,7 @@ Require-Bundle: com.google.guava, org.eclipse.elk.core, org.eclipse.elk.graph, org.eclipse.elk.alg.common -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Export-Package: org.eclipse.elk.alg.disco, org.eclipse.elk.alg.disco.graph, org.eclipse.elk.alg.disco.options, diff --git a/plugins/org.eclipse.elk.alg.force/.classpath b/plugins/org.eclipse.elk.alg.force/.classpath index f0c5549859..ad5e13cce7 100644 --- a/plugins/org.eclipse.elk.alg.force/.classpath +++ b/plugins/org.eclipse.elk.alg.force/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/org.eclipse.elk.alg.force/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.elk.alg.force/.settings/org.eclipse.jdt.core.prefs index 5ed2aebf75..e3ca4e0d0c 100644 --- a/plugins/org.eclipse.elk.alg.force/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.elk.alg.force/.settings/org.eclipse.jdt.core.prefs @@ -8,9 +8,17 @@ org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +<<<<<<< HEAD org.eclipse.jdt.core.compiler.source=1.8 +======= +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 +>>>>>>> parent of f5a08b471 (Revert "Purged Java 1.8 from setup and classpath and manifests.") org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 @@ -18,17 +26,20 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=16 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 @@ -114,11 +125,12 @@ org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert @@ -149,6 +161,8 @@ org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert @@ -173,13 +187,17 @@ org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert @@ -227,6 +245,8 @@ org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do no org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert @@ -263,9 +283,12 @@ org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not inser org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert @@ -291,7 +314,11 @@ org.eclipse.jdt.core.formatter.tabulation.char=space org.eclipse.jdt.core.formatter.tabulation.size=4 org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true +org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true +org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true +org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/plugins/org.eclipse.elk.alg.force/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.alg.force/META-INF/MANIFEST.MF index 286a22b2e9..46dff289a5 100644 --- a/plugins/org.eclipse.elk.alg.force/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.alg.force/META-INF/MANIFEST.MF @@ -5,7 +5,7 @@ Bundle-Name: ELK Force Layout Algorithm Bundle-SymbolicName: org.eclipse.elk.alg.force;singleton:=true Bundle-Version: 0.9.0.qualifier Bundle-Vendor: Eclipse Modeling Project -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: com.google.guava, org.eclipse.elk.alg.common, org.eclipse.elk.core, diff --git a/plugins/org.eclipse.elk.alg.graphviz.dot/.classpath b/plugins/org.eclipse.elk.alg.graphviz.dot/.classpath index 2f7cbadbd9..95cdcb1209 100644 --- a/plugins/org.eclipse.elk.alg.graphviz.dot/.classpath +++ b/plugins/org.eclipse.elk.alg.graphviz.dot/.classpath @@ -1,9 +1,9 @@ + + - - - + diff --git a/plugins/org.eclipse.elk.alg.graphviz.dot/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.elk.alg.graphviz.dot/.settings/org.eclipse.jdt.core.prefs index 5ed2aebf75..b5c3528c4a 100644 --- a/plugins/org.eclipse.elk.alg.graphviz.dot/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.elk.alg.graphviz.dot/.settings/org.eclipse.jdt.core.prefs @@ -8,8 +8,15 @@ org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +<<<<<<< HEAD org.eclipse.jdt.core.compiler.source=1.8 +======= +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 +>>>>>>> parent of f5a08b471 (Revert "Purged Java 1.8 from setup and classpath and manifests.") org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 diff --git a/plugins/org.eclipse.elk.alg.graphviz.dot/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.alg.graphviz.dot/META-INF/MANIFEST.MF index 619472ad6c..bf843019b7 100644 --- a/plugins/org.eclipse.elk.alg.graphviz.dot/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.alg.graphviz.dot/META-INF/MANIFEST.MF @@ -15,7 +15,7 @@ Require-Bundle: org.eclipse.xtext;bundle-version="2.9.0", org.antlr.runtime;bundle-version="[3.2.0,3.2.1)", org.eclipse.xtext.util, org.eclipse.emf.common -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Export-Package: org.eclipse.elk.alg.graphviz.dot, org.eclipse.elk.alg.graphviz.dot.formatting2, org.eclipse.elk.alg.graphviz.dot.serializer, diff --git a/plugins/org.eclipse.elk.alg.graphviz.layouter/.classpath b/plugins/org.eclipse.elk.alg.graphviz.layouter/.classpath index 2534a1484b..dfa5bf5642 100644 --- a/plugins/org.eclipse.elk.alg.graphviz.layouter/.classpath +++ b/plugins/org.eclipse.elk.alg.graphviz.layouter/.classpath @@ -1,8 +1,12 @@ + + + + + + - - diff --git a/plugins/org.eclipse.elk.alg.graphviz.layouter/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.alg.graphviz.layouter/META-INF/MANIFEST.MF index 45fd6c0b24..3eca65f6dc 100644 --- a/plugins/org.eclipse.elk.alg.graphviz.layouter/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.alg.graphviz.layouter/META-INF/MANIFEST.MF @@ -16,5 +16,5 @@ Require-Bundle: org.eclipse.ui;resolution:=optional, org.eclipse.elk.alg.graphviz.dot Bundle-ActivationPolicy: lazy Bundle-Vendor: Eclipse Modeling Project -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Export-Package: org.eclipse.elk.alg.graphviz.layouter diff --git a/plugins/org.eclipse.elk.alg.layered/.classpath b/plugins/org.eclipse.elk.alg.layered/.classpath index f0c5549859..ad5e13cce7 100644 --- a/plugins/org.eclipse.elk.alg.layered/.classpath +++ b/plugins/org.eclipse.elk.alg.layered/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/org.eclipse.elk.alg.layered/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.elk.alg.layered/.settings/org.eclipse.jdt.core.prefs index 5ed2aebf75..e3ca4e0d0c 100644 --- a/plugins/org.eclipse.elk.alg.layered/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.elk.alg.layered/.settings/org.eclipse.jdt.core.prefs @@ -8,9 +8,17 @@ org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +<<<<<<< HEAD org.eclipse.jdt.core.compiler.source=1.8 +======= +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 +>>>>>>> parent of f5a08b471 (Revert "Purged Java 1.8 from setup and classpath and manifests.") org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 @@ -18,17 +26,20 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=16 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 @@ -114,11 +125,12 @@ org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert @@ -149,6 +161,8 @@ org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert @@ -173,13 +187,17 @@ org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert @@ -227,6 +245,8 @@ org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do no org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert @@ -263,9 +283,12 @@ org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not inser org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert @@ -291,7 +314,11 @@ org.eclipse.jdt.core.formatter.tabulation.char=space org.eclipse.jdt.core.formatter.tabulation.size=4 org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true +org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true +org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true +org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/plugins/org.eclipse.elk.alg.layered/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.alg.layered/META-INF/MANIFEST.MF index 3909a7d717..6b1ff92889 100644 --- a/plugins/org.eclipse.elk.alg.layered/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.alg.layered/META-INF/MANIFEST.MF @@ -5,7 +5,7 @@ Bundle-Name: ELK Layered Layout Algorithm Bundle-SymbolicName: org.eclipse.elk.alg.layered;singleton:=true Bundle-Version: 0.9.0.qualifier Bundle-Vendor: Eclipse Modeling Project -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: com.google.guava, org.eclipse.xtext.xbase.lib;bundle-version="2.10.0", org.eclipse.elk.graph, diff --git a/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/Layered.melk b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/Layered.melk index ec3c4a0b57..2b9c4d7479 100644 --- a/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/Layered.melk +++ b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/Layered.melk @@ -203,7 +203,10 @@ algorithm layered(LayeredLayoutProvider) { supports considerModelOrder.noModelOrder supports considerModelOrder.components supports considerModelOrder.portModelOrder + supports considerModelOrder.groupID supports generatePositionAndLayerIds + supports expanded + supports name } /* ------------------------ @@ -1032,6 +1035,14 @@ group considerModelOrder { targets parents requires org.eclipse.elk.alg.layered.considerModelOrder.strategy } + option groupID: int{ + label "Group ID of the Node Type" + description + "Used to store information about the type of Node. (Used in languages that support different node types such as + Lingua Franca)" + default = -1 + targets nodes + } } advanced option directionCongruency: DirectionCongruency { @@ -1135,4 +1146,20 @@ advanced option generatePositionAndLayerIds: boolean { default = false targets parents +} + +advanced option expanded: boolean { + label "Node expansion state" + description + "If the node is expanded this property is true" + default = false + targets nodes +} + +advanced option name: String{ + label "Name of the File" + description + "If the node is expanded this property is true" + default = "result" + targets nodes } \ No newline at end of file diff --git a/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/intermediate/preserveorder/ModelOrderNodeComparator.java b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/intermediate/preserveorder/ModelOrderNodeComparator.java index bd429dc2a0..2926f2ada7 100644 --- a/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/intermediate/preserveorder/ModelOrderNodeComparator.java +++ b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/intermediate/preserveorder/ModelOrderNodeComparator.java @@ -118,6 +118,7 @@ public int compare(final LNode n1, final LNode n2) { if (!p.getIncomingEdges().isEmpty()) { if (p.getIncomingEdges().get(0).getSource().getNode().getLayer() != n1.getLayer()) { p1SourcePort = p.getIncomingEdges().get(0).getSource(); + break; } } } @@ -128,6 +129,7 @@ public int compare(final LNode n1, final LNode n2) { if (!p.getIncomingEdges().isEmpty()) { if (p.getIncomingEdges().get(0).getSource().getNode().getLayer() != n2.getLayer()) { p2SourcePort = p.getIncomingEdges().get(0).getSource(); + break; } } } diff --git a/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/options/CycleBreakingStrategy.java b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/options/CycleBreakingStrategy.java index 9e4151e34c..05f144174e 100644 --- a/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/options/CycleBreakingStrategy.java +++ b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/options/CycleBreakingStrategy.java @@ -11,11 +11,17 @@ import org.eclipse.elk.alg.layered.LayeredPhases; import org.eclipse.elk.alg.layered.graph.LGraph; +import org.eclipse.elk.alg.layered.p1cycles.BFSNodeOrderCycleBreaker; +import org.eclipse.elk.alg.layered.p1cycles.DFSNodeOrderCycleBreaker; import org.eclipse.elk.alg.layered.p1cycles.DepthFirstCycleBreaker; import org.eclipse.elk.alg.layered.p1cycles.GreedyCycleBreaker; import org.eclipse.elk.alg.layered.p1cycles.GreedyModelOrderCycleBreaker; import org.eclipse.elk.alg.layered.p1cycles.InteractiveCycleBreaker; import org.eclipse.elk.alg.layered.p1cycles.ModelOrderCycleBreaker; +import org.eclipse.elk.alg.layered.p1cycles.ModelOrderLookAHeadCycleBreaker; +import org.eclipse.elk.alg.layered.p1cycles.SCCConectivity; +import org.eclipse.elk.alg.layered.p1cycles.SCCNodeTypeCycleBreaker; +import org.eclipse.elk.alg.layered.p1cycles.StrictGroupOrderCycleBreaker; import org.eclipse.elk.core.alg.ILayoutPhase; import org.eclipse.elk.core.alg.ILayoutPhaseFactory; import org.eclipse.elk.graph.properties.AdvancedPropertyValue; @@ -53,7 +59,37 @@ public enum CycleBreakingStrategy implements ILayoutPhaseFactory create() { case GREEDY_MODEL_ORDER: return new GreedyModelOrderCycleBreaker(); + case MODEL_ORDER_LOOK_AHEAD: + return new ModelOrderLookAHeadCycleBreaker(); + + case SCC_CONNECTIVITY: + return new SCCConectivity(); + + case SCC_NODE_TYPE: + return new SCCNodeTypeCycleBreaker(); + + case STRICT_GROUP_ORDER: + return new StrictGroupOrderCycleBreaker(); + + case DFS_NODE_ORDER: + return new DFSNodeOrderCycleBreaker(); + + case BFS_NODE_ORDER: + return new BFSNodeOrderCycleBreaker(); + default: throw new IllegalArgumentException( "No implementation is available for the cycle breaker " + this.toString()); diff --git a/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/options/InternalProperties.java b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/options/InternalProperties.java index c05db6165c..e56e7fe3ee 100644 --- a/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/options/InternalProperties.java +++ b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/options/InternalProperties.java @@ -452,6 +452,18 @@ public final class InternalProperties { * This is used to cache this once it was calculated. */ public static final IProperty> TARGET_NODE_MODEL_ORDER = new Property<>("targetNode.modelOrder"); + + public static final IProperty TARJAN_LOWLINK = new Property<>("tarjan.lowlink",Integer.MAX_VALUE); + + public static final IProperty TARJAN_ID = new Property<>("tarjan.id",-1); + + public static final IProperty TARJAN_ON_STACK = new Property<>("tarjan.onstack",false); + + public static final IProperty IS_FIXED = new Property<>("isFixed",false); + + public static final IProperty IS_PART_OF_CYCLE = new Property<>("partOfCycle",false); + + /** * Hidden default constructor. diff --git a/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/options/LayeringStrategy.java b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/options/LayeringStrategy.java index be5774efe8..afa84c8883 100644 --- a/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/options/LayeringStrategy.java +++ b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/options/LayeringStrategy.java @@ -73,12 +73,14 @@ public enum LayeringStrategy implements ILayoutPhaseFactory { + + /** Intermediate processing configuration. */ + private static final LayoutProcessorConfiguration INTERMEDIATE_PROCESSING_CONFIGURATION = + LayoutProcessorConfiguration.create() + .addAfter(LayeredPhases.P5_EDGE_ROUTING, IntermediateProcessorStrategy.REVERSED_EDGE_RESTORER); + + /** Set of source nodes. */ + private HashSet sources; + + /** Set of sink nodes. */ + private HashSet sinks; + + /** Indicates whether a given node was already visited during BFS. */ + private boolean[] visited; + + /** + * Queues the nodes for BFS. + */ + private Queue bfsQueue; + + /** The list of edges to be reversed at the end of our little algorithmic adventure. */ + private List edgesToBeReversed; + + + private int index; + protected List> stronglyConnectedComponents; + private Stack stack; + private HashMap nodeToSCCID; + + + @Override + public LayoutProcessorConfiguration getLayoutProcessorConfiguration(final LGraph graph) { + return INTERMEDIATE_PROCESSING_CONFIGURATION; + } + + @Override + public void process(final LGraph graph, final IElkProgressMonitor monitor) { + monitor.begin("Breadth-first cycle removal", 1); + + List nodes = graph.getLayerlessNodes(); + + // initialize values for the algorithm + bfsQueue = new LinkedList(); + sources = new HashSet<>(); + sinks = new HashSet<>(); + visited = new boolean[nodes.size()]; + edgesToBeReversed = new ArrayList<>(); + stronglyConnectedComponents = new LinkedList>(); + stack = new Stack(); + nodeToSCCID = new HashMap<>(); + + TARJAN(graph); + if (stronglyConnectedComponents.size() == 0) { + // Cleanup + this.sources = null; + this.visited = null; + this.bfsQueue = null; + this.edgesToBeReversed = null; + + monitor.done(); + return; + } + int index = 0; + for (LNode node : nodes) { + // The node id is used as index into our arrays + node.id = index; + if (Iterables.isEmpty(node.getIncomingEdges())) { + sources.add(node); + } + if (Iterables.isEmpty(node.getOutgoingEdges())) { + sinks.add(node); + } + index++; + } + + // Start BFS Search starting at each source sequentially. + for (LNode source : sources) { + + //sequential bfs + bfsQueue.add(source); + bfsLoop(); + + + //Simultaneous starting bfs + //bfs(source); + } + + bfsLoop(); + + // Start more BFS runs from the first node that has not been visited yet. This must be part of a cycle since it + // is not a source nodes + boolean changed = true; + while(changed) { + changed = false; + for (int i = 0; i < nodes.size(); i++) { + if (!visited[i]) { + LNode n = nodes.get(i); + assert n.id == i; + bfsQueue.add(n); + changed = true; + break; + } + } + bfsLoop(); + } + + + // Reverse "back edges" + for (LEdge edge : edgesToBeReversed) { + edge.reverse(graph, true); + graph.setProperty(InternalProperties.CYCLIC, true); + } + + // Cleanup + this.sources = null; + this.visited = null; + this.bfsQueue = null; + this.edgesToBeReversed = null; + + monitor.done(); + } + + private void bfsLoop() { + while(!bfsQueue.isEmpty()) { + bfs(bfsQueue.poll()); + } + } + + private void bfs(final LNode n) { + if (visited[n.id]) { + return; + } + this.visited[n.id] = true; + + HashMap> modelOrderMap = new HashMap>(); + + //Create a map of edges and the model order of the node they lead to + n.getOutgoingEdges().forEach(e -> { + if (e.getTarget().getNode().getProperty(InternalProperties.MODEL_ORDER) == null) { + modelOrderMap.put(Integer.MAX_VALUE - modelOrderMap.size(),new HashSet(){{add(e);}}); + } + else { + int targetModelOrder = e.getTarget().getNode().getProperty(InternalProperties.MODEL_ORDER); + if (modelOrderMap.containsKey(targetModelOrder)){ + modelOrderMap.get(targetModelOrder).add(e); + } + else { + modelOrderMap.put(targetModelOrder, new HashSet(){{add(e);}}); + } + } + }); + SortedSet modelOrderSet = new TreeSet<>(modelOrderMap.keySet()); + + for (int key: modelOrderSet) { + LEdge out = modelOrderMap.get(key).iterator().next(); + // for (LEdge out : n.getOutgoingEdges()) { + // Get the SCC of the source, or -1 if not part of a SCC + int source_SCC = nodeToSCCID.get(n) != null ? nodeToSCCID.get(n) : -1; + if(out.isSelfLoop()) { + continue; + } + LNode target = out.getTarget().getNode(); + // Get the SCC of the target, or -2 (force difference between source and target) if not part of a SCC + int target_SCC = nodeToSCCID.get(target) != null ? nodeToSCCID.get(target) : -2; + if (this.visited[target.id] && !sources.contains(n) && !sinks.contains(target) + //&& source_SCC == target_SCC + ) { + edgesToBeReversed.addAll(modelOrderMap.get(key)); + }else { + bfsQueue.add(target); + } + } + } + + private void TARJAN(final LGraph graph) { + index = 0; + stack = new Stack(); + for (LNode node : graph.getLayerlessNodes()) { + if (node.getProperty(InternalProperties.TARJAN_ID) == -1) { + stronglyConnected(node); + stack.clear(); + } + } + } + + private void stronglyConnected(final LNode v) { + v.setProperty(InternalProperties.TARJAN_ID, index); + v.setProperty(InternalProperties.TARJAN_LOWLINK, index); + index++; + stack.push(v); + v.setProperty(InternalProperties.TARJAN_ON_STACK, true); + for (LEdge edge : v.getConnectedEdges()) { + if (edge.getSource().getNode() != v && !edgesToBeReversed.contains(edge)) { + continue; + } + if (edge.getSource().getNode() == v && edgesToBeReversed.contains(edge)) { + continue; + } + LNode target = null; + if (edge.getTarget().getNode() == v) { + target = edge.getSource().getNode(); + } else { + target = edge.getTarget().getNode(); + } + if (target.getProperty(InternalProperties.TARJAN_ID) == -1) { + stronglyConnected(target); + v.setProperty(InternalProperties.TARJAN_LOWLINK, + Math.min(v.getProperty(InternalProperties.TARJAN_LOWLINK), + target.getProperty(InternalProperties.TARJAN_LOWLINK))); + } else if (target.getProperty(InternalProperties.TARJAN_ON_STACK)) { + v.setProperty(InternalProperties.TARJAN_LOWLINK, + Math.min(v.getProperty(InternalProperties.TARJAN_LOWLINK), + target.getProperty(InternalProperties.TARJAN_ID))); + } + } + if (v.getProperty(InternalProperties.TARJAN_LOWLINK) == v.getProperty(InternalProperties.TARJAN_ID)) { + Set sCC = new HashSet(); + LNode n = null; + do { + n = stack.pop(); + n.setProperty(InternalProperties.TARJAN_ON_STACK, false); + sCC.add(n); + } while (v != n); + if (sCC.size() >1) { + int index = stronglyConnectedComponents.size(); + stronglyConnectedComponents.add(sCC); + for (LNode node : sCC) { + nodeToSCCID.put(node, index); + } + } + } + } +} + diff --git a/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/DFSNodeOrderCycleBreaker.java b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/DFSNodeOrderCycleBreaker.java new file mode 100644 index 0000000000..1669d2b4a6 --- /dev/null +++ b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/DFSNodeOrderCycleBreaker.java @@ -0,0 +1,193 @@ +/******************************************************************************* + * Copyright (c) 2017, 2020 Kiel University and others. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * SPDX-License-Identifier: EPL-2.0 + *******************************************************************************/ +package org.eclipse.elk.alg.layered.p1cycles; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.SortedSet; +import java.util.TreeSet; +import java.util.stream.StreamSupport; + +import org.eclipse.elk.alg.layered.LayeredPhases; +import org.eclipse.elk.alg.layered.graph.LEdge; +import org.eclipse.elk.alg.layered.graph.LGraph; +import org.eclipse.elk.alg.layered.graph.LNode; +import org.eclipse.elk.alg.layered.intermediate.IntermediateProcessorStrategy; +import org.eclipse.elk.alg.layered.options.InternalProperties; +import org.eclipse.elk.alg.layered.options.LayeredOptions; +import org.eclipse.elk.core.alg.ILayoutPhase; +import org.eclipse.elk.core.alg.LayoutProcessorConfiguration; +import org.eclipse.elk.core.util.IElkProgressMonitor; + +import com.google.common.collect.Iterables; + +/** + * Cycle breaker implementation that uses a depth-first traversal of the graph. Described in + *
    + *
  • Emden R. Gansner, Eleftherios Koutsofios, Stephen C. North, Kiem-Phong Vo, A technique for drawing directed + * graphs. Software Engineering 19(3), pp. 214-230, 1993.
  • + *
+ * + *

+ * This cycle breaker does not support the {@link LayeredOptions#PRIORITY_DIRECTION} option that can be set on edges. + * Neither does it support layer constraints out of the box. If layer constraints should be observed, + * {@link org.eclipse.elk.alg.layered.intermediate.EdgeAndLayerConstraintEdgeReverser} and + * {@link org.eclipse.elk.alg.layered.intermediate.LayerConstraintProcessor} should be used. + *

+ * + *
+ *
Precondition:
+ *
an unlayered graph
+ *
Postcondition:
+ *
the graph has no cycles
+ *
+ * + * @see org.eclipse.elk.alg.layered.intermediate.EdgeAndLayerConstraintEdgeReverser + * @see org.eclipse.elk.alg.layered.intermediate.LayerConstraintProcessor + */ +public class DFSNodeOrderCycleBreaker implements ILayoutPhase { + + /** Intermediate processing configuration. */ + private static final LayoutProcessorConfiguration INTERMEDIATE_PROCESSING_CONFIGURATION = + LayoutProcessorConfiguration. create().addAfter(LayeredPhases.P5_EDGE_ROUTING, + IntermediateProcessorStrategy.REVERSED_EDGE_RESTORER); + + /** List of source nodes. */ + private List sources; + /** Indicates whether a given node was already visited during DFS. */ + private boolean[] visited; + /** + * A node is active during DFS if it is on our current DFS path. Any edge that leads back to an active node induces + * a cycle and needs to be reversed. + */ + private boolean[] active; + /** The list of edges to be reversed at the end of our little algorithmic adventure. */ + private List edgesToBeReversed; + private int debug_info_SameConnectons = 0; + + @Override + public LayoutProcessorConfiguration getLayoutProcessorConfiguration(final LGraph graph) { + return INTERMEDIATE_PROCESSING_CONFIGURATION; + } + + @Override + public void process(final LGraph graph, final IElkProgressMonitor monitor) { + monitor.begin("Depth-first cycle removal", 1); + List nodes = graph.getLayerlessNodes(); + + // initialize values for the algorithm + int nodeCount = nodes.size(); + + sources = new ArrayList<>(); + visited = new boolean[nodeCount]; + active = new boolean[nodeCount]; + edgesToBeReversed = new ArrayList<>(); + + int index = 0; + for (LNode node : nodes) { + // The node id is used as index into our arrays + node.id = index; + if (Iterables.isEmpty(node.getIncomingEdges())) { + sources.add(node); + } + index++; + } + + // From every source node start a DFS + for (LNode source : sources) { + dfs(source); + } + + // Start more DFS runs for all nodes that have not been visited yet. These must be part of a cycle since they + // are not source nodes + for (int i = 0; i < nodeCount; i++) { + if (!visited[i]) { + LNode n = nodes.get(i); + assert n.id == i; + dfs(n); + } + } + + // Reverse "back edges" + for (LEdge edge : edgesToBeReversed) { + edge.reverse(graph, true); + graph.setProperty(InternalProperties.CYCLIC, true); + } + + // Cleanup + this.sources = null; + this.visited = null; + this.active = null; + this.edgesToBeReversed = null; + + + monitor.done(); + } + + private void dfs(final LNode n) { + if (visited[n.id]) { + return; + } + + // We're now visiting the node, and it's active + this.visited[n.id] = true; + this.active[n.id] = true; + + HashMap> modelOrderMap = new HashMap>(); + + n.getOutgoingEdges().forEach(e -> { + if (e.getTarget().getNode().getProperty(InternalProperties.MODEL_ORDER) == null) { + modelOrderMap.put(Integer.MAX_VALUE - modelOrderMap.size(), new HashSet() { + { + add(e); + } + }); + } else { + int targetModelOrder = e.getTarget().getNode().getProperty(InternalProperties.MODEL_ORDER); + if (modelOrderMap.containsKey(targetModelOrder)) { + modelOrderMap.get(targetModelOrder).add(e); + } else { + modelOrderMap.put(targetModelOrder, new HashSet() { + { + add(e); + } + }); + } + } + }); + SortedSet modelOrderSet = new TreeSet<>(modelOrderMap.keySet()); + // for (LEdge out : n.getOutgoingEdges()) { + for (int key : modelOrderSet) { + LEdge out = modelOrderMap.get(key).iterator().next(); + // Ignore self loops + if (out.isSelfLoop()) { + continue; + } + + LNode target = out.getTarget().getNode(); + + // If the edge connects to an active node, we have found a path from said active node back to itself since + // active nodes are on our current path. That's a backward edge and needs to be reversed + if (this.active[target.id]) { + edgesToBeReversed.addAll(modelOrderMap.get(key)); + } else { + dfs(target); + } + } + + // We're leaving this node + this.active[n.id] = false; + } + +} diff --git a/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/GreedyModelOrderCycleBreaker.java b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/GreedyModelOrderCycleBreaker.java index 0aac2532ae..6f6a08dfa3 100644 --- a/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/GreedyModelOrderCycleBreaker.java +++ b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/GreedyModelOrderCycleBreaker.java @@ -9,17 +9,28 @@ *******************************************************************************/ package org.eclipse.elk.alg.layered.p1cycles; +import java.util.Arrays; +import java.util.Comparator; import java.util.List; import org.eclipse.elk.alg.layered.graph.LNode; import org.eclipse.elk.alg.layered.options.InternalProperties; +import org.eclipse.elk.alg.layered.options.LayeredOptions; /** * Greedy Cycle Breaker that behaves the same as {@link GreedyCycleBreaker} but does not randomly choose an edge to - * reverse if multiple candidates exist but does so by model order. + * reverse if multiple candidates exist but does so by model order. Now with Group Model Order. */ public final class GreedyModelOrderCycleBreaker extends GreedyCycleBreaker { + public static final int START_UP_GROUP_ID = 0; + public static final int REACTOR_GROUP_ID = 1; + public static final int ACTION_GROUP_ID = 2; + public static final int TIMER_GROUP_ID = 3; + public static final int REACTION_GROUP_ID = 4; + public static final int DUMMY_GROUP_ID = 5; + public static final int SHUT_DOWN_GROUP_ID = 6; + /** * Choose the node with the minimum model order. */ @@ -28,13 +39,19 @@ protected LNode chooseNodeWithMaxOutflow(final List nodes) { LNode returnNode = null; int minimumModelOrder = Integer.MAX_VALUE; for (LNode node : nodes) { - // In this step nodes without a model order are disregarded. - // One could of course think of a different strategy regarding this aspect. - // FUTURE WORK: If multiple model order groups exist, one has to chose based on the priority of the groups. - if (node.hasProperty(InternalProperties.MODEL_ORDER) - && node.getProperty(InternalProperties.MODEL_ORDER) < minimumModelOrder) { - minimumModelOrder = node.getProperty(InternalProperties.MODEL_ORDER); - returnNode = node; + if (node.hasProperty(InternalProperties.MODEL_ORDER)) { + if (returnNode == null || + (node.getProperty(InternalProperties.MODEL_ORDER) < minimumModelOrder && + GROUP_ORDER.compare(node, returnNode) <=0)|| + GROUP_ORDER.compare(node, returnNode) <0) { + minimumModelOrder = node.getProperty(InternalProperties.MODEL_ORDER); + returnNode = node; + } + } else if (returnNode != null) { + if (GROUP_ORDER.compare(node, returnNode) <0) { + minimumModelOrder = Integer.MAX_VALUE; + returnNode = node; + } } } if (returnNode == null) { @@ -43,4 +60,33 @@ protected LNode chooseNodeWithMaxOutflow(final List nodes) { return returnNode; } + /** + * Define a static order between different Groups. + */ + public static final Comparator GROUP_ORDER = + new Comparator() { + @Override + public int compare(LNode node1, LNode node2) { + assert(node1.hasProperty(LayeredOptions.CONSIDER_MODEL_ORDER_GROUP_I_D)); + assert(node2.hasProperty(LayeredOptions.CONSIDER_MODEL_ORDER_GROUP_I_D)); + int group1 = node1.getProperty(LayeredOptions.CONSIDER_MODEL_ORDER_GROUP_I_D); + int group2 = node2.getProperty(LayeredOptions.CONSIDER_MODEL_ORDER_GROUP_I_D); + if (group1 == group2) { + return 0; + } + List highestPriority = Arrays.asList(START_UP_GROUP_ID,TIMER_GROUP_ID); + if(highestPriority.contains(group1)) return -1; + if(highestPriority.contains(group2)) return 1; + if(group1 == SHUT_DOWN_GROUP_ID) return 1; + if(group2 == SHUT_DOWN_GROUP_ID) return -1; + if(group1 == REACTION_GROUP_ID) return -1; + if(group2 == REACTION_GROUP_ID) return 1; + if(group1 == REACTOR_GROUP_ID) return -1; + if(group2 == REACTOR_GROUP_ID) return 1; + if(group1 == ACTION_GROUP_ID) return -1; + if(group2 == ACTION_GROUP_ID) return 1; + assert(false); + return 0; + } + }; } diff --git a/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/ModelOrderLookAHeadCycleBreaker.java b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/ModelOrderLookAHeadCycleBreaker.java new file mode 100644 index 0000000000..aee44dd1fe --- /dev/null +++ b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/ModelOrderLookAHeadCycleBreaker.java @@ -0,0 +1,296 @@ +/******************************************************************************* + * Copyright (c) 2023 Sasuk and others. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * SPDX-License-Identifier: EPL-2.0 + *******************************************************************************/ +package org.eclipse.elk.alg.layered.p1cycles; + +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; +import java.util.Set; +import java.util.Stack; +import java.util.concurrent.ConcurrentLinkedQueue; + +import org.eclipse.elk.alg.layered.LayeredPhases; +import org.eclipse.elk.alg.layered.graph.LEdge; +import org.eclipse.elk.alg.layered.graph.LGraph; +import org.eclipse.elk.alg.layered.graph.LNode; +import org.eclipse.elk.alg.layered.graph.LPort; +import org.eclipse.elk.alg.layered.intermediate.IntermediateProcessorStrategy; +import org.eclipse.elk.alg.layered.options.InternalProperties; +import org.eclipse.elk.alg.layered.options.LayeredOptions; +import org.eclipse.elk.alg.layered.options.PortType; +import org.eclipse.elk.core.alg.ILayoutPhase; +import org.eclipse.elk.core.alg.LayoutProcessorConfiguration; +import org.eclipse.elk.core.util.IElkProgressMonitor; + +import com.google.common.collect.Lists; + +/** + * Cycle Breaking Strategy that looks further down the graph for nodes of the same type to reverse edges. + * Only works with Group Model Order. + * @author Mwr + * + */ +public class ModelOrderLookAHeadCycleBreaker implements ILayoutPhase{ + private int firstSeparateModelOrder; + private int lastSeparateModelOrder; + private Queue nextNodes; + private int index; + private LinkedList> stronglyConnectedComponents = new LinkedList>(); + private Stack stack = new Stack(); + private List revEdges = Lists.newArrayList(); + + /** intermediate processing configuration. */ + private static final LayoutProcessorConfiguration INTERMEDIATE_PROCESSING_CONFIGURATION = + LayoutProcessorConfiguration.create() + .addAfter(LayeredPhases.P5_EDGE_ROUTING, IntermediateProcessorStrategy.REVERSED_EDGE_RESTORER); + + @Override + public LayoutProcessorConfiguration getLayoutProcessorConfiguration(final LGraph graph) { + // TODO Auto-generated method stub + return INTERMEDIATE_PROCESSING_CONFIGURATION; + } + + + @Override + public void process(final LGraph layeredGraph, final IElkProgressMonitor monitor) { + monitor.begin("Model order cycle breaking", 1); + + // Reset FIRST_SEPARATE and LAST_SEPARATE counters. + firstSeparateModelOrder = 0; + lastSeparateModelOrder = 0; + + // gather edges that point to the wrong direction. + revEdges = Lists.newArrayList(); + + int currentTopMO = 0; + for (LNode node : layeredGraph.getLayerlessNodes()) { + if (node.hasProperty(InternalProperties.MODEL_ORDER)) { + currentTopMO = Math.max(currentTopMO, node.getProperty(InternalProperties.MODEL_ORDER) + 1); + } + } + //add fake "Model Order" so nodes without one can be dealt with. + for (LNode node : layeredGraph.getLayerlessNodes()) { + if (node.getProperty(InternalProperties.MODEL_ORDER) == null + && !node.toString().contains("external_port")) { + node.setProperty(InternalProperties.MODEL_ORDER, currentTopMO); + currentTopMO++; + } + } + + // create strongly connected components. + TARJAN(layeredGraph); + + // mark edges that are part of a cycle (within a SCC). + for (int i = 0; i < stronglyConnectedComponents.size(); i++) { + for (LNode n : stronglyConnectedComponents.get(i)) { + for (LEdge edge : n.getOutgoingEdges()) { + if (stronglyConnectedComponents.get(i).contains(edge.getTarget().getNode())) { + edge.setProperty(InternalProperties.IS_PART_OF_CYCLE, true); + } + } + } + } + stronglyConnectedComponents.clear(); + + + // One needs an offset to make sure that the model order of nodes with port constraints is + // always lower/higher than that of other nodes. + // E.g. A node with the LAST constraint needs to have a model order m = modelOrder + offset + // such that m > m(n) with m(n) being the model order of a normal node n (without constraints). + // Such that the highest model order has to be used as an offset + int offset = layeredGraph.getLayerlessNodes().size(); + for (LNode node : layeredGraph.getLayerlessNodes()) { + if (node.hasProperty(InternalProperties.MODEL_ORDER)) { + offset = Math.max(offset, node.getProperty(InternalProperties.MODEL_ORDER) + 1); + } + } + lookAhead(layeredGraph, offset); + + + + // reverse the gathered edges + for (LEdge edge : revEdges) { + edge.reverse(layeredGraph, false); + layeredGraph.setProperty(InternalProperties.CYCLIC, true); + } + revEdges.clear(); + monitor.done(); + } + + /** + * Looks Further down the graph and uses the skip sequential edges option with fallback edges. + * @param layeredGraph the graph + * @param offset the offset for working with Model Order + */ + private void lookAhead(final LGraph layeredGraph,final int offset) { + int modelOrderMask[] = {1,4}; + for (int i: modelOrderMask) { + for (LNode source : layeredGraph.getLayerlessNodes()) { + int groupID = source.getProperty(LayeredOptions.CONSIDER_MODEL_ORDER_GROUP_I_D); + if (groupID != i) { + continue; + } + int modelOrderSource = computeConstraintModelOrder(source, offset); + + + for (LPort port : source.getPorts(PortType.OUTPUT)) { + for (LEdge edge : port.getOutgoingEdges()) { + if (revEdges.contains(edge) || !edge.getProperty(InternalProperties.IS_PART_OF_CYCLE)) { + continue; + } + LNode target = edge.getTarget().getNode(); + int groupIDTarget = target.getProperty(LayeredOptions.CONSIDER_MODEL_ORDER_GROUP_I_D); + if (groupID == -1 || groupIDTarget == -1) { + continue; + } + if (groupIDTarget != groupID) { + nextNodes = new ConcurrentLinkedQueue(); + HashSet visited = new HashSet(); + HashSet toRev = new HashSet(); + visited.add(target); + toRev = getNextNodeWithGroupPriority(target, groupID, + offset, modelOrderSource, visited, source, edge, toRev); + revEdges.addAll(toRev); + + } else if (computeConstraintModelOrder(target, offset) <= modelOrderSource) { + revEdges.add(edge); + } else { + edge.setProperty(InternalProperties.IS_FIXED, true); + } + + } + } + } + } + } + + /** + * Search for the next Node with the same groupID of the source Node, using BFS. + * @param currentSource the current source node + * @param groupPriority the groupID of the source + * @param offset current offset of the modelOrder + * @param modelOrderOriginalSource the original source node + * @return true if the edge should be reversed + */ + private HashSet getNextNodeWithGroupPriority(final LNode currentSource, + final int groupPriority, final int offset, + final int modelOrderOriginalSource, final HashSet checked, final LNode originalSource, + final LEdge fallBackEdge, final HashSet toRev) { + for (LPort port : currentSource.getPorts(PortType.OUTPUT)) { + for (LEdge edge : port.getOutgoingEdges()) { + if (revEdges.contains(edge) || toRev.contains(edge) + || !edge.getProperty(InternalProperties.IS_PART_OF_CYCLE)) { + continue; + } + LNode target = edge.getTarget().getNode(); + int groupPriorityTarget = target.getProperty(LayeredOptions.CONSIDER_MODEL_ORDER_GROUP_I_D); + if (groupPriorityTarget == groupPriority) { + if (computeConstraintModelOrder(target, offset) <= modelOrderOriginalSource) { + if (edge.getProperty(InternalProperties.IS_FIXED)) { + toRev.clear(); + toRev.add(fallBackEdge); + return toRev; + } + toRev.add(edge); + } else { + edge.setProperty(InternalProperties.IS_FIXED, true); + } + } else if (!checked.contains(target)) { + nextNodes.add(target); + checked.add(target); + } + + } + } + if (!nextNodes.isEmpty()) { + getNextNodeWithGroupPriority(nextNodes.poll(), groupPriority, offset, modelOrderOriginalSource, checked, + originalSource, fallBackEdge, toRev); + } + return toRev; + } + + /** + * Set model order to a value such that the constraint is respected and the ordering between nodes with + * the same constraint is preserved. + * The order should be FIRST_SEPARATE < FIRST < NORMAL < LAST < LAST_SEPARATE. The offset is used to make sure the + * all nodes have unique model orders. + * @param node The LNode + * @param offset The offset between FIRST, FIRST_SEPARATE, NORMAL, LAST_SEPARATE, and LAST nodes for unique order + * @return A unique model order + */ + private int computeConstraintModelOrder(final LNode node, final int offset) { + int modelOrder = 0; + switch (node.getProperty(LayeredOptions.LAYERING_LAYER_CONSTRAINT)) { + case FIRST_SEPARATE: + modelOrder = 2 * -offset + firstSeparateModelOrder; + firstSeparateModelOrder++; + break; + case FIRST: + modelOrder = -offset; + break; + case LAST: + modelOrder = offset; + break; + case LAST_SEPARATE: + modelOrder = 2 * offset + lastSeparateModelOrder; + lastSeparateModelOrder++; + break; + default: + break; + } + if (node.hasProperty(InternalProperties.MODEL_ORDER)) { + modelOrder += node.getProperty(InternalProperties.MODEL_ORDER); + } + return modelOrder; + } + + private void TARJAN(final LGraph graph) { + index = 0; + stack = new Stack(); + for (LNode node : graph.getLayerlessNodes()) { + if (node.getProperty(InternalProperties.TARJAN_ID) == -1) { + stronglyConnected(node); + stack.clear(); + } + } + } + + private void stronglyConnected(final LNode v) { + v.setProperty(InternalProperties.TARJAN_ID, index); + v.setProperty(InternalProperties.TARJAN_LOWLINK, index); + index++; + stack.push(v); + v.setProperty(InternalProperties.TARJAN_ON_STACK, true); + for (LEdge edge : v.getOutgoingEdges()) { + LNode target = edge.getTarget().getNode(); + if (target.getProperty(InternalProperties.TARJAN_ID) == -1) { + stronglyConnected(target); + v.setProperty(InternalProperties.TARJAN_LOWLINK, + Math.min(v.getProperty(InternalProperties.TARJAN_LOWLINK), + target.getProperty(InternalProperties.TARJAN_LOWLINK))); + } else if (target.getProperty(InternalProperties.TARJAN_ON_STACK)) { + v.setProperty(InternalProperties.TARJAN_LOWLINK, + Math.min(v.getProperty(InternalProperties.TARJAN_LOWLINK), + target.getProperty(InternalProperties.TARJAN_ID))); + } + } + if (v.getProperty(InternalProperties.TARJAN_LOWLINK) == v.getProperty(InternalProperties.TARJAN_ID)) { + Set sCC = new HashSet(); + LNode n = null; + do { + n = stack.pop(); + n.setProperty(InternalProperties.TARJAN_ON_STACK, false); + sCC.add(n); + } while (v != n); + stronglyConnectedComponents.add(sCC); + } + } +} \ No newline at end of file diff --git a/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/SCCConectivity.java b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/SCCConectivity.java new file mode 100644 index 0000000000..1d4fa95879 --- /dev/null +++ b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/SCCConectivity.java @@ -0,0 +1,85 @@ +/******************************************************************************* + * Copyright (c) 2024 Sasuk and others. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * SPDX-License-Identifier: EPL-2.0 + *******************************************************************************/ +package org.eclipse.elk.alg.layered.p1cycles; + +import java.util.Collection; +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; + +import org.eclipse.elk.alg.layered.graph.LEdge; +import org.eclipse.elk.alg.layered.graph.LNode; +import org.eclipse.elk.alg.layered.options.LayeredOptions; + +import com.google.common.collect.Iterables; + +/** + * Based on the SCCModelOrderCycleBreaker. This finds the nodes with minimum and maximum model order and reverses the + * incoming nodes of the minimum, if its the in-degree is greater than the out-degree of the maximum node. Else it + * reverses the out-going edges of the maximum node. + * @author Mwr + * + */ +public class SCCConectivity extends SCCModelOrderCycleBreaker { + + @Override + public void findNodes(int offset) { + for (int i = 0; i < stronglyConnectedComponents.size(); i++) { + if (stronglyConnectedComponents.get(i).size() <= 1) { + continue; + } + LNode min = null; + LNode max = null; + int modelOrderMin = Integer.MAX_VALUE; + int modelOrderMax = Integer.MIN_VALUE; + for (LNode n : stronglyConnectedComponents.get(i)) { + List layermask = new LinkedList(); + layermask.add(1); + layermask.add(4); + int groupID = n.getProperty(LayeredOptions.CONSIDER_MODEL_ORDER_GROUP_I_D); + if (!layermask.contains(groupID)) { + continue; + } + if (min == null || max == null) { + min = n; + modelOrderMin = computeConstraintModelOrder(n,offset); + max = n; + modelOrderMax = modelOrderMin; + continue; + } + int modelOrderCurrent = computeConstraintModelOrder(n, offset); + if (modelOrderMin > modelOrderCurrent) { + min = n; + modelOrderMin = modelOrderCurrent; + } + else if(modelOrderMax < modelOrderCurrent) { + max = n; + modelOrderMax = modelOrderCurrent; + } + } + if (min != null && max != null) { + if (Iterables.size(min.getIncomingEdges()) > + Iterables.size(max.getOutgoingEdges())) { + for (LEdge edge : min.getIncomingEdges()) { + if (stronglyConnectedComponents.get(i).contains(edge.getSource().getNode())) { + revEdges.add(edge); + } + } + } else { + for (LEdge edge : max.getOutgoingEdges()) { + if (stronglyConnectedComponents.get(i).contains(edge.getTarget().getNode())) { + revEdges.add(edge); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/SCCLowestModelOrderCycleBreaker.java b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/SCCLowestModelOrderCycleBreaker.java new file mode 100644 index 0000000000..5c9f20b0bb --- /dev/null +++ b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/SCCLowestModelOrderCycleBreaker.java @@ -0,0 +1,82 @@ +/******************************************************************************* + * Copyright (c) 2023 mwr and others. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * SPDX-License-Identifier: EPL-2.0 + *******************************************************************************/ +package org.eclipse.elk.alg.layered.p1cycles; + +import java.util.Arrays; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; +import java.util.Set; +import java.util.Stack; + +import org.eclipse.elk.alg.layered.LayeredPhases; +import org.eclipse.elk.alg.layered.graph.LEdge; +import org.eclipse.elk.alg.layered.graph.LGraph; +import org.eclipse.elk.alg.layered.graph.LNode; +import org.eclipse.elk.alg.layered.intermediate.IntermediateProcessorStrategy; +import org.eclipse.elk.alg.layered.options.InternalProperties; +import org.eclipse.elk.alg.layered.options.LayeredOptions; +import org.eclipse.elk.core.alg.ILayoutPhase; +import org.eclipse.elk.core.alg.LayoutProcessorConfiguration; +import org.eclipse.elk.core.util.IElkProgressMonitor; + +import com.google.common.collect.Lists; + +/** + * This Cycle Breaking Strategy extends the SCCModelOrderCycleBreaker, however instead of reversing all outgoing edges + * of the node with the highest model order, it reverses all incoming edges of the node with the lowest model order. + * @author mwr + * + */ +public class SCCLowestModelOrderCycleBreaker extends SCCModelOrderCycleBreaker { + + @Override + public void findNodes(int offset) { + // lowest model order only outgoing + for (int i = 0; i < stronglyConnectedComponents.size(); i++) { + if (stronglyConnectedComponents.get(i).size() <= 1) { + continue; + } + LNode min = null; + int modelOrderMin = Integer.MAX_VALUE; + for (LNode n : stronglyConnectedComponents.get(i)) { + List layermask = new LinkedList(); + layermask.add(1); + layermask.add(4); + int groupID = n.getProperty(LayeredOptions.CONSIDER_MODEL_ORDER_GROUP_I_D); + if (!layermask.contains(groupID)) { + continue; + } + if (min == null) { + min = n; + modelOrderMin = computeConstraintModelOrder(n,offset); + continue; + } + int modelOrderCurrent = computeConstraintModelOrder(n, offset); + if (modelOrderMin > modelOrderCurrent) { + min = n; + modelOrderMin = modelOrderCurrent; + } + } + System.out.println("MIN:" + min.toString() + + "MODEL ORDER: " + modelOrderMin + "Of SCC: " + i); + if (min != null) { + for (LEdge edge : min.getIncomingEdges()) { + if (stronglyConnectedComponents.get(i).contains(edge.getSource().getNode())) { + revEdges.add(edge); + System.out.println("Reversed: " + edge.toString()); + } + + } + } + } + } +} \ No newline at end of file diff --git a/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/SCCModelOrderCycleBreaker.java b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/SCCModelOrderCycleBreaker.java new file mode 100644 index 0000000000..065157d5a4 --- /dev/null +++ b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/SCCModelOrderCycleBreaker.java @@ -0,0 +1,245 @@ +/******************************************************************************* + * Copyright (c) 2023 mwr and others. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * SPDX-License-Identifier: EPL-2.0 + *******************************************************************************/ +package org.eclipse.elk.alg.layered.p1cycles; + +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Set; +import java.util.Stack; + +import org.eclipse.elk.alg.layered.LayeredPhases; +import org.eclipse.elk.alg.layered.graph.LEdge; +import org.eclipse.elk.alg.layered.graph.LGraph; +import org.eclipse.elk.alg.layered.graph.LNode; +import org.eclipse.elk.alg.layered.intermediate.IntermediateProcessorStrategy; +import org.eclipse.elk.alg.layered.options.InternalProperties; +import org.eclipse.elk.alg.layered.options.LayeredOptions; +import org.eclipse.elk.core.alg.ILayoutPhase; +import org.eclipse.elk.core.alg.LayoutProcessorConfiguration; +import org.eclipse.elk.core.util.IElkProgressMonitor; + +import com.google.common.collect.Lists; + +/** + * This Cycle Breaking Strategy relies on Tarjan's algorithm to find strongly connected components. + * It than selects the node with the maximum model order in the strongly connected components and reverses its out-going + * edges to nodes in the strongly connected component. + * @author mwr + * + */ +public class SCCModelOrderCycleBreaker implements ILayoutPhase { + + private int firstSeparateModelOrder; + private int lastSeparateModelOrder; + private int index; + protected List> stronglyConnectedComponents = new LinkedList>(); + private Stack stack = new Stack(); + protected List revEdges = Lists.newArrayList(); + + /** intermediate processing configuration. */ + private static final LayoutProcessorConfiguration INTERMEDIATE_PROCESSING_CONFIGURATION = + LayoutProcessorConfiguration.create() + .addAfter(LayeredPhases.P5_EDGE_ROUTING, IntermediateProcessorStrategy.REVERSED_EDGE_RESTORER); + + @Override + public LayoutProcessorConfiguration getLayoutProcessorConfiguration(final LGraph graph) { + // TODO Auto-generated method stub + return INTERMEDIATE_PROCESSING_CONFIGURATION; + } + + + @Override + public void process(final LGraph layeredGraph, final IElkProgressMonitor monitor) { + monitor.begin("Model order cycle breaking", 1); + + // Reset FIRST_SEPARATE and LAST_SEPARATE counters. + firstSeparateModelOrder = 0; + lastSeparateModelOrder = 0; + + // gather edges that point to the wrong direction + revEdges = Lists.newArrayList(); + + // One needs an offset to make sure that the model order of nodes with port constraints is + // always lower/higher than that of other nodes. + // E.g. A node with the LAST constraint needs to have a model order m = modelOrder + offset + // such that m > m(n) with m(n) being the model order of a normal node n (without constraints). + // Such that the highest model order has to be used as an offset + int offset = layeredGraph.getLayerlessNodes().size(); + for (LNode node : layeredGraph.getLayerlessNodes()) { + if (node.hasProperty(InternalProperties.MODEL_ORDER)) { + offset = Math.max(offset, node.getProperty(InternalProperties.MODEL_ORDER) + 1); + } + } + + while (true) { + resetTARJAN(layeredGraph); + TARJAN(layeredGraph); + + // If no Strongly connected components remain, the graph is acyclic. + if (stronglyConnectedComponents.size() == 0) { + break; + } + + // highest model order only incoming + findNodes(offset); + + // reverse the gathered edges + for (LEdge edge : revEdges) { + edge.reverse(layeredGraph, false); + edge.getSource().getNode().setProperty(LayeredOptions.LAYERING_LAYER_ID, + edge.getSource().getNode().getProperty(LayeredOptions.LAYERING_LAYER_ID) + 1); + layeredGraph.setProperty(InternalProperties.CYCLIC, true); + } + + stronglyConnectedComponents.clear(); + revEdges.clear(); + } + + monitor.done(); + monitor.log("Execution Time: " + monitor.getExecutionTime()); + } + + public void findNodes(int offset) { + for (int i = 0; i < stronglyConnectedComponents.size(); i++) { + LNode max = null; + int maxModelOrder = Integer.MIN_VALUE; + for (LNode n : stronglyConnectedComponents.get(i)) { + List groupmask = new LinkedList(); + groupmask.add(1); + groupmask.add(4); + int groupID = n.getProperty(LayeredOptions.CONSIDER_MODEL_ORDER_GROUP_I_D); + if (!groupmask.contains(groupID)) { + continue; + } + if (max == null) { + max = n; + maxModelOrder = computeConstraintModelOrder(n, offset); + continue; + } + int modelOrderCurrent = computeConstraintModelOrder(n, offset); + if (maxModelOrder < modelOrderCurrent ) { + max = n; + maxModelOrder = modelOrderCurrent; + } + } + for (LEdge edge : max.getOutgoingEdges()) { + if (stronglyConnectedComponents.get(i).contains(edge.getTarget().getNode())) { + revEdges.add(edge); + } + + } + } + } + + + + /** + * Set model order to a value such that the constraint is respected and the ordering between nodes with + * the same constraint is preserved. + * The order should be FIRST_SEPARATE < FIRST < NORMAL < LAST < LAST_SEPARATE. The offset is used to make sure the + * all nodes have unique model orders. + * @param node The LNode + * @param offset The offset between FIRST, FIRST_SEPARATE, NORMAL, LAST_SEPARATE, and LAST nodes for unique order + * @return A unique model order + */ + protected int computeConstraintModelOrder(final LNode node, final int offset) { + int modelOrder = 0; + switch (node.getProperty(LayeredOptions.LAYERING_LAYER_CONSTRAINT)) { + case FIRST_SEPARATE: + modelOrder = 2 * -offset + firstSeparateModelOrder; + firstSeparateModelOrder++; + break; + case FIRST: + modelOrder = -offset; + break; + case LAST: + modelOrder = offset; + break; + case LAST_SEPARATE: + modelOrder = 2 * offset + lastSeparateModelOrder; + lastSeparateModelOrder++; + break; + default: + break; + } + if (node.hasProperty(InternalProperties.MODEL_ORDER)) { + modelOrder += node.getProperty(InternalProperties.MODEL_ORDER); + } + return modelOrder; + } + + private void TARJAN(final LGraph graph) { + index = 0; + stack = new Stack(); + for (LNode node : graph.getLayerlessNodes()) { + if (node.getProperty(InternalProperties.TARJAN_ID) == -1) { + stronglyConnected(node); + stack.clear(); + } + } + } + + private void stronglyConnected(final LNode v) { + v.setProperty(InternalProperties.TARJAN_ID, index); + v.setProperty(InternalProperties.TARJAN_LOWLINK, index); + index++; + stack.push(v); + v.setProperty(InternalProperties.TARJAN_ON_STACK, true); + for (LEdge edge : v.getConnectedEdges()) { + if (edge.getSource().getNode() != v && !revEdges.contains(edge)) { + continue; + } + if (edge.getSource().getNode() == v && revEdges.contains(edge)) { + continue; + } + LNode target = null; + if (edge.getTarget().getNode() == v) { + target = edge.getSource().getNode(); + } else { + target = edge.getTarget().getNode(); + } + if (target.getProperty(InternalProperties.TARJAN_ID) == -1) { + stronglyConnected(target); + v.setProperty(InternalProperties.TARJAN_LOWLINK, + Math.min(v.getProperty(InternalProperties.TARJAN_LOWLINK), + target.getProperty(InternalProperties.TARJAN_LOWLINK))); + } else if (target.getProperty(InternalProperties.TARJAN_ON_STACK)) { + v.setProperty(InternalProperties.TARJAN_LOWLINK, + Math.min(v.getProperty(InternalProperties.TARJAN_LOWLINK), + target.getProperty(InternalProperties.TARJAN_ID))); + } + } + if (v.getProperty(InternalProperties.TARJAN_LOWLINK) == v.getProperty(InternalProperties.TARJAN_ID)) { + Set sCC = new HashSet(); + LNode n = null; + do { + n = stack.pop(); + n.setProperty(InternalProperties.TARJAN_ON_STACK, false); + sCC.add(n); + } while (v != n); + if (sCC.size() > 1) { + stronglyConnectedComponents.add(sCC); + } + } + } + + private void resetTARJAN(final LGraph graph) { + for (LNode n : graph.getLayerlessNodes()) { + n.setProperty(InternalProperties.TARJAN_ON_STACK, false); + n.setProperty(InternalProperties.TARJAN_LOWLINK, -1); + n.setProperty(InternalProperties.TARJAN_ID, -1); + stack.clear(); + for (LEdge e : n.getConnectedEdges()) { + e.setProperty(InternalProperties.IS_PART_OF_CYCLE, false); + } + } + } +} \ No newline at end of file diff --git a/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/SCCNodeTypeCycleBreaker.java b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/SCCNodeTypeCycleBreaker.java new file mode 100644 index 0000000000..4dce5eaf07 --- /dev/null +++ b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/SCCNodeTypeCycleBreaker.java @@ -0,0 +1,90 @@ +/******************************************************************************* + * Copyright (c) 2023 Sasuk and others. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * SPDX-License-Identifier: EPL-2.0 + *******************************************************************************/ +package org.eclipse.elk.alg.layered.p1cycles; + +import java.util.LinkedList; +import java.util.List; + +import org.eclipse.elk.alg.layered.graph.LEdge; +import org.eclipse.elk.alg.layered.graph.LNode; +import org.eclipse.elk.alg.layered.options.InternalProperties; +import org.eclipse.elk.alg.layered.options.LayeredOptions; + +/** + * This Cycle Breaking Strategy extends the SCCModelOrderCycleBreaker. The preferred node type for the minimum or + * maximum node can be defined. + * @author mwr + * + */ +public class SCCNodeTypeCycleBreaker extends SCCModelOrderCycleBreaker { + + @Override + public void findNodes(int offset) { + // lowest model order only outgoing + for (int i = 0; i < stronglyConnectedComponents.size(); i++) { + if (stronglyConnectedComponents.get(i).size() <= 1) { + continue; + } + LNode min = null; + int modelOrderMin = Integer.MAX_VALUE; + + LNode max = null; + int modelOrderMax = Integer.MIN_VALUE; + for (LNode n : stronglyConnectedComponents.get(i)) { + List layermask = new LinkedList(); + layermask.add(1); + layermask.add(4); + int groupID = n.getProperty(LayeredOptions.CONSIDER_MODEL_ORDER_GROUP_I_D); + if (!layermask.contains(groupID)) { + continue; + } + if (min == null && max == null) { + min = n; + modelOrderMin = computeConstraintModelOrder(n,offset); + + max = n; + modelOrderMax = computeConstraintModelOrder(n,offset); + continue; + } + int modelOrderCurrent = computeConstraintModelOrder(n, offset); + if (modelOrderMin > modelOrderCurrent) { + min = n; + modelOrderMin = modelOrderCurrent; + } + else if (modelOrderMax < modelOrderCurrent) { + max = n; + modelOrderMax = modelOrderCurrent; + } + } + if (min != null) { + if (min.getProperty(LayeredOptions.CONSIDER_MODEL_ORDER_GROUP_I_D) == 1) { + for (LEdge edge : min.getIncomingEdges()) { + if (stronglyConnectedComponents.get(i).contains(edge.getSource().getNode())) { + if(edge.getTarget().getNode().hasProperty(LayeredOptions.LAYERING_LAYER_CONSTRAINT)) { + continue; + } + revEdges.add(edge); + } + } + } + else { + for (LEdge edge : max.getIncomingEdges()) { + if (stronglyConnectedComponents.get(i).contains(edge.getSource().getNode())) { + if(edge.getTarget().getNode().hasProperty(LayeredOptions.LAYERING_LAYER_CONSTRAINT)) { + continue; + } + revEdges.add(edge); + } + } + } + } + } + } +} diff --git a/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/StrictGroupOrderCycleBreaker.java b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/StrictGroupOrderCycleBreaker.java new file mode 100644 index 0000000000..4463005222 --- /dev/null +++ b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/StrictGroupOrderCycleBreaker.java @@ -0,0 +1,145 @@ +/******************************************************************************* + * Copyright (c) 2023 mwr and others. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * SPDX-License-Identifier: EPL-2.0 + *******************************************************************************/ +package org.eclipse.elk.alg.layered.p1cycles; + +import java.util.List; + +import org.eclipse.elk.alg.layered.LayeredPhases; +import org.eclipse.elk.alg.layered.graph.LEdge; +import org.eclipse.elk.alg.layered.graph.LGraph; +import org.eclipse.elk.alg.layered.graph.LNode; +import org.eclipse.elk.alg.layered.graph.LPort; +import org.eclipse.elk.alg.layered.intermediate.IntermediateProcessorStrategy; +import org.eclipse.elk.alg.layered.options.InternalProperties; +import org.eclipse.elk.alg.layered.options.LayeredOptions; +import org.eclipse.elk.alg.layered.options.PortType; +import org.eclipse.elk.core.alg.ILayoutPhase; +import org.eclipse.elk.core.alg.LayoutProcessorConfiguration; +import org.eclipse.elk.core.util.IElkProgressMonitor; + +import com.google.common.collect.Lists; + +/** + * This simplistic approach for the Group Model Order problem is based on the Model Order Cycle Breaker. + * It uses the GroupID to decide edge reversals between different node-types. For connections within the same type of + * nodes it uses the normal Model Order Cycle breaker approach. + * NOTICE: For languages that alternate frequently between different nodes (e.g. LinguaFranca) this approach degrades + * into simply using the GroupID without the influence of Model Order. + * @author mwr + * + */ +public class StrictGroupOrderCycleBreaker implements ILayoutPhase { + + private int firstSeparateModelOrder; + private int lastSeparateModelOrder; + + /** intermediate processing configuration. */ + private static final LayoutProcessorConfiguration INTERMEDIATE_PROCESSING_CONFIGURATION = + LayoutProcessorConfiguration.create() + .addAfter(LayeredPhases.P5_EDGE_ROUTING, IntermediateProcessorStrategy.REVERSED_EDGE_RESTORER); + + @Override + public LayoutProcessorConfiguration getLayoutProcessorConfiguration(final LGraph graph) { + return INTERMEDIATE_PROCESSING_CONFIGURATION; + } + + @Override + public void process(final LGraph layeredGraph, final IElkProgressMonitor monitor) { + monitor.begin("Model order cycle breaking", 1); + + // Reset FIRST_SEPARATE and LAST_SEPARATE counters. + firstSeparateModelOrder = 0; + lastSeparateModelOrder = 0; + + // gather edges that point to the wrong direction + List revEdges = Lists.newArrayList(); + + // One needs an offset to make sure that the model order of nodes with port constraints is + // always lower/higher than that of other nodes. + // E.g. A node with the LAST constraint needs to have a model order m = modelOrder + offset + // such that m > m(n) with m(n) being the model order of a normal node n (without constraints). + // Such that the highest model order has to be used as an offset + int offset = layeredGraph.getLayerlessNodes().size(); + for (LNode node : layeredGraph.getLayerlessNodes()) { + if (node.hasProperty(InternalProperties.MODEL_ORDER)) { + offset = Math.max(offset, node.getProperty(InternalProperties.MODEL_ORDER) + 1); + } + } + + final int offset_final = offset; + + for (LNode source : layeredGraph.getLayerlessNodes()) { + int modelOrderSource = computeConstraintModelOrder(source, offset); + int groupIDSource = source.getProperty(LayeredOptions.CONSIDER_MODEL_ORDER_GROUP_I_D); + + source.getOutgoingEdges().forEach(edge -> { + LNode target = edge.getTarget().getNode(); + int groupIDTarget = target.getProperty(LayeredOptions.CONSIDER_MODEL_ORDER_GROUP_I_D); + int modelOrderTarget = computeConstraintModelOrder(target, offset_final); + // Nodes with -1 as GroupID are external ports, which are never part of a cycle. + if (groupIDTarget == -1 || groupIDSource == -1) { + return; + } + // If groups do not match, use groupID to reverse + if (groupIDTarget < groupIDSource) { + revEdges.add(edge); + } + // If the groups match use the Model Order + else if (modelOrderTarget < modelOrderSource && groupIDTarget == groupIDSource) { + revEdges.add(edge); + } + }); + } + + // reverse the gathered edges + for (LEdge edge : revEdges) { + edge.reverse(layeredGraph, true); + layeredGraph.setProperty(InternalProperties.CYCLIC, true); + } + revEdges.clear(); + monitor.done(); + } + + /** + * Set model order to a value such that the constraint is respected and the ordering between nodes with + * the same constraint is preserved. + * The order should be FIRST_SEPARATE < FIRST < NORMAL < LAST < LAST_SEPARATE. The offset is used to make sure the + * all nodes have unique model orders. + * @param node The LNode + * @param offset The offset between FIRST, FIRST_SEPARATE, NORMAL, LAST_SEPARATE, and LAST nodes for unique order + * @return A unique model order + */ + private int computeConstraintModelOrder(final LNode node, final int offset) { + int modelOrder = 0; + switch (node.getProperty(LayeredOptions.LAYERING_LAYER_CONSTRAINT)) { + case FIRST_SEPARATE: + modelOrder = 2 * -offset + firstSeparateModelOrder; + firstSeparateModelOrder++; + break; + case FIRST: + modelOrder = -offset; + break; + case LAST: + modelOrder = offset; + break; + case LAST_SEPARATE: + modelOrder = 2 * offset + lastSeparateModelOrder; + lastSeparateModelOrder++; + break; + default: + break; + } + if (node.hasProperty(InternalProperties.MODEL_ORDER)) { + modelOrder += node.getProperty(InternalProperties.MODEL_ORDER); + } + return modelOrder; + } + +} diff --git a/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p2layers/DepthFirstModelOrderLayerer.java b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p2layers/DepthFirstModelOrderLayerer.java index 9681ea9456..5ae7f37317 100644 --- a/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p2layers/DepthFirstModelOrderLayerer.java +++ b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p2layers/DepthFirstModelOrderLayerer.java @@ -71,6 +71,12 @@ public final class DepthFirstModelOrderLayerer implements ILayoutPhase nodesToPlace; + /** + * Saves the maximum layer the nodes that still have to be assigned to a layer will be placed in. + * This is necessary to determine the actual offset of the nodes to place. + */ + private int maxToPlace = 0; + @Override public LayoutProcessorConfiguration getLayoutProcessorConfiguration(final LGraph graph) { return BASELINE_PROCESSING_CONFIGURATION; @@ -123,6 +129,9 @@ public void process(final LGraph thelayeredGraph, final IElkProgressMonitor moni if (!nodesToPlace.isEmpty()) { if (layerDiff > 0) { // Case some dependency to the existing graph was found add all nodes to their layers. + for (LNode toPlace : nodesToPlace) { + toPlace.id += maxLayer - maxToPlace; + } placeNodesToPlace(); // Remove all nodes since they are now placed correctly. nodesToPlace.clear(); @@ -131,6 +140,7 @@ public void process(final LGraph thelayeredGraph, final IElkProgressMonitor moni // Case nodes cannot be placed without the need to move them later. nodesToPlace.add(node); node.id = desiredLayer; + maxToPlace = Math.max(maxToPlace, desiredLayer); // Add dummy nodes and give them their desired layer id. for (LEdge edge : node.getIncomingEdges()) { if (edge.getSource().getNode().getLayer() == null @@ -161,6 +171,7 @@ public void process(final LGraph thelayeredGraph, final IElkProgressMonitor moni // Case no incoming connections, save the node to be placed. nodesToPlace.add(node); node.id = 0; // Save the layer the node will be placed in. + maxToPlace = Math.max(maxToPlace, 0); currentLayer = layeredGraph.getLayers().get(0); currentLayerId = 0; @@ -209,7 +220,7 @@ private boolean isConnectedToCurrentLayer(final LNode node) { boolean connectedViaLabelDummy; if (nodesToPlace.isEmpty()) { // Case the node to check already has a layer. - // TODO this may case an NPE if getLayer is null; + // This may case an NPE if getLayer is null; directlyConnected = edge.getSource().getNode().getType() == NodeType.NORMAL && edge.getSource().getNode().getLayer() != null && edge.getSource().getNode().getLayer().id == currentLayerId; @@ -289,6 +300,7 @@ private int getMaxConnectedLayer(final int layerId, final LNode node) { * Places the nodes to place in their desired layer. */ public void placeNodesToPlace() { + maxToPlace = 0; for (LNode nodeToPlace : nodesToPlace) { if (nodeToPlace.id >= layeredGraph.getLayers().size()) { // Add a normal and a dummy layer. diff --git a/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p3order/ModelOrderBarycenterHeuristic.java b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p3order/ModelOrderBarycenterHeuristic.java index f70fa6577d..cfe2128dc0 100644 --- a/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p3order/ModelOrderBarycenterHeuristic.java +++ b/plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p3order/ModelOrderBarycenterHeuristic.java @@ -58,7 +58,14 @@ public ModelOrderBarycenterHeuristic(final ForsterConstraintResolver constraintR return transitiveComparison; } if (n1.hasProperty(InternalProperties.MODEL_ORDER) - && n2.hasProperty(InternalProperties.MODEL_ORDER)) { + && n2.hasProperty(InternalProperties.MODEL_ORDER) + // Only use model order within the same group + && n1.getProperty(LayeredOptions.CONSIDER_MODEL_ORDER_GROUP_I_D) == + n2.getProperty(LayeredOptions.CONSIDER_MODEL_ORDER_GROUP_I_D) + // only use model order for group 4 (reactions) + //&& n1.getProperty(LayeredOptions.CONSIDER_MODEL_ORDER_GROUP_I_D) == 4 + //&& n2.getProperty(LayeredOptions.CONSIDER_MODEL_ORDER_GROUP_I_D) == 4 + ) { int value = Integer.compare(n1.getProperty(InternalProperties.MODEL_ORDER), n2.getProperty(InternalProperties.MODEL_ORDER)); if (value < 0) { diff --git a/plugins/org.eclipse.elk.alg.mrtree/.classpath b/plugins/org.eclipse.elk.alg.mrtree/.classpath index f0c5549859..ad5e13cce7 100644 --- a/plugins/org.eclipse.elk.alg.mrtree/.classpath +++ b/plugins/org.eclipse.elk.alg.mrtree/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/org.eclipse.elk.alg.mrtree/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.elk.alg.mrtree/.settings/org.eclipse.jdt.core.prefs index 5ed2aebf75..e3ca4e0d0c 100644 --- a/plugins/org.eclipse.elk.alg.mrtree/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.elk.alg.mrtree/.settings/org.eclipse.jdt.core.prefs @@ -8,9 +8,17 @@ org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +<<<<<<< HEAD org.eclipse.jdt.core.compiler.source=1.8 +======= +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 +>>>>>>> parent of f5a08b471 (Revert "Purged Java 1.8 from setup and classpath and manifests.") org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 @@ -18,17 +26,20 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=16 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 @@ -114,11 +125,12 @@ org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert @@ -149,6 +161,8 @@ org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert @@ -173,13 +187,17 @@ org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert @@ -227,6 +245,8 @@ org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do no org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert @@ -263,9 +283,12 @@ org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not inser org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert @@ -291,7 +314,11 @@ org.eclipse.jdt.core.formatter.tabulation.char=space org.eclipse.jdt.core.formatter.tabulation.size=4 org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true +org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true +org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true +org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/plugins/org.eclipse.elk.alg.mrtree/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.alg.mrtree/META-INF/MANIFEST.MF index 6a6d3f8597..7e52d75fde 100644 --- a/plugins/org.eclipse.elk.alg.mrtree/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.alg.mrtree/META-INF/MANIFEST.MF @@ -5,7 +5,7 @@ Bundle-Name: ELK Mr. Tree Layout Algorithm Bundle-SymbolicName: org.eclipse.elk.alg.mrtree;singleton:=true Bundle-Version: 0.9.0.qualifier Bundle-Vendor: Eclipse Modeling Project -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: org.eclipse.elk.alg.common, org.eclipse.elk.core, org.eclipse.elk.graph, diff --git a/plugins/org.eclipse.elk.alg.radial/.classpath b/plugins/org.eclipse.elk.alg.radial/.classpath index f0c5549859..ad5e13cce7 100644 --- a/plugins/org.eclipse.elk.alg.radial/.classpath +++ b/plugins/org.eclipse.elk.alg.radial/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/org.eclipse.elk.alg.radial/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.alg.radial/META-INF/MANIFEST.MF index a28cfdebae..f68b1bc6b7 100644 --- a/plugins/org.eclipse.elk.alg.radial/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.alg.radial/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: ELK Radial Layout Algorithm Bundle-SymbolicName: org.eclipse.elk.alg.radial;singleton:=true Bundle-Version: 0.9.0.qualifier -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: com.google.guava, org.eclipse.elk.core, org.eclipse.elk.graph, diff --git a/plugins/org.eclipse.elk.alg.radial/src/org/eclipse/elk/alg/radial/intermediate/compaction/AbstractRadiusExtensionCompaction.java b/plugins/org.eclipse.elk.alg.radial/src/org/eclipse/elk/alg/radial/intermediate/compaction/AbstractRadiusExtensionCompaction.java index ee84ded9c7..6723ec5cf5 100644 --- a/plugins/org.eclipse.elk.alg.radial/src/org/eclipse/elk/alg/radial/intermediate/compaction/AbstractRadiusExtensionCompaction.java +++ b/plugins/org.eclipse.elk.alg.radial/src/org/eclipse/elk/alg/radial/intermediate/compaction/AbstractRadiusExtensionCompaction.java @@ -130,10 +130,10 @@ public boolean overlap(final ElkNode node1, final ElkNode node2) { double y1 = node1.getY() - spacing / 2; double y2 = node2.getY() - spacing / 2; - double width1 = node1.getWidth() + spacing / 2; - double width2 = node2.getWidth() + spacing / 2; - double height1 = node1.getHeight() + spacing / 2; - double height2 = node2.getHeight() + spacing / 2; + double width1 = node1.getWidth() + spacing; + double width2 = node2.getWidth() + spacing; + double height1 = node1.getHeight() + spacing; + double height2 = node2.getHeight() + spacing; if ((x1 < x2 + width2 && x2 < x1) && (y1 < y2 + height2 && y2 < y1)) { // left upper and right lower corner overlap diff --git a/plugins/org.eclipse.elk.alg.radial/src/org/eclipse/elk/alg/radial/intermediate/overlaps/RadiusExtensionOverlapRemoval.java b/plugins/org.eclipse.elk.alg.radial/src/org/eclipse/elk/alg/radial/intermediate/overlaps/RadiusExtensionOverlapRemoval.java index 32bf49bd81..3f43ce84a5 100644 --- a/plugins/org.eclipse.elk.alg.radial/src/org/eclipse/elk/alg/radial/intermediate/overlaps/RadiusExtensionOverlapRemoval.java +++ b/plugins/org.eclipse.elk.alg.radial/src/org/eclipse/elk/alg/radial/intermediate/overlaps/RadiusExtensionOverlapRemoval.java @@ -74,19 +74,17 @@ public void extend(final ElkNode graph, final List nodes, IElkProgressM Set nextLevelNodes = RadialUtil.getNextLevelNodeSet(nodes); // Calculate the moved distance which is the amount all children and grandchildren have to be moved. int index = 1; - while (!nextLevelNodes.isEmpty()) { + if (!nextLevelNodes.isEmpty()) { for(ElkNode nextLevelNode : nextLevelNodes) { moveNode(nextLevelNode, movedDistance); } progressMonitor.logGraph(graph, "Child movement " + index); - nextLevelNodes = RadialUtil.getNextLevelNodeSet(new ArrayList<>(nextLevelNodes)); index++; } if (sorter != null) { sorter.sort(new ArrayList<>(nextLevelNodes)); } - progressMonitor.logGraph(graph, "After ancestor movement"); extend(graph, new ArrayList<>(nextLevelNodes), progressMonitor); } } diff --git a/plugins/org.eclipse.elk.alg.rectpacking/.classpath b/plugins/org.eclipse.elk.alg.rectpacking/.classpath index f0c5549859..ad5e13cce7 100644 --- a/plugins/org.eclipse.elk.alg.rectpacking/.classpath +++ b/plugins/org.eclipse.elk.alg.rectpacking/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/org.eclipse.elk.alg.rectpacking/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.elk.alg.rectpacking/.settings/org.eclipse.jdt.core.prefs index 5ed2aebf75..e3ca4e0d0c 100644 --- a/plugins/org.eclipse.elk.alg.rectpacking/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.elk.alg.rectpacking/.settings/org.eclipse.jdt.core.prefs @@ -8,9 +8,17 @@ org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +<<<<<<< HEAD org.eclipse.jdt.core.compiler.source=1.8 +======= +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 +>>>>>>> parent of f5a08b471 (Revert "Purged Java 1.8 from setup and classpath and manifests.") org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 @@ -18,17 +26,20 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=16 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 @@ -114,11 +125,12 @@ org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert @@ -149,6 +161,8 @@ org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert @@ -173,13 +187,17 @@ org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert @@ -227,6 +245,8 @@ org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do no org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert @@ -263,9 +283,12 @@ org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not inser org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert @@ -291,7 +314,11 @@ org.eclipse.jdt.core.formatter.tabulation.char=space org.eclipse.jdt.core.formatter.tabulation.size=4 org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true +org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true +org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true +org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/plugins/org.eclipse.elk.alg.rectpacking/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.alg.rectpacking/META-INF/MANIFEST.MF index 355b04155b..b36e101203 100644 --- a/plugins/org.eclipse.elk.alg.rectpacking/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.alg.rectpacking/META-INF/MANIFEST.MF @@ -5,7 +5,7 @@ Bundle-Name: ELK Rectangle Packing Algorithm Bundle-SymbolicName: org.eclipse.elk.alg.rectpacking;singleton:=true Bundle-Version: 0.9.0.qualifier Bundle-Vendor: Eclipse Modeling Project -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: org.eclipse.elk.alg.common, org.eclipse.elk.core, org.eclipse.elk.graph, diff --git a/plugins/org.eclipse.elk.alg.spore/.classpath b/plugins/org.eclipse.elk.alg.spore/.classpath index f0c5549859..ad5e13cce7 100644 --- a/plugins/org.eclipse.elk.alg.spore/.classpath +++ b/plugins/org.eclipse.elk.alg.spore/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/org.eclipse.elk.alg.spore/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.elk.alg.spore/.settings/org.eclipse.jdt.core.prefs index 9ea8ecfd5a..d1d4d0abd6 100644 --- a/plugins/org.eclipse.elk.alg.spore/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.elk.alg.spore/.settings/org.eclipse.jdt.core.prefs @@ -1,5 +1,15 @@ 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.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 @@ -7,17 +17,20 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=16 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 @@ -103,11 +116,12 @@ org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert @@ -138,6 +152,8 @@ org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert @@ -162,13 +178,17 @@ org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert @@ -216,6 +236,8 @@ org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do no org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert @@ -252,9 +274,12 @@ org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not inser org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert @@ -280,7 +305,11 @@ org.eclipse.jdt.core.formatter.tabulation.char=space org.eclipse.jdt.core.formatter.tabulation.size=4 org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true +org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true +org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true +org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/plugins/org.eclipse.elk.alg.spore/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.alg.spore/META-INF/MANIFEST.MF index 8d15611230..4951404996 100644 --- a/plugins/org.eclipse.elk.alg.spore/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.alg.spore/META-INF/MANIFEST.MF @@ -5,7 +5,7 @@ Bundle-Name: ELK SPOrE Bundle-SymbolicName: org.eclipse.elk.alg.spore;singleton:=true Bundle-Version: 0.9.0.qualifier Bundle-Vendor: Eclipse Modeling Project -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: com.google.guava, org.eclipse.elk.graph, org.eclipse.elk.core, diff --git a/plugins/org.eclipse.elk.alg.topdownpacking/.classpath b/plugins/org.eclipse.elk.alg.topdownpacking/.classpath index f0c5549859..ad5e13cce7 100644 --- a/plugins/org.eclipse.elk.alg.topdownpacking/.classpath +++ b/plugins/org.eclipse.elk.alg.topdownpacking/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/org.eclipse.elk.alg.topdownpacking/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.elk.alg.topdownpacking/.settings/org.eclipse.jdt.core.prefs index 5ed2aebf75..e3ca4e0d0c 100644 --- a/plugins/org.eclipse.elk.alg.topdownpacking/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.elk.alg.topdownpacking/.settings/org.eclipse.jdt.core.prefs @@ -8,9 +8,17 @@ org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +<<<<<<< HEAD org.eclipse.jdt.core.compiler.source=1.8 +======= +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 +>>>>>>> parent of f5a08b471 (Revert "Purged Java 1.8 from setup and classpath and manifests.") org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 @@ -18,17 +26,20 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=16 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 @@ -114,11 +125,12 @@ org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert @@ -149,6 +161,8 @@ org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert @@ -173,13 +187,17 @@ org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert @@ -227,6 +245,8 @@ org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do no org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert @@ -263,9 +283,12 @@ org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not inser org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert @@ -291,7 +314,11 @@ org.eclipse.jdt.core.formatter.tabulation.char=space org.eclipse.jdt.core.formatter.tabulation.size=4 org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true +org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true +org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true +org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/plugins/org.eclipse.elk.alg.topdownpacking/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.alg.topdownpacking/META-INF/MANIFEST.MF index ad1a164263..b381edbd95 100644 --- a/plugins/org.eclipse.elk.alg.topdownpacking/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.alg.topdownpacking/META-INF/MANIFEST.MF @@ -5,7 +5,7 @@ Bundle-Name: ELK Topdown Packing Algorithm Bundle-SymbolicName: org.eclipse.elk.alg.topdownpacking;singleton:=true Bundle-Version: 0.9.0.qualifier Bundle-Vendor: Eclipse Modeling Project -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: org.eclipse.elk.core, org.eclipse.elk.graph, org.eclipse.elk.alg.common, diff --git a/plugins/org.eclipse.elk.conn.gmf/.classpath b/plugins/org.eclipse.elk.conn.gmf/.classpath index 2534a1484b..ad5e13cce7 100644 --- a/plugins/org.eclipse.elk.conn.gmf/.classpath +++ b/plugins/org.eclipse.elk.conn.gmf/.classpath @@ -1,8 +1,8 @@ + + - - diff --git a/plugins/org.eclipse.elk.conn.gmf/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.elk.conn.gmf/.settings/org.eclipse.jdt.core.prefs index 5ed2aebf75..e3ca4e0d0c 100644 --- a/plugins/org.eclipse.elk.conn.gmf/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.elk.conn.gmf/.settings/org.eclipse.jdt.core.prefs @@ -8,9 +8,17 @@ org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +<<<<<<< HEAD org.eclipse.jdt.core.compiler.source=1.8 +======= +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 +>>>>>>> parent of f5a08b471 (Revert "Purged Java 1.8 from setup and classpath and manifests.") org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 @@ -18,17 +26,20 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=16 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 @@ -114,11 +125,12 @@ org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert @@ -149,6 +161,8 @@ org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert @@ -173,13 +187,17 @@ org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert @@ -227,6 +245,8 @@ org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do no org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert @@ -263,9 +283,12 @@ org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not inser org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert @@ -291,7 +314,11 @@ org.eclipse.jdt.core.formatter.tabulation.char=space org.eclipse.jdt.core.formatter.tabulation.size=4 org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true +org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true +org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true +org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/plugins/org.eclipse.elk.conn.gmf/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.conn.gmf/META-INF/MANIFEST.MF index 5d5f8c4f64..150e7e1f2f 100644 --- a/plugins/org.eclipse.elk.conn.gmf/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.conn.gmf/META-INF/MANIFEST.MF @@ -5,7 +5,7 @@ Bundle-Name: ELK Layout Connector for GMF Bundle-SymbolicName: org.eclipse.elk.conn.gmf;singleton:=true Bundle-Version: 0.9.0.qualifier Bundle-Vendor: Eclipse Modeling Project -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Export-Package: org.eclipse.elk.conn.gmf Require-Bundle: org.eclipse.gef;bundle-version="3.5.0", org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.2.0", diff --git a/plugins/org.eclipse.elk.core.debug.grandom.ide/.classpath b/plugins/org.eclipse.elk.core.debug.grandom.ide/.classpath index 9081d4f703..a70cf0d9af 100644 --- a/plugins/org.eclipse.elk.core.debug.grandom.ide/.classpath +++ b/plugins/org.eclipse.elk.core.debug.grandom.ide/.classpath @@ -1,9 +1,9 @@ - - - - + + + + diff --git a/plugins/org.eclipse.elk.core.debug.grandom.ide/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.core.debug.grandom.ide/META-INF/MANIFEST.MF index c1b6f970b7..c99bd56e55 100644 --- a/plugins/org.eclipse.elk.core.debug.grandom.ide/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.core.debug.grandom.ide/META-INF/MANIFEST.MF @@ -10,6 +10,6 @@ Require-Bundle: org.eclipse.elk.core.debug.grandom, org.eclipse.xtext.ide, org.eclipse.xtext.xbase.ide, org.antlr.runtime;bundle-version="[3.2.0,3.2.1)" -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Export-Package: org.eclipse.elk.core.debug.grandom.ide.contentassist.antlr.internal, org.eclipse.elk.core.debug.grandom.ide.contentassist.antlr diff --git a/plugins/org.eclipse.elk.core.debug.grandom.ide/src-gen/org/eclipse/elk/core/debug/grandom/ide/AbstractGRandomIdeModule.java b/plugins/org.eclipse.elk.core.debug.grandom.ide/src-gen/org/eclipse/elk/core/debug/grandom/ide/AbstractGRandomIdeModule.java index 32da75bebf..8196096946 100644 --- a/plugins/org.eclipse.elk.core.debug.grandom.ide/src-gen/org/eclipse/elk/core/debug/grandom/ide/AbstractGRandomIdeModule.java +++ b/plugins/org.eclipse.elk.core.debug.grandom.ide/src-gen/org/eclipse/elk/core/debug/grandom/ide/AbstractGRandomIdeModule.java @@ -9,8 +9,6 @@ *******************************************************************************/ package org.eclipse.elk.core.debug.grandom.ide; -import com.google.inject.Binder; -import com.google.inject.name.Names; import org.eclipse.elk.core.debug.grandom.ide.contentassist.antlr.GRandomParser; import org.eclipse.elk.core.debug.grandom.ide.contentassist.antlr.internal.InternalGRandomLexer; import org.eclipse.xtext.ide.DefaultIdeModule; @@ -22,8 +20,11 @@ import org.eclipse.xtext.ide.editor.contentassist.antlr.IContentAssistParser; import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer; import org.eclipse.xtext.ide.refactoring.IRenameStrategy2; -import org.eclipse.xtext.ide.server.rename.IRenameService; -import org.eclipse.xtext.ide.server.rename.RenameService; +import org.eclipse.xtext.ide.server.rename.IRenameService2; +import org.eclipse.xtext.ide.server.rename.RenameService2; + +import com.google.inject.Binder; +import com.google.inject.name.Names; /** * Manual modifications go to {@link GRandomIdeModule}. @@ -54,8 +55,8 @@ public Class bindIPrefixMatcher() { } // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 - public Class bindIRenameService() { - return RenameService.class; + public Class bindIRenameService() { + return RenameService2.class; } // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 diff --git a/plugins/org.eclipse.elk.core.debug.grandom.ui/.classpath b/plugins/org.eclipse.elk.core.debug.grandom.ui/.classpath index 9081d4f703..a70cf0d9af 100644 --- a/plugins/org.eclipse.elk.core.debug.grandom.ui/.classpath +++ b/plugins/org.eclipse.elk.core.debug.grandom.ui/.classpath @@ -1,9 +1,9 @@ - - - - + + + + diff --git a/plugins/org.eclipse.elk.core.debug.grandom.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.core.debug.grandom.ui/META-INF/MANIFEST.MF index 2c611a4438..bc6522f2a0 100644 --- a/plugins/org.eclipse.elk.core.debug.grandom.ui/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.core.debug.grandom.ui/META-INF/MANIFEST.MF @@ -21,7 +21,7 @@ Require-Bundle: org.eclipse.elk.core.debug.grandom, org.eclipse.elk.graph, org.eclipse.elk.core Import-Package: org.apache.log4j -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Export-Package: org.eclipse.elk.core.debug.grandom.ui, org.eclipse.elk.core.debug.grandom.ui.contentassist, org.eclipse.elk.core.debug.grandom.ui.internal, diff --git a/plugins/org.eclipse.elk.core.debug.grandom/.classpath b/plugins/org.eclipse.elk.core.debug.grandom/.classpath index 9081d4f703..a70cf0d9af 100644 --- a/plugins/org.eclipse.elk.core.debug.grandom/.classpath +++ b/plugins/org.eclipse.elk.core.debug.grandom/.classpath @@ -1,9 +1,9 @@ - - - - + + + + diff --git a/plugins/org.eclipse.elk.core.debug.grandom/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.core.debug.grandom/META-INF/MANIFEST.MF index 4c3db8093a..50c64726e2 100644 --- a/plugins/org.eclipse.elk.core.debug.grandom/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.core.debug.grandom/META-INF/MANIFEST.MF @@ -17,7 +17,7 @@ Require-Bundle: org.eclipse.xtext, org.eclipse.emf.common, org.eclipse.elk.graph, org.eclipse.elk.core -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Export-Package: org.eclipse.elk.core.debug.grandom, org.eclipse.elk.core.debug.grandom.gRandom, org.eclipse.elk.core.debug.grandom.gRandom.impl, diff --git a/plugins/org.eclipse.elk.core.debug/.classpath b/plugins/org.eclipse.elk.core.debug/.classpath index 428337e560..47ce7cd075 100644 --- a/plugins/org.eclipse.elk.core.debug/.classpath +++ b/plugins/org.eclipse.elk.core.debug/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/org.eclipse.elk.core.debug/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.elk.core.debug/.settings/org.eclipse.jdt.core.prefs index 5ed2aebf75..b5c3528c4a 100644 --- a/plugins/org.eclipse.elk.core.debug/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.elk.core.debug/.settings/org.eclipse.jdt.core.prefs @@ -8,8 +8,15 @@ org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +<<<<<<< HEAD org.eclipse.jdt.core.compiler.source=1.8 +======= +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 +>>>>>>> parent of f5a08b471 (Revert "Purged Java 1.8 from setup and classpath and manifests.") org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 diff --git a/plugins/org.eclipse.elk.core.debug/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.core.debug/META-INF/MANIFEST.MF index e85ba2f433..3bc214e67f 100644 --- a/plugins/org.eclipse.elk.core.debug/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.core.debug/META-INF/MANIFEST.MF @@ -17,6 +17,6 @@ Require-Bundle: com.google.guava, org.eclipse.xtend.lib, org.eclipse.xtend.lib.macro, org.eclipse.xtext.xbase.lib -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-ActivationPolicy: lazy Bundle-Vendor: Eclipse Modeling Project diff --git a/plugins/org.eclipse.elk.core.meta.ui/.classpath b/plugins/org.eclipse.elk.core.meta.ui/.classpath index 9081d4f703..a70cf0d9af 100644 --- a/plugins/org.eclipse.elk.core.meta.ui/.classpath +++ b/plugins/org.eclipse.elk.core.meta.ui/.classpath @@ -1,9 +1,9 @@ - - - - + + + + diff --git a/plugins/org.eclipse.elk.core.meta.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.core.meta.ui/META-INF/MANIFEST.MF index 5ea3dca99d..cb035559af 100644 --- a/plugins/org.eclipse.elk.core.meta.ui/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.core.meta.ui/META-INF/MANIFEST.MF @@ -22,7 +22,7 @@ Require-Bundle: org.eclipse.elk.core.meta, org.eclipse.jdt.debug.ui, org.antlr.runtime;bundle-version="[3.2.0,3.2.1)" Import-Package: org.apache.log4j -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Export-Package: org.eclipse.elk.core.meta.ui.internal, org.eclipse.elk.core.meta.ui.quickfix, org.eclipse.elk.core.meta.ui.contentassist, diff --git a/plugins/org.eclipse.elk.core.meta.ui/src-gen/org/eclipse/elk/core/meta/ide/AbstractMetaDataIdeModule.java b/plugins/org.eclipse.elk.core.meta.ui/src-gen/org/eclipse/elk/core/meta/ide/AbstractMetaDataIdeModule.java index 2407577598..946e966a84 100644 --- a/plugins/org.eclipse.elk.core.meta.ui/src-gen/org/eclipse/elk/core/meta/ide/AbstractMetaDataIdeModule.java +++ b/plugins/org.eclipse.elk.core.meta.ui/src-gen/org/eclipse/elk/core/meta/ide/AbstractMetaDataIdeModule.java @@ -9,8 +9,6 @@ *******************************************************************************/ package org.eclipse.elk.core.meta.ide; -import com.google.inject.Binder; -import com.google.inject.name.Names; import org.eclipse.elk.core.meta.ide.contentassist.antlr.MetaDataParser; import org.eclipse.elk.core.meta.ide.contentassist.antlr.internal.InternalMetaDataLexer; import org.eclipse.xtext.ide.LexerIdeBindings; @@ -21,10 +19,13 @@ import org.eclipse.xtext.ide.editor.contentassist.antlr.IContentAssistParser; import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer; import org.eclipse.xtext.ide.refactoring.IRenameStrategy2; -import org.eclipse.xtext.ide.server.rename.IRenameService; -import org.eclipse.xtext.ide.server.rename.RenameService; +import org.eclipse.xtext.ide.server.rename.IRenameService2; +import org.eclipse.xtext.ide.server.rename.RenameService2; import org.eclipse.xtext.xbase.ide.DefaultXbaseIdeModule; +import com.google.inject.Binder; +import com.google.inject.name.Names; + /** * Manual modifications go to {@link MetaDataIdeModule}. */ @@ -54,8 +55,8 @@ public Class bindIPrefixMatcher() { } // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 - public Class bindIRenameService() { - return RenameService.class; + public Class bindIRenameService() { + return RenameService2.class; } // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 diff --git a/plugins/org.eclipse.elk.core.meta/.classpath b/plugins/org.eclipse.elk.core.meta/.classpath index 9081d4f703..a70cf0d9af 100644 --- a/plugins/org.eclipse.elk.core.meta/.classpath +++ b/plugins/org.eclipse.elk.core.meta/.classpath @@ -1,9 +1,9 @@ - - - - + + + + diff --git a/plugins/org.eclipse.elk.core.meta/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.core.meta/META-INF/MANIFEST.MF index 6c074e0b37..9f3c00656e 100644 --- a/plugins/org.eclipse.elk.core.meta/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.core.meta/META-INF/MANIFEST.MF @@ -18,7 +18,7 @@ Require-Bundle: org.eclipse.xtext;bundle-version="2.12.0", org.eclipse.xtend.lib;bundle-version="2.14.0", org.eclipse.emf.common, org.eclipse.elk.graph -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Export-Package: org.eclipse.elk.core.meta, org.eclipse.elk.core.meta.formatting2, org.eclipse.elk.core.meta.jvmmodel, diff --git a/plugins/org.eclipse.elk.core.service/.classpath b/plugins/org.eclipse.elk.core.service/.classpath index eca7bdba8f..e801ebfb46 100644 --- a/plugins/org.eclipse.elk.core.service/.classpath +++ b/plugins/org.eclipse.elk.core.service/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/org.eclipse.elk.core.service/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.elk.core.service/.settings/org.eclipse.jdt.core.prefs index 5ed2aebf75..b5c3528c4a 100644 --- a/plugins/org.eclipse.elk.core.service/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.elk.core.service/.settings/org.eclipse.jdt.core.prefs @@ -8,8 +8,15 @@ org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +<<<<<<< HEAD org.eclipse.jdt.core.compiler.source=1.8 +======= +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 +>>>>>>> parent of f5a08b471 (Revert "Purged Java 1.8 from setup and classpath and manifests.") org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 diff --git a/plugins/org.eclipse.elk.core.service/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.core.service/META-INF/MANIFEST.MF index ca0f141a24..1eea90e23b 100644 --- a/plugins/org.eclipse.elk.core.service/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.core.service/META-INF/MANIFEST.MF @@ -7,14 +7,15 @@ Bundle-Version: 0.9.0.qualifier Bundle-Vendor: Eclipse Modeling Project Require-Bundle: com.google.guava, com.google.inject;bundle-version="3.0.0";visibility:=reexport, - org.eclipse.core.runtime, + org.eclipse.core.runtime;bundle-version=3.26.0, org.eclipse.jface, - org.eclipse.ui.workbench;bundle-version="3.105.0", + org.eclipse.ui.workbench, org.eclipse.emf.edit;bundle-version="2.5.0", org.eclipse.elk.graph, - org.eclipse.elk.core;visibility:=reexport + org.eclipse.elk.core;visibility:=reexport, + org.eclipse.e4.ui.css.core;bundle-version="0.13.300" Eclipse-RegisterBuddy: org.eclipse.elk.core -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Export-Package: org.eclipse.elk.core.service, org.eclipse.elk.core.service.internal;x-internal:=true, org.eclipse.elk.core.service.util diff --git a/plugins/org.eclipse.elk.core.service/pom.xml b/plugins/org.eclipse.elk.core.service/pom.xml index f6675f212b..56f9542db5 100644 --- a/plugins/org.eclipse.elk.core.service/pom.xml +++ b/plugins/org.eclipse.elk.core.service/pom.xml @@ -1,6 +1,6 @@ diff --git a/plugins/org.eclipse.elk.core.ui/.classpath b/plugins/org.eclipse.elk.core.ui/.classpath index 22f30643cb..edc8895124 100644 --- a/plugins/org.eclipse.elk.core.ui/.classpath +++ b/plugins/org.eclipse.elk.core.ui/.classpath @@ -1,7 +1,7 @@ - - + + diff --git a/plugins/org.eclipse.elk.core.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.core.ui/META-INF/MANIFEST.MF index 420e941ed3..4770cf878f 100644 --- a/plugins/org.eclipse.elk.core.ui/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.core.ui/META-INF/MANIFEST.MF @@ -21,5 +21,5 @@ Require-Bundle: org.eclipse.ui;bundle-version="3.4.0", org.eclipse.elk.graph, org.eclipse.elk.core, org.eclipse.elk.core.service -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-ActivationPolicy: lazy diff --git a/plugins/org.eclipse.elk.core/.classpath b/plugins/org.eclipse.elk.core/.classpath index f0c5549859..ad5e13cce7 100644 --- a/plugins/org.eclipse.elk.core/.classpath +++ b/plugins/org.eclipse.elk.core/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/org.eclipse.elk.core/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.elk.core/.settings/org.eclipse.jdt.core.prefs index 5ed2aebf75..e3ca4e0d0c 100644 --- a/plugins/org.eclipse.elk.core/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.elk.core/.settings/org.eclipse.jdt.core.prefs @@ -8,9 +8,17 @@ org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +<<<<<<< HEAD org.eclipse.jdt.core.compiler.source=1.8 +======= +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 +>>>>>>> parent of f5a08b471 (Revert "Purged Java 1.8 from setup and classpath and manifests.") org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 @@ -18,17 +26,20 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=16 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 @@ -114,11 +125,12 @@ org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert @@ -149,6 +161,8 @@ org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert @@ -173,13 +187,17 @@ org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert @@ -227,6 +245,8 @@ org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do no org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert @@ -263,9 +283,12 @@ org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not inser org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert @@ -291,7 +314,11 @@ org.eclipse.jdt.core.formatter.tabulation.char=space org.eclipse.jdt.core.formatter.tabulation.size=4 org.eclipse.jdt.core.formatter.use_on_off_tags=true org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true +org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true +org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true +org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/plugins/org.eclipse.elk.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.core/META-INF/MANIFEST.MF index b85dc45488..2d92c39cda 100644 --- a/plugins/org.eclipse.elk.core/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.core/META-INF/MANIFEST.MF @@ -24,5 +24,5 @@ Export-Package: org.eclipse.elk.core, org.eclipse.elk.core.util.selection, org.eclipse.elk.core.validation Bundle-Vendor: Eclipse Modeling Project -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-ActivationPolicy: lazy diff --git a/plugins/org.eclipse.elk.alg.topdownpacking/docs/topdownlayout.md b/plugins/org.eclipse.elk.core/docs/topdownlayout.md similarity index 100% rename from plugins/org.eclipse.elk.alg.topdownpacking/docs/topdownlayout.md rename to plugins/org.eclipse.elk.core/docs/topdownlayout.md diff --git a/plugins/org.eclipse.elk.alg.topdownpacking/images/controller.png b/plugins/org.eclipse.elk.core/images/controller.png similarity index 100% rename from plugins/org.eclipse.elk.alg.topdownpacking/images/controller.png rename to plugins/org.eclipse.elk.core/images/controller.png diff --git a/plugins/org.eclipse.elk.alg.topdownpacking/images/hierarchical_parallel_example.png b/plugins/org.eclipse.elk.core/images/hierarchical_parallel_example.png similarity index 100% rename from plugins/org.eclipse.elk.alg.topdownpacking/images/hierarchical_parallel_example.png rename to plugins/org.eclipse.elk.core/images/hierarchical_parallel_example.png diff --git a/plugins/org.eclipse.elk.alg.topdownpacking/images/mixed_example.png b/plugins/org.eclipse.elk.core/images/mixed_example.png similarity index 100% rename from plugins/org.eclipse.elk.alg.topdownpacking/images/mixed_example.png rename to plugins/org.eclipse.elk.core/images/mixed_example.png diff --git a/plugins/org.eclipse.elk.alg.topdownpacking/images/topdown_example_combined1.png b/plugins/org.eclipse.elk.core/images/topdown_example_combined1.png similarity index 100% rename from plugins/org.eclipse.elk.alg.topdownpacking/images/topdown_example_combined1.png rename to plugins/org.eclipse.elk.core/images/topdown_example_combined1.png diff --git a/plugins/org.eclipse.elk.graph.json.text.ide/.classpath b/plugins/org.eclipse.elk.graph.json.text.ide/.classpath index 8d26fa5987..a70cf0d9af 100644 --- a/plugins/org.eclipse.elk.graph.json.text.ide/.classpath +++ b/plugins/org.eclipse.elk.graph.json.text.ide/.classpath @@ -1,9 +1,9 @@ - - - - + - + + + + diff --git a/plugins/org.eclipse.elk.graph.json.text.ide/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.graph.json.text.ide/META-INF/MANIFEST.MF index 1e30e37ff3..12cd53ed6e 100644 --- a/plugins/org.eclipse.elk.graph.json.text.ide/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.graph.json.text.ide/META-INF/MANIFEST.MF @@ -12,7 +12,7 @@ Require-Bundle: org.eclipse.elk.core, org.eclipse.xtext.ide, org.eclipse.xtext.xbase.ide, org.antlr.runtime;bundle-version="[3.2.0,3.2.1)" -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Export-Package: org.eclipse.elk.graph.json.text.ide, org.eclipse.elk.graph.json.text.ide.contentassist, org.eclipse.elk.graph.json.text.ide.contentassist.antlr, diff --git a/plugins/org.eclipse.elk.graph.json.text.ui/.classpath b/plugins/org.eclipse.elk.graph.json.text.ui/.classpath index 8d26fa5987..a70cf0d9af 100644 --- a/plugins/org.eclipse.elk.graph.json.text.ui/.classpath +++ b/plugins/org.eclipse.elk.graph.json.text.ui/.classpath @@ -1,9 +1,9 @@ - - - - + - + + + + diff --git a/plugins/org.eclipse.elk.graph.json.text.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.graph.json.text.ui/META-INF/MANIFEST.MF index bb78bc9771..2310412cc6 100644 --- a/plugins/org.eclipse.elk.graph.json.text.ui/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.graph.json.text.ui/META-INF/MANIFEST.MF @@ -23,7 +23,7 @@ Require-Bundle: org.eclipse.elk.core, org.eclipse.xtext.xbase.lib;bundle-version="2.14.0", org.eclipse.xtend.lib;bundle-version="2.14.0";resolution:=optional Import-Package: org.apache.log4j -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Export-Package: org.eclipse.elk.graph.json.text.ui.quickfix, org.eclipse.elk.graph.json.text.ui.contentassist, org.eclipse.elk.graph.json.text.ui.internal diff --git a/plugins/org.eclipse.elk.graph.json.text/.classpath b/plugins/org.eclipse.elk.graph.json.text/.classpath index 8d26fa5987..a70cf0d9af 100644 --- a/plugins/org.eclipse.elk.graph.json.text/.classpath +++ b/plugins/org.eclipse.elk.graph.json.text/.classpath @@ -1,9 +1,9 @@ - - - - + - + + + + diff --git a/plugins/org.eclipse.elk.graph.json.text/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.graph.json.text/META-INF/MANIFEST.MF index fef80d4230..3cf7cf2a90 100644 --- a/plugins/org.eclipse.elk.graph.json.text/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.graph.json.text/META-INF/MANIFEST.MF @@ -15,7 +15,7 @@ Require-Bundle: org.eclipse.elk.core, org.eclipse.xtext.util, org.eclipse.xtend.lib;bundle-version="2.14.0", org.antlr.runtime;bundle-version="[3.2.0,3.2.1)" -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Export-Package: org.eclipse.elk.graph.json.text, org.eclipse.elk.graph.json.text.conversion, org.eclipse.elk.graph.json.text.formatting2, diff --git a/plugins/org.eclipse.elk.graph.json.text/build.properties b/plugins/org.eclipse.elk.graph.json.text/build.properties index 652c6e679b..a04f5f87be 100644 --- a/plugins/org.eclipse.elk.graph.json.text/build.properties +++ b/plugins/org.eclipse.elk.graph.json.text/build.properties @@ -17,4 +17,4 @@ additional.bundles = org.eclipse.xtext.xbase,\ org.apache.commons.logging,\ org.apache.log4j,\ com.ibm.icu,\ - org.eclipse.xtext.generator + org.eclipse.xtext.xtext.generator diff --git a/plugins/org.eclipse.elk.graph.json/.classpath b/plugins/org.eclipse.elk.graph.json/.classpath index 87e8cd6596..030fd399f0 100644 --- a/plugins/org.eclipse.elk.graph.json/.classpath +++ b/plugins/org.eclipse.elk.graph.json/.classpath @@ -1,8 +1,8 @@ - + - - + + diff --git a/plugins/org.eclipse.elk.graph.json/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.graph.json/META-INF/MANIFEST.MF index 65650bf153..2389ec0b84 100644 --- a/plugins/org.eclipse.elk.graph.json/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.graph.json/META-INF/MANIFEST.MF @@ -12,7 +12,7 @@ Require-Bundle: com.google.guava, org.eclipse.xtext.xbase.lib, org.eclipse.xtend.lib, org.eclipse.xtend.lib.macro -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-ActivationPolicy: lazy Export-Package: org.eclipse.elk.graph.json diff --git a/plugins/org.eclipse.elk.graph.text.ide/.classpath b/plugins/org.eclipse.elk.graph.text.ide/.classpath index 64c59ce2d8..a70cf0d9af 100644 --- a/plugins/org.eclipse.elk.graph.text.ide/.classpath +++ b/plugins/org.eclipse.elk.graph.text.ide/.classpath @@ -1,9 +1,9 @@ - - - - + + + + diff --git a/plugins/org.eclipse.elk.graph.text.ide/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.graph.text.ide/META-INF/MANIFEST.MF index 0b5427cd98..06a8962f39 100644 --- a/plugins/org.eclipse.elk.graph.text.ide/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.graph.text.ide/META-INF/MANIFEST.MF @@ -13,7 +13,7 @@ Require-Bundle: org.eclipse.xtext.ide;bundle-version="2.12.0", org.eclipse.elk.core, org.eclipse.elk.graph.text, org.antlr.runtime -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Export-Package: org.eclipse.elk.graph.text.ide, org.eclipse.elk.graph.text.ide.contentassist, org.eclipse.elk.graph.text.ide.contentassist.antlr, diff --git a/plugins/org.eclipse.elk.graph.text.ui/.classpath b/plugins/org.eclipse.elk.graph.text.ui/.classpath index 9081d4f703..a70cf0d9af 100644 --- a/plugins/org.eclipse.elk.graph.text.ui/.classpath +++ b/plugins/org.eclipse.elk.graph.text.ui/.classpath @@ -1,9 +1,9 @@ - - - - + + + + diff --git a/plugins/org.eclipse.elk.graph.text.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.graph.text.ui/META-INF/MANIFEST.MF index 2ddb25e69e..673cc2a807 100644 --- a/plugins/org.eclipse.elk.graph.text.ui/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.graph.text.ui/META-INF/MANIFEST.MF @@ -23,7 +23,7 @@ Require-Bundle: org.eclipse.elk.core, org.eclipse.xtend.lib;resolution:=optional, org.eclipse.xtext.xbase.lib Import-Package: org.apache.log4j -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Export-Package: org.eclipse.elk.graph.text.ui, org.eclipse.elk.graph.text.ui.contentassist, org.eclipse.elk.graph.text.ui.internal, diff --git a/plugins/org.eclipse.elk.graph.text/.classpath b/plugins/org.eclipse.elk.graph.text/.classpath index 9081d4f703..a70cf0d9af 100644 --- a/plugins/org.eclipse.elk.graph.text/.classpath +++ b/plugins/org.eclipse.elk.graph.text/.classpath @@ -1,9 +1,9 @@ - - - - + + + + diff --git a/plugins/org.eclipse.elk.graph.text/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.graph.text/META-INF/MANIFEST.MF index 7b0c74e1fa..f86bec69d1 100644 --- a/plugins/org.eclipse.elk.graph.text/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.graph.text/META-INF/MANIFEST.MF @@ -14,7 +14,7 @@ Require-Bundle: org.eclipse.elk.core, org.eclipse.xtext.util, org.eclipse.xtend.lib, org.antlr.runtime -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Export-Package: org.eclipse.elk.graph.text, org.eclipse.elk.graph.text.conversion, org.eclipse.elk.graph.text.formatting2, diff --git a/plugins/org.eclipse.elk.graph/.classpath b/plugins/org.eclipse.elk.graph/.classpath index 01836c4842..edc8895124 100644 --- a/plugins/org.eclipse.elk.graph/.classpath +++ b/plugins/org.eclipse.elk.graph/.classpath @@ -1,7 +1,7 @@ - + - + diff --git a/plugins/org.eclipse.elk.graph/META-INF/MANIFEST.MF b/plugins/org.eclipse.elk.graph/META-INF/MANIFEST.MF index 045f859a2c..46239e74c0 100644 --- a/plugins/org.eclipse.elk.graph/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.elk.graph/META-INF/MANIFEST.MF @@ -13,4 +13,4 @@ Export-Package: org.eclipse.elk.graph, Require-Bundle: org.eclipse.emf.ecore;bundle-version="2.10.0";visibility:=reexport, com.google.guava Bundle-ActivationPolicy: lazy -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 diff --git a/setups/EclipseLayoutKernel.setup b/setups/EclipseLayoutKernel.setup index e1dbe52130..29408b9b36 100644 --- a/setups/EclipseLayoutKernel.setup +++ b/setups/EclipseLayoutKernel.setup @@ -72,10 +72,22 @@ Initialize JDT's package explorer to show working sets as its root objects + + <?xml version="1.0" encoding="UTF-8"?> + <section name="Workbench"> + <section name="org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart"> + <item value="true" key="group_libraries"/> + <item value="false" key="linkWithEditor"/> + <item value="2" key="layout"/> + <item value="2" key="rootMode"/> + <item value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#x0D;&#x0A;&lt;packageExplorer configured=&quot;true&quot; group_libraries=&quot;1&quot; layout=&quot;2&quot; linkWithEditor=&quot;0&quot; rootMode=&quot;2&quot; sortWorkingSets=&quot;false&quot; workingSetName=&quot;&quot;&gt;&#x0D;&#x0A;&lt;localWorkingSetManager&gt;&#x0D;&#x0A;&lt;workingSet editPageId=&quot;org.eclipse.jdt.internal.ui.OthersWorkingSet&quot; factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; id=&quot;1382792884467_1&quot; label=&quot;Other Projects&quot; name=&quot;Other Projects&quot;/&gt;&#x0D;&#x0A;&lt;/localWorkingSetManager&gt;&#x0D;&#x0A;&lt;activeWorkingSet workingSetName=&quot;Other Projects&quot;/&gt;&#x0D;&#x0A;&lt;allWorkingSets workingSetName=&quot;Other Projects&quot;/&gt;&#x0D;&#x0A;&lt;/packageExplorer&gt;" key="memento"/> + </section> + </section> + + @@ -89,7 +101,7 @@ name="org.eclipse.pde.feature.group"/> + versionRange="[2.28.0,2.29.0)"/> + + url="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.28.0"/> + + Install the tools needed in the IDE to work with the source code for ${scope.project.label} + + <?xml version="1.0" encoding="UTF-8"?> + + <checkstyle-configurations file-format-version="5.0.0" default-check-configuration="ELK Checkstyle Configuration"> + <check-configuration name="ELK Checkstyle Configuration" location="/org.eclipse.elk.config/checkstyle.xml" type="project" description=""> + <additional-data name="protect-config-file" value="false"/> + </check-configuration> + </checkstyle-configurations> + Choose the compatibility level of the target platform + version="JavaSE-11" + location="${jre.location-11}"> Define the JRE needed to compile and run the Java projects of ${scope.project.label} + versionRange="2.7.0"/> + versionRange="[2.28.0,2.29.0)"/> - - - - - - - - - Choose the compatibility level of the target platform - - - Define the JRE needed to compile and run the Java projects of ${scope.project.label} - - - - - - - - - - ${git.clone.location}/build/org.eclipse.elk.targetplatform/org.eclipse.elk.targetplatform.target - - - http://download.eclipse.org/eclipse/updates/ - - - false - - - false - - - - - - - - - - - - - - + url="http://download.eclipse.org/releases/2022-09"/> + url="http://download.eclipse.org/lsp4j/updates/releases/0.15.0"/> + url="http://download.eclipse.org/tools/orbit/downloads/drops/R20220830213456/repository/"/> + url="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.28.0/"/> diff --git a/test/org.eclipse.elk.alg.common.test/.classpath b/test/org.eclipse.elk.alg.common.test/.classpath index 3e5654f17e..a42a828e04 100644 --- a/test/org.eclipse.elk.alg.common.test/.classpath +++ b/test/org.eclipse.elk.alg.common.test/.classpath @@ -1,6 +1,6 @@ - + diff --git a/test/org.eclipse.elk.alg.common.test/META-INF/MANIFEST.MF b/test/org.eclipse.elk.alg.common.test/META-INF/MANIFEST.MF index 2d01289a96..bd3ecad942 100644 --- a/test/org.eclipse.elk.alg.common.test/META-INF/MANIFEST.MF +++ b/test/org.eclipse.elk.alg.common.test/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-Name: ELK Common Algorithms Tests Bundle-SymbolicName: org.eclipse.elk.alg.common.test;singleton:=true Bundle-Version: 0.9.0.qualifier Automatic-Module-Name: org.eclipse.elk.alg.common.test -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-Vendor: Eclipse Modeling Project Require-Bundle: com.google.guava, org.eclipse.elk.core, diff --git a/test/org.eclipse.elk.alg.disco.test/.classpath b/test/org.eclipse.elk.alg.disco.test/.classpath index eca7bdba8f..bf23501151 100644 --- a/test/org.eclipse.elk.alg.disco.test/.classpath +++ b/test/org.eclipse.elk.alg.disco.test/.classpath @@ -1,7 +1,11 @@ - + - + + + + + diff --git a/test/org.eclipse.elk.alg.disco.test/META-INF/MANIFEST.MF b/test/org.eclipse.elk.alg.disco.test/META-INF/MANIFEST.MF index 96a55106f7..9a1d4723da 100644 --- a/test/org.eclipse.elk.alg.disco.test/META-INF/MANIFEST.MF +++ b/test/org.eclipse.elk.alg.disco.test/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: ELK Layout DisCo Tests Bundle-SymbolicName: org.eclipse.elk.alg.disco.test;singleton:=true Bundle-Version: 0.9.0.qualifier -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: com.google.guava;bundle-version="18.0.0", org.eclipse.elk.core, org.eclipse.elk.graph, @@ -11,3 +11,4 @@ Require-Bundle: com.google.guava;bundle-version="18.0.0", org.eclipse.elk.alg.disco, org.junit;bundle-version="4.12.0" Bundle-Vendor: Eclipse Modeling Project +Automatic-Module-Name: org.eclipse.elk.alg.disco.test diff --git a/test/org.eclipse.elk.alg.force.test/.classpath b/test/org.eclipse.elk.alg.force.test/.classpath index eca7bdba8f..bf23501151 100644 --- a/test/org.eclipse.elk.alg.force.test/.classpath +++ b/test/org.eclipse.elk.alg.force.test/.classpath @@ -1,7 +1,11 @@ - + - + + + + + diff --git a/test/org.eclipse.elk.alg.force.test/META-INF/MANIFEST.MF b/test/org.eclipse.elk.alg.force.test/META-INF/MANIFEST.MF index adfd6f4166..6d12a80d1e 100644 --- a/test/org.eclipse.elk.alg.force.test/META-INF/MANIFEST.MF +++ b/test/org.eclipse.elk.alg.force.test/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-Name: ELK Force Tests Bundle-SymbolicName: org.eclipse.elk.alg.force.test;singleton:=true Bundle-Version: 0.9.0.qualifier Automatic-Module-Name: org.eclipse.elk.alg.force.test -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-Vendor: Eclipse Modeling Project Require-Bundle: com.google.guava, org.eclipse.elk.core, diff --git a/test/org.eclipse.elk.alg.layered.test/.classpath b/test/org.eclipse.elk.alg.layered.test/.classpath index 3e5654f17e..a42a828e04 100644 --- a/test/org.eclipse.elk.alg.layered.test/.classpath +++ b/test/org.eclipse.elk.alg.layered.test/.classpath @@ -1,6 +1,6 @@ - + diff --git a/test/org.eclipse.elk.alg.layered.test/META-INF/MANIFEST.MF b/test/org.eclipse.elk.alg.layered.test/META-INF/MANIFEST.MF index 7a7f2ecf78..1c734f74f2 100644 --- a/test/org.eclipse.elk.alg.layered.test/META-INF/MANIFEST.MF +++ b/test/org.eclipse.elk.alg.layered.test/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-Name: ELK Layered Tests Bundle-SymbolicName: org.eclipse.elk.alg.layered.test;singleton:=true Bundle-Version: 0.9.0.qualifier Automatic-Module-Name: org.eclipse.elk.alg.layered.test -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-Vendor: Eclipse Modeling Project Require-Bundle: com.google.guava, org.eclipse.elk.core, diff --git a/test/org.eclipse.elk.alg.radial.test/.classpath b/test/org.eclipse.elk.alg.radial.test/.classpath index cc5ee2dc8c..bf23501151 100644 --- a/test/org.eclipse.elk.alg.radial.test/.classpath +++ b/test/org.eclipse.elk.alg.radial.test/.classpath @@ -1,11 +1,11 @@ - + - + diff --git a/test/org.eclipse.elk.alg.radial.test/META-INF/MANIFEST.MF b/test/org.eclipse.elk.alg.radial.test/META-INF/MANIFEST.MF index 2517410c1e..75c8b24229 100644 --- a/test/org.eclipse.elk.alg.radial.test/META-INF/MANIFEST.MF +++ b/test/org.eclipse.elk.alg.radial.test/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: ELK Layout Radial Tests Bundle-SymbolicName: org.eclipse.elk.alg.radial.test;singleton:=true Bundle-Version: 0.9.0.qualifier -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: com.google.guava;bundle-version="18.0.0", org.eclipse.elk.core, org.eclipse.elk.graph, diff --git a/test/org.eclipse.elk.alg.rectpacking.test/.classpath b/test/org.eclipse.elk.alg.rectpacking.test/.classpath index 3e5654f17e..a42a828e04 100644 --- a/test/org.eclipse.elk.alg.rectpacking.test/.classpath +++ b/test/org.eclipse.elk.alg.rectpacking.test/.classpath @@ -1,6 +1,6 @@ - + diff --git a/test/org.eclipse.elk.alg.rectpacking.test/META-INF/MANIFEST.MF b/test/org.eclipse.elk.alg.rectpacking.test/META-INF/MANIFEST.MF index 6390011552..63aae0a632 100644 --- a/test/org.eclipse.elk.alg.rectpacking.test/META-INF/MANIFEST.MF +++ b/test/org.eclipse.elk.alg.rectpacking.test/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-Name: ELK Rectpacking Algorithms Tests Bundle-SymbolicName: org.eclipse.elk.alg.rectpacking.test;singleton:=true Bundle-Version: 0.9.0.qualifier Automatic-Module-Name: org.eclipse.elk.alg.rectpacking.test -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-Vendor: Eclipse Modeling Project Require-Bundle: com.google.guava, org.eclipse.elk.core, diff --git a/test/org.eclipse.elk.alg.spore.test/.classpath b/test/org.eclipse.elk.alg.spore.test/.classpath index eca7bdba8f..bf23501151 100644 --- a/test/org.eclipse.elk.alg.spore.test/.classpath +++ b/test/org.eclipse.elk.alg.spore.test/.classpath @@ -1,7 +1,11 @@ - + - + + + + + diff --git a/test/org.eclipse.elk.alg.spore.test/META-INF/MANIFEST.MF b/test/org.eclipse.elk.alg.spore.test/META-INF/MANIFEST.MF index ebf8ac5ef8..e23ded6056 100644 --- a/test/org.eclipse.elk.alg.spore.test/META-INF/MANIFEST.MF +++ b/test/org.eclipse.elk.alg.spore.test/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: ELK SPOrE Tests Bundle-SymbolicName: org.eclipse.elk.alg.spore.test;singleton:=true Bundle-Version: 0.9.0.qualifier -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-Vendor: Eclipse Modeling Project Require-Bundle: com.google.guava;bundle-version="18.0.0", org.eclipse.elk.core, diff --git a/test/org.eclipse.elk.alg.test/.classpath b/test/org.eclipse.elk.alg.test/.classpath index eca7bdba8f..bf23501151 100644 --- a/test/org.eclipse.elk.alg.test/.classpath +++ b/test/org.eclipse.elk.alg.test/.classpath @@ -1,7 +1,11 @@ - + - + + + + + diff --git a/test/org.eclipse.elk.alg.test/META-INF/MANIFEST.MF b/test/org.eclipse.elk.alg.test/META-INF/MANIFEST.MF index 551009a118..0f33a9ec08 100644 --- a/test/org.eclipse.elk.alg.test/META-INF/MANIFEST.MF +++ b/test/org.eclipse.elk.alg.test/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: ELK Layout Algorithm Tests Bundle-SymbolicName: org.eclipse.elk.alg.test;singleton:=true Bundle-Version: 0.9.0.qualifier -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: com.google.guava, org.eclipse.elk.core, org.eclipse.elk.core.debug.grandom, diff --git a/test/org.eclipse.elk.alg.topdown.test/.classpath b/test/org.eclipse.elk.alg.topdown.test/.classpath index 3e5654f17e..a42a828e04 100644 --- a/test/org.eclipse.elk.alg.topdown.test/.classpath +++ b/test/org.eclipse.elk.alg.topdown.test/.classpath @@ -1,6 +1,6 @@ - + diff --git a/test/org.eclipse.elk.alg.topdown.test/META-INF/MANIFEST.MF b/test/org.eclipse.elk.alg.topdown.test/META-INF/MANIFEST.MF index 3dd58a4a9d..4f73d22af5 100644 --- a/test/org.eclipse.elk.alg.topdown.test/META-INF/MANIFEST.MF +++ b/test/org.eclipse.elk.alg.topdown.test/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-Name: ELK Topdown Tests Bundle-SymbolicName: org.eclipse.elk.alg.topdown.test;singleton:=true Bundle-Version: 0.9.0.qualifier Automatic-Module-Name: org.eclipse.elk.alg.topdown.test -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-Vendor: Eclipse Modeling Project Require-Bundle: com.google.guava, org.eclipse.elk.core, diff --git a/test/org.eclipse.elk.core.test/.classpath b/test/org.eclipse.elk.core.test/.classpath index eca7bdba8f..bf23501151 100644 --- a/test/org.eclipse.elk.core.test/.classpath +++ b/test/org.eclipse.elk.core.test/.classpath @@ -1,7 +1,11 @@ - + - + + + + + diff --git a/test/org.eclipse.elk.core.test/META-INF/MANIFEST.MF b/test/org.eclipse.elk.core.test/META-INF/MANIFEST.MF index 079e6fa392..1e961000ed 100644 --- a/test/org.eclipse.elk.core.test/META-INF/MANIFEST.MF +++ b/test/org.eclipse.elk.core.test/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: ELK Core Tests Bundle-SymbolicName: org.eclipse.elk.core.test;singleton:=true Bundle-Version: 0.9.0.qualifier -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: com.google.guava, org.junit;bundle-version="4.12.0", org.eclipse.elk.core, diff --git a/test/org.eclipse.elk.graph.json.test/.classpath b/test/org.eclipse.elk.graph.json.test/.classpath index 428337e560..6849aa2d4a 100644 --- a/test/org.eclipse.elk.graph.json.test/.classpath +++ b/test/org.eclipse.elk.graph.json.test/.classpath @@ -1,8 +1,16 @@ - + - - + + + + + + + + + + diff --git a/test/org.eclipse.elk.graph.json.test/META-INF/MANIFEST.MF b/test/org.eclipse.elk.graph.json.test/META-INF/MANIFEST.MF index 7f5fccabef..19d8bf5893 100644 --- a/test/org.eclipse.elk.graph.json.test/META-INF/MANIFEST.MF +++ b/test/org.eclipse.elk.graph.json.test/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: ELK Graph JSON Tests Bundle-SymbolicName: org.eclipse.elk.graph.json.test;singleton:=true Bundle-Version: 0.9.0.qualifier -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-Vendor: Eclipse Modeling Project Require-Bundle: com.google.guava, com.google.gson;bundle-version="2.8.2", diff --git a/test/org.eclipse.elk.graph.test/.classpath b/test/org.eclipse.elk.graph.test/.classpath index eca7bdba8f..bf23501151 100644 --- a/test/org.eclipse.elk.graph.test/.classpath +++ b/test/org.eclipse.elk.graph.test/.classpath @@ -1,7 +1,11 @@ - + - + + + + + diff --git a/test/org.eclipse.elk.graph.test/META-INF/MANIFEST.MF b/test/org.eclipse.elk.graph.test/META-INF/MANIFEST.MF index 3d73c3238d..05f1784819 100644 --- a/test/org.eclipse.elk.graph.test/META-INF/MANIFEST.MF +++ b/test/org.eclipse.elk.graph.test/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: ELK Graph Model Tests Bundle-SymbolicName: org.eclipse.elk.graph.test;singleton:=true Bundle-Version: 0.9.0.qualifier -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-Vendor: Eclipse Modeling Project Require-Bundle: com.google.guava, org.eclipse.elk.graph, diff --git a/test/org.eclipse.elk.shared.test/.classpath b/test/org.eclipse.elk.shared.test/.classpath index eca7bdba8f..bf23501151 100644 --- a/test/org.eclipse.elk.shared.test/.classpath +++ b/test/org.eclipse.elk.shared.test/.classpath @@ -1,7 +1,11 @@ - + - + + + + + diff --git a/test/org.eclipse.elk.shared.test/META-INF/MANIFEST.MF b/test/org.eclipse.elk.shared.test/META-INF/MANIFEST.MF index f3949ae8b0..857e82e9fc 100644 --- a/test/org.eclipse.elk.shared.test/META-INF/MANIFEST.MF +++ b/test/org.eclipse.elk.shared.test/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: ELK Shared Tests Bundle-SymbolicName: org.eclipse.elk.shared.test;singleton:=true Bundle-Version: 0.9.0.qualifier -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: com.google.guava, org.junit;bundle-version="4.12.0", org.eclipse.elk.core,