diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs
index 875f4fb67b8..bed6a5ba84b 100644
--- a/.git-blame-ignore-revs
+++ b/.git-blame-ignore-revs
@@ -9,3 +9,6 @@
# reorder and reformat GTFS GraphQL API schema file with graphql-java
14051fab312a67cae9a460aaf0bbc77223bec624
+
+# Make OTP a multi-module project
+ead33ffe280dd7caf72cae5ff7a41542e8427636
diff --git a/.github/workflows/cibuild.yml b/.github/workflows/cibuild.yml
index b69d998eca7..e778fe25679 100644
--- a/.github/workflows/cibuild.yml
+++ b/.github/workflows/cibuild.yml
@@ -121,7 +121,7 @@ jobs:
- name: Build GTFS GraphQL API documentation
run: |
- npm install -g @magidoc/cli@6.0.0
+ npm install -g @magidoc/cli@6.1.0
magidoc generate --stacktrace
- name: Deploy compiled HTML to Github pages
@@ -154,7 +154,7 @@ jobs:
# schema hasn't changed.
# example commit: https://github.com/opentripplanner/docs/commit/45e6ddf8e4a4
- SCHEMA_FILE_MODIFIED=`git log -n 1 --pretty=format:%ct src/main/resources/org/opentripplanner/apis/gtfs/schema.graphqls`
+ SCHEMA_FILE_MODIFIED=`git log -n 1 --pretty=format:%ct application/src/main/resources/org/opentripplanner/apis/gtfs/schema.graphqls`
echo "schema modified at ${SCHEMA_FILE_MODIFIED}"
git checkout $LOCAL_BRANCH
DOCS_MODIFIED=`git log -n 1 --pretty=format:%ct api/dev-2.x/graphql-gtfs/introduction.html`
@@ -179,9 +179,9 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
- node-version: 16
+ node-version: 22
- name: Run code generator
- working-directory: src/main/java/org/opentripplanner/apis/gtfs/generated
+ working-directory: application/src/main/java/org/opentripplanner/apis/gtfs/generated
run: |
yarn install
yarn generate
diff --git a/.github/workflows/debug-client.yml b/.github/workflows/debug-client.yml
index 6857b56b161..3c87e1c1b5c 100644
--- a/.github/workflows/debug-client.yml
+++ b/.github/workflows/debug-client.yml
@@ -76,8 +76,8 @@ jobs:
git checkout dev-2.x
git pull --rebase
- CLIENT_HTML_OUTPUT=src/client/index.html
- mkdir -p src/client/
+ CLIENT_HTML_OUTPUT=application/src/client/index.html
+ mkdir -p application/src/client/
cp client/output/index.html ${CLIENT_HTML_OUTPUT}
# just to debug
diff --git a/.github/workflows/performance-test.yml b/.github/workflows/performance-test.yml
index bfddea1b408..d1ab0bff4ea 100644
--- a/.github/workflows/performance-test.yml
+++ b/.github/workflows/performance-test.yml
@@ -88,17 +88,18 @@ jobs:
- name: Build graph
if: matrix.profile == 'core' || github.ref == 'refs/heads/dev-2.x'
run: |
- cp target/otp-*-SNAPSHOT-shaded.jar otp.jar
+ cp application/target/otp-*-SNAPSHOT-shaded.jar otp.jar
java -Xmx32G -jar otp.jar --build --save test/performance/${{ matrix.location }}/
- name: Run speed test
if: matrix.profile == 'core' || github.ref == 'refs/heads/dev-2.x'
+ working-directory: application
env:
PERFORMANCE_INFLUX_DB_PASSWORD: ${{ secrets.PERFORMANCE_INFLUX_DB_PASSWORD }}
SPEEDTEST_LOCATION: ${{ matrix.location }}
MAVEN_OPTS: "-Xmx50g -XX:StartFlightRecording=delay=${{ matrix.jfr-delay }},duration=30m,filename=${{ matrix.location}}-speed-test.jfr -Dmaven.repo.local=/home/lenni/.m2/repository/"
run: |
- mvn exec:java -Dexec.mainClass="org.opentripplanner.transit.speed_test.SpeedTest" -Dexec.classpathScope=test -Dexec.args="--dir=test/performance/${{ matrix.location }} -p md -n ${{ matrix.iterations }} -i 3 -0" -P prettierSkip
+ mvn exec:java -Dexec.mainClass="org.opentripplanner.transit.speed_test.SpeedTest" -Dexec.classpathScope=test -Dexec.args="--dir=../test/performance/${{ matrix.location }} -p md -n ${{ matrix.iterations }} -i 3 -0" -P prettierSkip
- name: Archive travel results file
if: matrix.profile == 'core' || github.ref == 'refs/heads/dev-2.x'
diff --git a/.github/workflows/prune-container-images.yml b/.github/workflows/prune-container-images.yml
index c1653701c3b..54c450cea90 100644
--- a/.github/workflows/prune-container-images.yml
+++ b/.github/workflows/prune-container-images.yml
@@ -18,5 +18,5 @@ jobs:
run: |
# remove all snapshot container images that have not been pulled for over a year
# --keep-semver makes sure that any image with a x.y.z version scheme is unaffected by this
- pip install prune-container-repo==0.0.4
+ pip install prune-container-repo==0.0.4 --break-system-packages
prune-container-repo -u ${CONTAINER_REGISTRY_USER} -r ${CONTAINER_REPO} --days=365 --keep-semver --activate
diff --git a/DEVELOPMENT_DECISION_RECORDS.md b/DEVELOPMENT_DECISION_RECORDS.md
index 10b9e005809..44aa031954f 100644
--- a/DEVELOPMENT_DECISION_RECORDS.md
+++ b/DEVELOPMENT_DECISION_RECORDS.md
@@ -16,7 +16,7 @@ tests. Expect to include some code cleanup as part of all PRs.
## Follow-Naming-Conventions
Use established terminology from GTFS, NeTEx or the existing OTP code. Make sure the code is easy
-to read and understand. [Follow naming conventions](CODE_CONVENTIONS.md#naming-conventions) .
+to read and understand. [Follow naming conventions](doc/dev/decisionrecords/NamingConventions.md#naming-conventions) .
## Write-Code-Documentation - Use JavaDoc
@@ -32,7 +32,7 @@ notes on `private` members and as inline comments.
**See also**
- [Developers-Guide > Code comments](doc/user/Developers-Guide.md#code-comments).
- - [Codestyle > Javadoc Guidlines](doc/dev/decisionrecords/Codestyle.md#javadoc-guidlines) - JavaDoc checklist
+ - [Codestyle > Javadoc Guidelines](doc/dev/decisionrecords/Codestyle.md#javadoc-guidlines) - JavaDoc checklist
## Document-Config-and-APIs
diff --git a/application/pom.xml b/application/pom.xml
new file mode 100644
index 00000000000..49c738a251e
--- /dev/null
+++ b/application/pom.xml
@@ -0,0 +1,518 @@
+
+
* Otherwise, recompute and return it.
*/
- public T get(@Nonnull Supplier
* TODO this ugliness can be removed when the bug gets fixed
*/
- @Nonnull
static Collection