Enable type parameter traversal in exact type patterns #745
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow will build a Java project with Maven | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven | |
# | |
# Suppress Maven download messages by "-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn", | |
# see https://blogs.itemis.com/en/in-a-nutshell-removing-artifact-messages-from-maven-log-output. | |
name: Build AspectJ | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
workflow_dispatch: | |
jobs: | |
build: | |
# No automatic builds for Dependabot PRs | |
# Caveat: cannot start 'if:' expression with '!', hence '!= true' | |
if: startsWith(github.actor, 'dependabot') != true | |
strategy: | |
fail-fast: false | |
matrix: | |
# AspectJ_JDK_Update: Always keep LTS versions + latest version supported by JDT Core | |
# Check for available Temurin releases on https://adoptium.net/releases.html | |
java: [ 17, 21, 22 ] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK ${{ matrix.java }} | |
uses: actions/setup-java@v4 | |
with: | |
java-version: ${{ matrix.java }} | |
distribution: temurin | |
- name: Print tool versions | |
run: | | |
java -version | |
./mvnw -B --version | |
ant -version | |
- name: Set up cache for ~./m2/repository | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/.m2/repository | |
!~/.m2/repository/org/aspectj | |
key: maven-${{ runner.os }}-java-${{ matrix.java }}-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
maven-${{ runner.os }}-java-${{ matrix.java }}- | |
maven-${{ runner.os }}- | |
maven- | |
- name: Compile + package code | |
# Also install (not just package) for subsequent build steps | |
run: ./mvnw -B --file pom.xml -DskipTests install "-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn" | |
- name: Attach aspectjrt to build | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aspectjrt-java${{ matrix.java }} | |
# Binary, source, javadoc JARs + flattened POM | |
path: | | |
aspectjrt/target/aspectjrt-*.jar | |
aspectjrt/target/flattened-pom.xml | |
- name: Attach aspectjweaver to build | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aspectjweaver-java${{ matrix.java }} | |
# Binary, source, javadoc JARs + flattened POM | |
path: | | |
aspectjweaver/target/aspectjweaver-*.jar | |
aspectjweaver/target/flattened-pom.xml | |
- name: Attach aspectjtools to build | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aspectjtools-java${{ matrix.java }} | |
# Binary, source, javadoc JARs + flattened POM | |
path: | | |
aspectjtools/target/aspectjtools-*.jar | |
aspectjtools/target/flattened-pom.xml | |
- name: Attach installer to build | |
uses: actions/upload-artifact@v4 | |
with: | |
name: installer-java${{ matrix.java }} | |
# Installer JAR + flattened POM | |
path: | | |
installer/target/aspectj-*.jar | |
installer/target/flattened-pom.xml | |
- name: Create docs | |
run: ./mvnw -B --file pom.xml -DskipTests package -pl docs -P create-docs "-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn" | |
- name: Attach docs to build | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aspectj-docs-java${{ matrix.java }} | |
# Re-zip docs directory instead of wrapping existing distribution archive into another zip archive | |
path: aj-build/dist/docs/ | |
- name: Run Tests | |
run: ./mvnw -B --file pom.xml -Daspectj.tests.verbose=false verify "-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn" |