Skip to content

Commit

Permalink
Merge branch 'master' into cln/tree-algo
Browse files Browse the repository at this point in the history
  • Loading branch information
Eddykasp committed Aug 28, 2024
2 parents d4dc7de + ad04950 commit 567c0c7
Show file tree
Hide file tree
Showing 240 changed files with 2,349 additions and 624 deletions.
26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.
Add a graph to reproduce your problem.
Linking the graph in ELKT or JSON format via [elklive](https://rtsys.informatik.uni-kiel.de/elklive/elkgraph.html) (or with the [JSON editor](https://rtsys.informatik.uni-kiel.de/elklive/json.html)) is preferred.
You can also [convert](https://rtsys.informatik.uni-kiel.de/elklive/conversion.html) between the two.

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**ELK Version**
The ELK or elkjs version. Can also be selected in [elklive](https://rtsys.informatik.uni-kiel.de/elklive/index.html).

**Additional context**
Add any other context about the problem here.
26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/question.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
name: Question
about: Ask a question about layout configuration
title: "[Question]"
labels: question
assignees: ''

---

**Ask your questions**
A clear and concise description of what you want to do.
Add a graph to reproduce to showcase what you want to do.
Linking the graph in ELKT or JSON format via [elklive](https://rtsys.informatik.uni-kiel.de/elklive/elkgraph.html) (or with the [JSON editor](https://rtsys.informatik.uni-kiel.de/elklive/json.html)) is preferred.
You can also [convert](https://rtsys.informatik.uni-kiel.de/elklive/conversion.html) between the two.

**(Optional) Expected behavior**
A clear and concise description of what you expected to happen.

**(Optional) Screenshots**
If applicable, add screenshots to help explain your problem.

**(Optional) ELK Version**
The ELK or elkjs version. Can also be selected in [elklive](https://rtsys.informatik.uni-kiel.de/elklive/index.html).

**(Optional) Additional context**
Add whatever we need to know about your question.
14 changes: 7 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,30 +12,30 @@ 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)
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
path: elk
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
repository: eclipse/elk-models
path: elk-models
# Prepare and use a cache for maven
- uses: actions/cache@v1
- uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Set up Java version ${{ matrix.java-version }}
uses: actions/setup-java@v1
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: ${{ matrix.java-version }}
- name: Build and verify with maven
# Run mvn in the 'build' folder
Expand Down
21 changes: 11 additions & 10 deletions .github/workflows/elkjs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,42 +12,43 @@ 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.
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
path: elk
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
repository: kieler/elkjs
path: elkjs
# Prepare and use caches for both gradle and npm.
- name: Cache gradle packages
uses: actions/cache@v1
uses: actions/cache@v4
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
restore-keys: ${{ runner.os }}-gradle
- name: Cache npm
uses: actions/cache@v1
uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }}
restore-keys: ${{ runner.os }}-node-
# elkjs (or rather GWT) requires Java 1.8
- name: Set up JDK ${{ matrix.java-version }}
uses: actions/setup-java@v1
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: ${{ matrix.java-version }}
- name: Grant execute permission for gradlew
run: chmod +x $GITHUB_WORKSPACE/elkjs/gradlew
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
# Finally build elkjs and run its tests
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,30 +14,30 @@ 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)
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
path: elk
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
repository: eclipse/elk-models
path: elk-models
# Prepare and use a cache for maven
- uses: actions/cache@v1
- uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Set up Java version ${{ matrix.java-version }}
uses: actions/setup-java@v1
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: ${{ matrix.java-version }}
- name: Build and verify with maven
# Run mvn in the 'build' folder
Expand Down
File renamed without changes.
13 changes: 12 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,16 @@ infrastructure to connect them to diagram editors.

* https://www.eclipse.org/elk/

## Creating issues

Before creating a new issue with a question, bug report, feature request or similar,
please use the search to avoid creating duplicate issues. In most cases when you create
an issue it is helpful to create and link an example in [elklive](https://rtsys.informatik.uni-kiel.de/elklive/).
There you can also select the version of ELK that should be used.
For questions regarding layout options, the [reference](https://eclipse.dev/elk/reference.html)
can help. In particular you can see what options are supported by which algorithms.
If these resources are not sufficient to solve your problem, please create an issue using the appropriate template!

## Developer resources

Information regarding source code management, builds, and more.
Expand All @@ -24,6 +34,7 @@ The project maintains the following source code repositories

* https://github.com/eclipse/elk
* https://github.com/eclipse/elk-models
* https://github.com/eclipse/elk-website

## Eclipse Contributor Agreement

Expand All @@ -45,4 +56,4 @@ https://www.eclipse.org/projects/handbook/#resources-commit

Contact the project developers via the project's "dev" list.

* https://dev.eclipse.org/mailman/listinfo/elk-dev
* https://dev.eclipse.org/mailman/listinfo/elk-dev
24 changes: 18 additions & 6 deletions NOTICE.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,26 +37,38 @@ 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 Guava (33.0.0)

* License: Apache License 2.0

Google Guice / Inject Core API (5.0.1)

* License: Apache License, 2.0

ICU4J (74.2)

* License: ICU

libavoid (0.3.1)

* License: GNU Lesser General Public License, 2.1

Ptolemy demo models (n/a)

* License: Ptolemy License (Custom)
Expand All @@ -68,4 +80,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.
permitted.
File renamed without changes.
6 changes: 3 additions & 3 deletions build/Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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: '[email protected], [email protected], [email protected]'
to: '[email protected], [email protected]'
}

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: '[email protected], [email protected], [email protected]'
to: '[email protected], [email protected]'
}
}
}
15 changes: 9 additions & 6 deletions build/RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:[email protected]) 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:
Expand All @@ -23,15 +23,18 @@ The Eclipse release process is described in more detail in the [Eclipse Project
Update site for the Eclipse Layout Kernel, version VERSION_NUMBER.
</description>
```
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
--------------------- | ---------------------------------------------------------------------
`BRANCH` | `releases/VERSION`
`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.
Pre-releases should point to a separate directory. Otherwise people that already use the pre-release have to clean their p2 directory to avoid problems.

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:

```
Expand All @@ -52,7 +55,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.


Expand Down
Loading

0 comments on commit 567c0c7

Please sign in to comment.