Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin 2024 Q1 maintenance update (115 commits) #52

Open
wants to merge 115 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
115 commits
Select commit Hold shift + click to select a range
ceced45
gradle.properties: version=2.1.0-SNAPSHOT
dlmiles Mar 7, 2023
123c2f2
repositories: jcenter() => mavenCentral()
dlmiles Mar 7, 2023
bb7217b
GradleVersionCompatibility 8.0.2 thru 5.6
dlmiles Mar 7, 2023
d62c774
Update XJC 3.0 to use latest 3.0.x GA JARs
dlmiles Mar 7, 2023
4dfdeb7
adoc: Fix spelling of term xjcEpisode => xjcEpisodes
dlmiles Mar 7, 2023
7d76d5e
Added: JavaVersionUtil.kt
dlmiles Mar 8, 2023
f873479
AbstractBasicIntegrationTest return BuildResult
dlmiles Mar 8, 2023
b44ac47
Added: samples/xjc-tool-future-latest/** + IT
dlmiles Mar 8, 2023
15e754e
Cleanup: samples/xjc-version-2_2
dlmiles Mar 9, 2023
0963817
Cleanup: samples/xjc-version-3_0
dlmiles Mar 9, 2023
5d0990e
Added: samples/xjc-tool-2_2 + IT
dlmiles Mar 9, 2023
e22856e
Added: samples/xjc-tool-3_0 + IT
dlmiles Mar 9, 2023
13c111e
Added: samples/xjc-tool-2_3 + IT
dlmiles Mar 9, 2023
76c2e2f
Added: samples/xjc-version-2_3 + IT
dlmiles Mar 9, 2023
9a10207
Add support for XJC 2.4
dlmiles Mar 9, 2023
0dbc536
Added: samples/xjc-tool-2_4 + IT
dlmiles Mar 9, 2023
678d035
Update XJC 2.3 to use latest 2.3.x GA JARs
dlmiles Mar 9, 2023
5fbe014
Added: samples/xjc-version-2_4 + IT
dlmiles Mar 9, 2023
c000930
Added: samples/xjc-version-default + IT
dlmiles Mar 9, 2023
61f17c6
Added: samples/bindings + IT
dlmiles Mar 9, 2023
8a13598
Update XJC 2.2 to use later jaxb-api:2.2.12
dlmiles Mar 9, 2023
f3a1956
XjcPlugin: Comment improvement on -target support to reader
dlmiles Mar 9, 2023
7844ebf
Add Support for XJC 4.0
dlmiles Mar 9, 2023
e205eeb
XjcToolFutureIntegrationTest disable IT
dlmiles Mar 9, 2023
36bb353
Added: samples/xjc-version-4_0 + IT
dlmiles Mar 9, 2023
1a0c3f4
Added: samples/xjc-tool-4_0 + IT
dlmiles Mar 9, 2023
80cd793
Added: samples/bindings_jakarta + IT
dlmiles Mar 9, 2023
33372f2
ProjectProperties: Any => Serializable
dlmiles Mar 9, 2023
a43ca22
Issue#38 docLocale switch to using String type
dlmiles Mar 9, 2023
0247be6
URLClassLoader is a Closeable wrap with classLoader.use {}
dlmiles Mar 9, 2023
34fff7d
Warn when multiple bind-api seem present on classpath for XJC
dlmiles Mar 9, 2023
577a9f9
MavenUriResolver: Warn on multiple matches, clarify the selected one
dlmiles Mar 9, 2023
9ac6534
Added: samples/xjc-tool-2_2-legacy support for legacy XJC 2.2
dlmiles Mar 9, 2023
066478f
CatalogsWithCleanIntegrationTest: Failing test on Windows
dlmiles Mar 9, 2023
95625b8
CatalogsWithCleanIntegrationTest: JVM behaviour workaround
dlmiles Mar 10, 2023
3f73404
ContextClassLoaderHolder save/restore Thread.contextClassLoader
dlmiles Mar 10, 2023
d31bb95
Added: IOptionsAccessor for Options.encoding
dlmiles Mar 10, 2023
5279850
Support XJC 2.1 Legacy
dlmiles Mar 10, 2023
b0c1b8c
MavenUriResolver: improve hidden diagnostic
dlmiles Mar 10, 2023
1ff43db
MavenUriResolver: improve hidden diagnostic part2
dlmiles Mar 10, 2023
82b09fc
Added: .github/dependabot.yml
dlmiles Mar 10, 2023
deb45d8
Added samples/xjc-version-2_1-legacy + IT
dlmiles Mar 10, 2023
2d9891d
adoc: @Generated example
dlmiles Mar 10, 2023
4f46053
adoc: Jakarta era documentation information
dlmiles Mar 10, 2023
9459308
adoc: -target clarify meaning
dlmiles Mar 10, 2023
e40362e
adoc: quickstart added repositories{}
dlmiles Mar 10, 2023
a3878a8
adoc: catalogs tips for diagnostic
dlmiles Mar 14, 2023
d57bba9
adoc: XJC tool runtime Java compatibility table
dlmiles Mar 14, 2023
5555786
Support addClassNameReplacer() for -target 2.3
dlmiles Mar 14, 2023
002d3c3
Added: samples/xjc-tool-3_0-target-2_3/** + IT
dlmiles Mar 14, 2023
6381b87
Update: samples/xjc-tool-3_0 IT with package namespace check
dlmiles Mar 14, 2023
e9379ce
Added: samples/xjc-version-3_0-target-2_3/** + IT
dlmiles Mar 14, 2023
a4d430c
Update: samples/xjc-version-3_0 IT with package namespace check
dlmiles Mar 14, 2023
9f8366b
Added: samples/xjc-version-extensions/** + IT
dlmiles Mar 14, 2023
bb8e5b9
Added: samples/xjc-version-ext-mark-generated/** + IT
dlmiles Mar 14, 2023
778a471
Added: publish.gradle.kts
dlmiles Mar 14, 2023
a8452c8
Added: .github/workflows/build.yml
dlmiles Mar 14, 2023
435721e
Remove unused import jdk.nashorn.* also not default in JDK11
dlmiles Mar 7, 2023
46f7caf
README.adoc: github action badge
dlmiles Mar 14, 2023
7027090
build.yml: input.integrationTest ?
dlmiles Mar 14, 2023
4413426
build.yml: fail-fast: false
dlmiles Mar 14, 2023
96654ed
build.yml: github-pages
dlmiles Mar 21, 2023
5324ae2
Support future versions of XJC on a best-effort basis
dlmiles Mar 8, 2023
99f3151
Added: xjc.xjcVersionUnsupportedStrategy support
dlmiles Mar 8, 2023
4765225
README.adoc: update headline features
dlmiles Mar 24, 2023
12d5037
Bump org.ow2.asm:asm from 9.0 to 9.4
dependabot[bot] Mar 22, 2023
25a4369
Bump org.spekframework.spek2:spek-runner-junit5 from 2.0.9 to 2.0.15
dependabot[bot] Mar 19, 2023
25849d8
Bump org.asciidoctor.convert from 1.5.9.2 to 2.4.0
dependabot[bot] Mar 22, 2023
4515099
Bump com.gradle.plugin-publish from 0.12.0 to 0.21.0
dependabot[bot] Mar 24, 2023
36760a4
build.yml: deploy if ${{}}
dlmiles Mar 24, 2023
58dc1e8
bind-api.jar XjcTool classpass warning did not detect legacy versions.
dlmiles Mar 27, 2023
37f17f8
Removal of GUtil due to Gradle 9.0 deprecation removal
dlmiles Dec 7, 2023
c3fad43
Added: sampled/xjc-version-ext-basics-annox + IT
dlmiles Dec 7, 2023
f0fcafa
Replace Kotlin .max() use with 1.9.x compatible method
dlmiles Dec 7, 2023
a596a0c
integrationTest: GradleVersions property override for CI matrix use
dlmiles Dec 7, 2023
9088300
Bump actions/deploy-pages from 1 to 2
dependabot[bot] Mar 28, 2023
ff6007e
Bump org.unbroken-dome.test-sets from 3.0.1 to 4.0.0
dependabot[bot] Mar 28, 2023
e5c6947
Bump org.ow2.asm:asm from 9.4 to 9.5
dependabot[bot] Apr 4, 2023
965ab88
2.1.0-SNAPSHOT
dlmiles Mar 24, 2023
413a2e6
bugfix: build.gradle.kts fix xjc24CompileOnly default deps
dlmiles Mar 27, 2023
424f714
JDK21 support under Gradle 8.5
dlmiles Dec 7, 2023
aaf9c90
IT Compat Matrix: 8.5 +update
dlmiles Dec 7, 2023
4e4ed2f
Configuration Cache support (IT)
dlmiles Dec 7, 2023
d15e466
Configuration Cache support (refactor)
dlmiles Dec 7, 2023
52ccf80
@Suppress UNUSED_PARAMETER
dlmiles Dec 7, 2023
189558a
canary.yml: GHA CI workflow added
dlmiles Dec 7, 2023
d1be795
docs submodule -DexcludeDocsTasks will disable
dlmiles Dec 11, 2023
27b43d1
build.gradle.kts: Gradle 8.x compat xjcSourceSets
dlmiles Dec 11, 2023
29d5f6b
build.gradle.kts: JavaCompile.targetCompatibility = "1.8" (to match k…
dlmiles Dec 11, 2023
7413377
build.gradle.kts: kotlinVersion >= 1.6.20 use -Xjvm-default=all-compa…
dlmiles Dec 11, 2023
bba4944
XjcPlugin.kt reflectMethodAndInvoke() for Gradle 5.6/6 use of setOutp…
dlmiles Dec 11, 2023
6967ac1
build.yml: GRADLE_EXTRA_ARGS = --no-daemon
dlmiles Dec 12, 2023
b93bc64
build.gradle.kts: switch to org.darrylmiles.repack.org.unbroken-dome.…
dlmiles Dec 12, 2023
d16ad00
o.d.repack.org.unbroken-dome.test-sets fixup CI & gradle.properties c…
dlmiles Dec 12, 2023
9c6d5fd
REVIEW: IDE error markers over lack of this keyword use
dlmiles Dec 12, 2023
0781001
Bump actions/checkout from 3 to 4
dependabot[bot] Dec 12, 2023
679fbd9
Bump actions/setup-java from 3 to 4
dependabot[bot] Dec 12, 2023
8a3d17a
Bump actions/deploy-pages from 2 to 3
dependabot[bot] Dec 12, 2023
2ebb6df
Bump jayanta525/github-pages-directory-listing from 3.0.0 to 4.0.0
dependabot[bot] Dec 12, 2023
b26ea17
Added: samples/wsdl/** + IT
dlmiles Dec 14, 2023
61a3ce9
ReflectionHelper.kt on JPMS enabled JDK>=9 was to noisy
dlmiles Dec 14, 2023
4390526
build.yml on.push.branch==master
dlmiles Dec 14, 2023
7132a90
publish.gradle.kts: GitHubPackages task added
dlmiles Dec 14, 2023
6cd73c5
Bump org.spekframework.spek2:spek-dsl-jvm:2.0.15 (to match junit5)
dlmiles Dec 14, 2023
c4db909
build.gradle.kts: com.willowtreeapps.assertk:assertk-jvm:0.22 commentry
dlmiles Dec 14, 2023
dd56782
publish.yml added
dlmiles Dec 14, 2023
e64bdc6
README.adoc groupId for publish: org.darrylmiles.forked.org.unbroken-…
dlmiles Dec 14, 2023
7c303d3
Bump actions/download-artifact from 3 to 4
dependabot[bot] Dec 18, 2023
a3b9a09
Bump actions/upload-artifact from 3 to 4
dependabot[bot] Dec 18, 2023
ef0a52f
Bump xjc40 com.sun.xml.bind:jaxb-xjc:4.0.4
dlmiles Dec 19, 2023
2b49552
Bump xjc23 com.sun.xml.bind:jaxb-xjc:2.3.9
dlmiles Dec 19, 2023
0c3bfa1
build.yml: Update actions/download-artifact@v4 with: github-token
dlmiles Dec 19, 2023
c6ce86c
canary-consume.yml: Update actions/download-artifact@v4 with: github-…
dlmiles Dec 19, 2023
cc06963
Bump actions/deploy-pages from 3 to 4
dependabot[bot] Dec 25, 2023
8acbcda
2.2.0-SNAPSHOT
dlmiles Jan 19, 2024
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
18 changes: 18 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
version: 2
registries:
gradle-plugin-portal:
type: maven-repository
url: https://plugins.gradle.org/m2
username: dummy # Required by dependabot
password: dummy # Required by dependabot
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "gradle"
directory: "/"
registries:
- gradle-plugin-portal
schedule:
interval: "weekly"
275 changes: 275 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,275 @@
name: CI-Gradle-build

on:
push:
branches:
- master
release:
workflow_dispatch:
inputs:
GRADLE_TARGET_ENABLE_integrationTest:
description: 'Run with integrationTest ?'
default: false
type: boolean
schedule:
# FIXME we probably want this to work on the latest release tag only
# * is a special character in YAML
# setup monthly background build
# Hmm GH won't run schedule if no activity for 2 months
- cron: '45 4 18 * *'

jobs:
build:
strategy:
matrix:
os: [ubuntu-latest]
jvm: ['8', '11']
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Version
run: |
if [ -z "${GRADLE_TARGET_ENABLE_integrationTest}" ] && [ -n "${{ github.event.schedule }}" ]; then
# force this on for schedule build
# "${{ github.event.schedule }}" == "45 4 18 * *"
# $GITHUB_EVENT_NAME == "schedule"
echo "GRADLE_TARGET_ENABLE_integrationTest=true" >> $GITHUB_ENV
fi
target_plugin="org.unbroken-dome.xjc"
target_group=$(grep "^group=" gradle.properties | cut -d'=' -f2-)
target_artifact="gradle-xjc-plugin"
target_version=$(grep "^version=" gradle.properties | cut -d'=' -f2-)

echo "target_plugin=$target_plugin" >> $GITHUB_ENV
echo "target_group=$target_group" >> $GITHUB_ENV
echo "target_artifact=$target_artifact" >> $GITHUB_ENV
echo "target_version=$target_version" >> $GITHUB_ENV

- name: Java
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: ${{ matrix.jvm }}

- name: Gradle - wrapper-validation-action
uses: gradle/wrapper-validation-action@v1

- name: Gradle - setup
uses: gradle/gradle-build-action@v2

- name: Gradle - assemble
env: # to resolve artifacts from GH packages
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./gradlew $GRADLE_EXTRA_ARGS assemble

- name: Gradle - check
run: ./gradlew $GRADLE_EXTRA_ARGS check

- name: Gradle - integrationTest
if: ${{ vars.GRADLE_TARGET_ENABLE_integrationTest == 'true' || inputs.GRADLE_TARGET_ENABLE_integrationTest }}
run: ./gradlew $GRADLE_EXTRA_ARGS integrationTest

- name: Gradle - asciidoctor
run: ./gradlew $GRADLE_EXTRA_ARGS asciidoctor

- name: Gradle - dokka
run: ./gradlew $GRADLE_EXTRA_ARGS dokka

- name: Gradle - publish
run: ./gradlew $GRADLE_EXTRA_ARGS publish

- name: Upload - prepare
if: ${{ matrix.os == 'ubuntu-latest' }}
shell: bash
run: |
mkdir dist;
for dir in $(find . -type d -path "*/build/repo");
do
cp -a "$dir" "dist/";
done
find "dist" -type f -exec ls -ld {} \;
du -s "dist"

