Skip to content

Commit df4b8d4

Browse files
authored
GEOMESA-3521 Update to GeoTools 34 (#3440)
* Update to Java 17 * Remove 'data' tools jar * Remove geomesa-process-wps module
1 parent fb0a191 commit df4b8d4

File tree

90 files changed

+509
-840
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+509
-840
lines changed

.github/dependabot.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ updates:
2121
allow:
2222
- dependency-name: "org.apache.maven.plugins:*"
2323
- dependency-name: "com.mycila:license-maven-plugin"
24+
- dependency-name: "net.alchim31.maven:scala-maven-plugin"
2425
- dependency-name: "org.codehaus.mojo:build-helper-maven-plugin"
2526
- dependency-name: "org.cyclonedx:cyclonedx-maven-plugin"
2627
- dependency-name: "org.scoverage:scoverage-maven-plugin"

.github/workflows/build-and-test.yml

Lines changed: 143 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,9 @@ permissions: # added using https://github.com/step-security/secure-repo
5050
contents: read
5151

5252
env:
53-
MAVEN_CLI_OPTS: -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dlicense.skip=true --batch-mode
53+
MAVEN_CLI_OPTS: -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false --batch-mode
54+
MAVEN_COMPILE_OPTS: -T4 -DskipTests -Dlicense.skip=true -Dmaven.assembly.skip=true
55+
MAVEN_TEST_OPTS: -Dtest.fork.count=1 -Dlicense.skip=true
5456

5557
jobs:
5658
compile:
@@ -60,17 +62,15 @@ jobs:
6062
- uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
6163
with:
6264
distribution: 'temurin'
63-
java-version: '11'
65+
java-version: '17'
6466
- uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
6567
with:
6668
key: ${{ hashFiles('**/pom.xml') }}-compile-${{ inputs.scala-version }}
67-
path: |
68-
~/.m2/repository/
69-
build/zinc-0.3.15/
69+
path: ~/.m2/repository/
7070
- name: Set Scala version
7171
run: ./build/scripts/change-scala-version.sh ${{ inputs.scala-version }}
7272
- name: Build with Maven
73-
run: ./build/mvn clean install $MAVEN_CLI_OPTS -DskipTests -T4
73+
run: mvn clean install $MAVEN_CLI_OPTS $MAVEN_COMPILE_OPTS
7474
- name: Collect artifacts
7575
run: |
7676
mv ~/.m2/repository/org/locationtech/geomesa m2-geomesa
@@ -88,6 +88,8 @@ jobs:
8888
run: rm -rf ~/.m2/repository/org/locationtech/geomesa
8989
unit-tests:
9090
name: unit-tests (${{ matrix.tests.name }})
91+
runs-on: ubuntu-latest
92+
needs: compile
9193
strategy:
9294
fail-fast: false
9395
matrix:
@@ -136,19 +138,117 @@ jobs:
136138
selector: -f geomesa-utils-parent
137139
- name: others
138140
selector: -pl geomesa-filter,geomesa-index-api,geomesa-jobs,geomesa-security,geomesa-tools,geomesa-z3
139-
needs: compile
140-
uses: ./.github/workflows/unit-tests.yml
141-
with:
142-
test-name: ${{ matrix.tests.name }}
143-
module-selector: ${{ matrix.tests.selector }}
144-
scala-version: ${{ inputs.scala-version }}
141+
steps:
142+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
143+
- uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
144+
with:
145+
distribution: 'temurin'
146+
java-version: '17'
147+
- name: Generate cache key
148+
env:
149+
MOD_SELECTOR: "${{ matrix.tests.selector }}"
150+
run: echo "MOD_SELECTOR=$(echo $MOD_SELECTOR | sed 's/[^a-zA-Z0-9_.-]/-/g' | head -c 256)" >> $GITHUB_ENV
151+
- uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
152+
with:
153+
key: ${{ hashFiles('**/pom.xml') }}-unit-tests-${{ inputs.scala-version }}-${{ env.MOD_SELECTOR }}
154+
path: ~/.m2/repository/
155+
- name: Set Scala version
156+
run: ./build/scripts/change-scala-version.sh ${{ inputs.scala-version }}
157+
- name: Download artifacts
158+
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
159+
with:
160+
name: classes-and-jars-${{ inputs.scala-version }}
161+
- name: Install artifacts
162+
run: |
163+
tar -xf classes.tgz
164+
mkdir -p ~/.m2/repository/org/locationtech/geomesa
165+
mv m2-geomesa/* ~/.m2/repository/org/locationtech/geomesa/
166+
- name: Unit tests
167+
id: test
168+
continue-on-error: true
169+
run: |
170+
set -o pipefail
171+
mvn surefire:test $MAVEN_CLI_OPTS $MAVEN_TEST_OPTS ${{ matrix.tests.selector }} | tee -a test.log
172+
- name: Unit tests (retry)
173+
id: test-retry
174+
if: steps.test.outcome=='failure'
175+
continue-on-error: true
176+
run: |
177+
set -o pipefail
178+
RESUME_FROM="$({ grep --text 'mvn <args> -rf ' test.log || test $? = 1; } | tail -n1 | sed 's/.*-rf/-rf/')"
179+
mvn surefire:test $MAVEN_CLI_OPTS $MAVEN_TEST_OPTS $RESUME_FROM ${{ matrix.tests.selector }} | tee -a test.log
180+
- name: Unit tests (retry)
181+
id: test-retry-retry
182+
if: steps.test-retry.outcome=='failure'
183+
run: |
184+
set -o pipefail
185+
RESUME_FROM="$({ grep --text 'mvn <args> -rf ' test.log || test $? = 1; } | tail -n1 | sed 's/.*-rf/-rf/')"
186+
mvn surefire:test $MAVEN_CLI_OPTS $MAVEN_TEST_OPTS $RESUME_FROM ${{ matrix.tests.selector }} | tee -a test.log
187+
- name: Remove geomesa artifacts
188+
if: success() || failure()
189+
run: rm -rf ~/.m2/repository/org/locationtech/geomesa
145190
integration-tests:
191+
runs-on: ubuntu-latest
146192
needs: compile
147-
uses: ./.github/workflows/integration-tests.yml
148-
with:
149-
scala-version: ${{ inputs.scala-version }}
193+
steps:
194+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
195+
- uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
196+
with:
197+
distribution: 'temurin'
198+
java-version: '17'
199+
- uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
200+
with:
201+
key: ${{ hashFiles('**/pom.xml') }}-it-${{ inputs.scala-version }}
202+
path: ~/.m2/repository/
203+
- name: Set Scala version
204+
run: ./build/scripts/change-scala-version.sh ${{ inputs.scala-version }}
205+
- name: Download artifacts
206+
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
207+
with:
208+
name: classes-and-jars-${{ inputs.scala-version }}
209+
- name: Install artifacts
210+
run: |
211+
tar -xf classes.tgz
212+
mkdir -p ~/.m2/repository/org/locationtech/geomesa
213+
mv m2-geomesa/* ~/.m2/repository/org/locationtech/geomesa/
214+
- name: Integration Tests
215+
run: mvn failsafe:integration-test failsafe:verify $MAVEN_CLI_OPTS $MAVEN_TEST_OPTS
216+
- name: Remove geomesa artifacts
217+
if: success() || failure()
218+
run: rm -rf ~/.m2/repository/org/locationtech/geomesa
219+
assembly:
220+
runs-on: ubuntu-latest
221+
needs: compile
222+
steps:
223+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
224+
- uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
225+
with:
226+
distribution: 'temurin'
227+
java-version: '17'
228+
- uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
229+
with:
230+
key: ${{ hashFiles('**/pom.xml') }}-assembly-${{ inputs.scala-version }}
231+
path: ~/.m2/repository/
232+
- name: Set Scala version
233+
run: ./build/scripts/change-scala-version.sh ${{ inputs.scala-version }}
234+
- name: Download artifacts
235+
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
236+
with:
237+
name: classes-and-jars-${{ inputs.scala-version }}
238+
- name: Install artifacts
239+
run: |
240+
tar -xf classes.tgz
241+
mkdir -p ~/.m2/repository/org/locationtech/geomesa
242+
mv m2-geomesa/* ~/.m2/repository/org/locationtech/geomesa/
243+
- name: Build assemblies
244+
run: mvn "assembly:single@make-assembly" -Dassembly.ignoreMissingDescriptor=true $MAVEN_CLI_OPTS
245+
- name: Remove geomesa artifacts
246+
if: success() || failure()
247+
run: rm -rf ~/.m2/repository/org/locationtech/geomesa
150248
javadocs:
151249
name: javadocs (${{ matrix.docs.name }})
250+
runs-on: ubuntu-latest
251+
needs: compile
152252
strategy:
153253
fail-fast: false
154254
matrix:
@@ -173,12 +273,34 @@ jobs:
173273
!geomesa-features/geomesa-feature-exporters,!geomesa-redis/geomesa-redis-datastore,\
174274
!geomesa-gt/geomesa-gt-partitioning,!geomesa-hbase/geomesa-hbase-datastore,\
175275
!geomesa-cassandra/geomesa-cassandra-datastore'"
176-
needs: compile
177-
uses: ./.github/workflows/javadocs.yml
178-
with:
179-
build-id: -${{ matrix.docs.name }}
180-
scala-version: ${{ inputs.scala-version }}
181-
module-selector: ${{ matrix.docs.selector }}
276+
steps:
277+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
278+
- uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
279+
with:
280+
distribution: 'temurin'
281+
java-version: '17'
282+
- uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
283+
with:
284+
key: ${{ hashFiles('**/pom.xml') }}-javadocs-${{ inputs.scala-version }}
285+
path: ~/.m2/repository/
286+
- name: Set Scala version
287+
run: ./build/scripts/change-scala-version.sh ${{ inputs.scala-version }}
288+
- name: Download artifacts
289+
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
290+
with:
291+
name: classes-and-jars-${{ inputs.scala-version }}
292+
- name: Install artifacts
293+
run: |
294+
tar -xf classes.tgz
295+
mkdir -p ~/.m2/repository/org/locationtech/geomesa
296+
mv m2-geomesa/* ~/.m2/repository/org/locationtech/geomesa/
297+
- name: Build scaladocs
298+
run: mvn generate-sources scala:doc-jar ${{ matrix.docs.selector }} $MAVEN_CLI_OPTS
299+
- name: Build javadocs
300+
run: mvn generate-sources javadoc:jar $MAVEN_CLI_OPTS -pl :geomesa-arrow-jts
301+
- name: Remove geomesa artifacts
302+
if: success() || failure()
303+
run: rm -rf ~/.m2/repository/org/locationtech/geomesa
182304
dash:
183305
needs: compile
184306
uses: ./.github/workflows/dash.yml

.github/workflows/dash-scheduled.yml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,15 @@ jobs:
2323
- uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
2424
with:
2525
distribution: 'temurin'
26-
java-version: '11'
26+
java-version: '17'
2727
- uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
2828
with:
2929
key: ${{ hashFiles('**/pom.xml') }}-dash-scheduled-${{ matrix.version }}
30-
path: |
31-
~/.m2/repository/
32-
build/zinc-0.3.15/
30+
path: ~/.m2/repository/
3331
- name: Set Scala version
3432
run: ./build/scripts/change-scala-version.sh ${{ matrix.version }}
3533
- name: Build with Maven
36-
run: ./build/mvn clean install $MAVEN_CLI_OPTS -DskipTests -T4
34+
run: mvn clean install $MAVEN_CLI_OPTS -DskipTests -T4
3735
- name: Collect artifacts
3836
run: |
3937
mv ~/.m2/repository/org/locationtech/geomesa m2-geomesa

.github/workflows/dash.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050
if: steps.pom_changes.outputs.pom_changed == 'true'
5151
with:
5252
distribution: 'temurin'
53-
java-version: '11'
53+
java-version: '17'
5454
- uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
5555
if: steps.pom_changes.outputs.pom_changed == 'true'
5656
with:

.github/workflows/docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
- uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
2424
with:
2525
distribution: 'temurin'
26-
java-version: '11'
26+
java-version: '17'
2727
- uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
2828
with:
2929
key: ${{ hashFiles('**/pom.xml') }}-docs

.github/workflows/eclipse-snapshots.yml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,11 @@ jobs:
2525
- uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
2626
with:
2727
distribution: 'temurin'
28-
java-version: '11'
28+
java-version: '17'
2929
- uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
3030
with:
3131
key: ${{ hashFiles('**/pom.xml') }}-eclipse-snapshots-${{ matrix.version }}
32-
path: |
33-
~/.m2/repository/
34-
build/zinc-0.3.15/
32+
path: ~/.m2/repository/
3533
- name: Create settings.xml
3634
run: |
3735
mkdir -p ~/.m2
@@ -49,7 +47,7 @@ jobs:
4947
- name: Set Scala version
5048
run: ./build/scripts/change-scala-version.sh ${{ matrix.version }}
5149
- name: Build with Maven
52-
run: ./build/mvn clean deploy -Peclipse -DskipTests -Dmaven.deploy.at.end=false $MAVEN_CLI_OPTS
50+
run: mvn clean deploy -Peclipse -DskipTests -Dmaven.deploy.at.end=false $MAVEN_CLI_OPTS
5351
- name: Remove geomesa artifacts
5452
if: success() || failure()
5553
run: rm -rf ~/.m2/repository/org/locationtech/geomesa

.github/workflows/integration-tests.yml

Lines changed: 0 additions & 45 deletions
This file was deleted.

.github/workflows/javadocs.yml

Lines changed: 0 additions & 56 deletions
This file was deleted.

.github/workflows/license-headers.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
- uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
2424
with:
2525
distribution: 'temurin'
26-
java-version: '11'
26+
java-version: '17'
2727
- uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
2828
with:
2929
key: ${{ hashFiles('**/pom.xml') }}-license-header-check

0 commit comments

Comments
 (0)