Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: CI

on:
push:
branches: [ master, develop ]
pull_request:
branches: [ master, develop ]

jobs:
build:
name: Build & Test (Java 25)
runs-on: ubuntu-latest

steps:
- name: Check out source
uses: actions/checkout@v4

- name: Set up JDK 25
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '25'
cache: maven

# JOGL opens a display connection during class initialisation even in
# headless mode on some paths. xvfb provides a virtual framebuffer so
# those code paths don't abort with "no display" errors on the runner.
- name: Install Xvfb
run: sudo apt-get install -y xvfb

- name: Compile
run: mvn --batch-mode --no-transfer-progress compile

- name: Test
# AWT headless is already set via maven-surefire-plugin in pom.xml;
# xvfb-run provides a fallback display for any JOGL-initialising tests.
run: xvfb-run --auto-servernum mvn --batch-mode --no-transfer-progress test

- name: Upload test reports on failure
if: failure()
uses: actions/upload-artifact@v4
with:
name: surefire-reports-java25
path: target/surefire-reports/
retention-days: 7
52 changes: 52 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Release

on:
push:
tags:
- 'v*.*.*' # e.g. v2.3.0

jobs:
release:
name: Build & publish release
runs-on: ubuntu-latest
permissions:
contents: write # needed to create GitHub Release and upload assets

steps:
- name: Check out source
uses: actions/checkout@v4

- name: Set up JDK 25
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '25'
cache: maven

- name: Install Xvfb
run: sudo apt-get install -y xvfb

# Compile, test, package, and generate Javadoc in one Maven invocation.
# Tests run before packaging — refuse to release a broken build.
- name: Build, test, and package
run: xvfb-run --auto-servernum mvn --batch-mode --no-transfer-progress verify javadoc:javadoc

# Zip the Javadoc tree so it can be attached as a single release asset.
- name: Zip Javadoc
run: |
VERSION="${GITHUB_REF_NAME#v}"
cd target/site
zip -r "../../worldwind-java-${VERSION}-javadoc.zip" apidocs/
echo "RELEASE_VERSION=${VERSION}" >> "$GITHUB_ENV"

- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
name: "WorldWind Java ${{ env.RELEASE_VERSION }}"
body: |
See [RELEASE_NOTES.txt](https://github.com/${{ github.repository }}/blob/${{ github.ref_name }}/RELEASE_NOTES.txt) for details.
files: |
target/worldwind-java-${{ env.RELEASE_VERSION }}.jar
worldwind-java-${{ env.RELEASE_VERSION }}-javadoc.zip
draft: false
prerelease: false
File renamed without changes.
31 changes: 21 additions & 10 deletions LICENSE.jackson.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,24 @@
This copy of Jackson JSON processor is licensed under the
Apache (Software) License, version 2.0 ("the License").
See the License for details about distribution rights, and the
specific rights regarding derivate works.
Jackson Core 2.18.2
-------------------
Jackson is a high-performance JSON processor for Java.

You may obtain a copy of the License at:
Copyright (C) 2007- Tatu Saloranta (tatu.saloranta@iki.fi) and contributors.

http://www.apache.org/licenses/
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

A copy is also included with both the the downloadable source code package
and jar that contains class bytecodes, as file "ASL 2.0". In both cases,
that file should be located next to this file: in source distribution
the location should be "release-notes/asl"; and in jar "META-INF/"
http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Project home: https://github.com/FasterXML/jackson-core
Maven artifact: com.fasterxml.jackson.core:jackson-core:2.18.2

Note: This project previously bundled Jackson 1.x (org.codehaus.jackson) as
vendored source code. That code has been replaced by a Maven dependency on
Jackson Core 2.x (com.fasterxml.jackson.core) as of 2026-04-30.
Loading