mkdir -p build/gh-pages
cp -a build/reports/tests build/gh-pages/

docs_build_dir="build"
[ -d docs/build ] && docs_build_dir="docs/build" || true
cp -a $docs_build_dir/asciidoc/html5/* build/gh-pages/
cp -a $docs_build_dir/dokka build/gh-pages/

mkdir -p build/gh-pages/maven2
cp -a build/repo/* build/gh-pages/maven2/

ls -lad build/gh-pages
du -s build/gh-pages

- name: Upload - java${{ matrix.jvm }}-github-pages
uses: actions/upload-pages-artifact@main
with:
name: java${{ matrix.jvm }}-github-pages
path: build/gh-pages/
retention-days: 1

- name: Upload - perform
uses: actions/upload-artifact@v4
if: ${{ matrix.os == 'ubuntu-latest' }}
with:
name: java${{ matrix.jvm }}-${{ env.target_group }}-${{ env.target_artifact }}-${{ env.target_version }}-artifacts
path: dist/repo/*
if-no-files-found: error


gh-pages-prepare:
needs: build

runs-on: ubuntu-latest
env:
GRADLE_EXTRA_ARGS: --no-daemon
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Version
run: |
if [ -z "${GRADLE_TARGET_ENABLE_integrationTest}" ] && [ -n "${{ github.event.schedule }}" ]; then
# force this on for schedule build
# "${{ github.event.schedule }}" == "45 4 18 * *"
# $GITHUB_EVENT_NAME == "schedule"
echo "GRADLE_TARGET_ENABLE_integrationTest=true" >> $GITHUB_ENV
fi
target_plugin="org.unbroken-dome.xjc"
target_group=$(grep "^group=" gradle.properties | cut -d'=' -f2-)
target_artifact="gradle-xjc-plugin"
target_version=$(grep "^version=" gradle.properties | cut -d'=' -f2-)

echo "target_plugin=$target_plugin" >> $GITHUB_ENV
echo "target_group=$target_group" >> $GITHUB_ENV
echo "target_artifact=$target_artifact" >> $GITHUB_ENV
echo "target_version=$target_version" >> $GITHUB_ENV

- name: Download - java8-${{ env.target_group }}-${{ env.target_artifact }}-${{ env.target_version }}-artifacts
uses: actions/download-artifact@v4
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
name: java8-${{ env.target_group }}-${{ env.target_artifact }}-${{ env.target_version }}-artifacts
path: build/java8-artifacts/

- name: Download - java8-github-pages
uses: actions/download-artifact@v4
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
name: java8-github-pages
path: build/java8-github-pages-artifacts/

- name: Download - java11-${{ env.target_group }}-${{ env.target_artifact }}-${{ env.target_version }}-artifacts
uses: actions/download-artifact@v4
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
name: java11-${{ env.target_group }}-${{ env.target_artifact }}-${{ env.target_version }}-artifacts
path: build/java11-artifacts/

- name: Download - java11-github-pages
uses: actions/download-artifact@v4
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
name: java11-github-pages
path: build/java11-github-pages-artifacts/

- name: Shell
run: |
pwd
ls -la
find . -type f
ls -lR build

echo "#### build/java8-github-pages-artifacts/artifact.tar:"
#[ ! -f "build/java8-github-pages-artifacts/artifact.tar" ] || tar -tvf "build/java8-github-pages-artifacts/artifact.tar"
mkdir -p build/java8-github-pages/
tar -xvf build/java8-github-pages-artifacts/artifact.tar -C build/java8-github-pages/

echo "#### build/java11-github-pages-artifacts/artifact.tar:"
#[ ! -f "build/java11-github-pages-artifacts/artifact.tar" ] || tar -tvf "build/java11-github-pages-artifacts/artifact.tar"
mkdir -p build/java11-github-pages/
tar -xvf build/java11-github-pages-artifacts/artifact.tar -C build/java11-github-pages/

mkdir -p build/gh-pages/

# build/gh-pages/artifacts
mkdir -p build/gh-pages/artifacts
tar -cf "build/gh-pages/artifacts/java8-${{ env.target_group }}-${{ env.target_artifact }}-${{ env.target_version }}-artifacts.tar.gz" -C build/java8-artifacts/ .
pushd build/java8-artifacts
zip -q -r "../gh-pages/artifacts/java8-${{ env.target_group }}-${{ env.target_artifact }}-${{ env.target_version }}-artifacts.zip" .
popd
tar -cf "build/gh-pages/artifacts/java11-${{ env.target_group }}-${{ env.target_artifact }}-${{ env.target_version }}-artifacts.tar.gz" -C build/java11-artifacts/ .
pushd build/java11-artifacts
zip -q -r "../gh-pages/artifacts/java11-${{ env.target_group }}-${{ env.target_artifact }}-${{ env.target_version }}-artifacts.zip" .
popd

# build/gh-pages/index.html (asciidoctor)
# build/gh-pages/dokka/
cp -av build/java8-github-pages/* build/gh-pages/

mkdir -p build/gh-pages/java8
# build/gh-pages/java8/tests/
cp -a build/java8-github-pages/tests build/gh-pages/java8/
# build/gh-pages/java8/maven2/
cp -a build/java8-github-pages/maven2 build/gh-pages/java8/
touch build/gh-pages/java8/maven2/M2_Java8_Artifacts.txt

mkdir -p build/gh-pages/java11
# build/gh-pages/java11/tests/
cp -a build/java11-github-pages/tests build/gh-pages/java11/
# build/gh-pages/java11/maven2/
cp -a build/java11-github-pages/maven2 build/gh-pages/java11/
touch build/gh-pages/java11/maven2/M2_Java11_Artifacts.txt

echo "#### DONE ####"
pwd
ls -la
find . -type f
ls -lR build

- name: github-pages - artifacts/ Generate Directory Listings
uses: jayanta525/github-pages-directory-listing@624ac8c4e56893256d3772f61a88e3b14d54314e
with:
FOLDER: build/gh-pages/artifacts/ #directory to generate index

- name: github-pages - java8/ Generate Directory Listings
uses: jayanta525/github-pages-directory-listing@624ac8c4e56893256d3772f61a88e3b14d54314e
with:
FOLDER: build/gh-pages/java8/ #directory to generate index

- name: github-pages - java11/ Generate Directory Listings
uses: jayanta525/github-pages-directory-listing@624ac8c4e56893256d3772f61a88e3b14d54314e
with:
FOLDER: build/gh-pages/java11/ #directory to generate index

- name: Upload - github-pages
uses: actions/upload-pages-artifact@main
with:
name: github-pages
path: build/gh-pages/
retention-days: 90


deploy:
if: ( github.ref == 'master' && github.event_name == 'push' ) || github.event_name == 'release' || github.event_name == 'schedule'
needs: gh-pages-prepare

permissions:
pages: write
id-token: write

environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
Loading