Skip to content
Merged
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
27 changes: 22 additions & 5 deletions .github/workflows/codeql.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,24 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up JDK 17 for Gradle
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'

- name: Capture Gradle JDK
run: echo "GRADLE_JAVA_HOME=$JAVA_HOME" >> "$GITHUB_ENV"

- name: Set up JDK 8 for compilation toolchain
uses: actions/setup-java@v4
with:
java-version: '8'
distribution: 'temurin'

- name: Capture toolchain JDKs
run: echo "ORG_GRADLE_JAVA_INSTALLATIONS_PATHS=$GRADLE_JAVA_HOME,$JAVA_HOME" >> "$GITHUB_ENV"

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
Expand All @@ -54,11 +72,10 @@ jobs:
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
queries: security-extended,security-and-quality


# Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v3
- name: Build for CodeQL
run: ./gradlew --no-daemon clean classes testClasses -PtestJavaVersion=8
env:
JAVA_HOME: ${{ env.GRADLE_JAVA_HOME }}

# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
Expand Down
31 changes: 23 additions & 8 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,27 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
java: [ '8', '11' ]
name: Test Java ${{ matrix.java }}
test-java: [ '8', '11' ]
name: Test Java ${{ matrix.test-java }} compatibility

steps:
- uses: actions/checkout@v2
- name: Set up JDK
uses: actions/setup-java@v2
- uses: actions/checkout@v4
- name: Set up JDK 17 for Gradle
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java }}
distribution: 'adopt'
java-version: '17'
distribution: 'temurin'
- name: Capture Gradle JDK
run: echo "GRADLE_JAVA_HOME=$JAVA_HOME" >> "$GITHUB_ENV"
- name: Set up JDK for test toolchain
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.test-java }}
distribution: 'temurin'
- name: Capture test JDK
run: |
echo "TEST_JAVA_HOME=$JAVA_HOME" >> "$GITHUB_ENV"
echo "ORG_GRADLE_JAVA_INSTALLATIONS_PATHS=$GRADLE_JAVA_HOME,$JAVA_HOME" >> "$GITHUB_ENV"
- name: Cache Gradle packages
uses: actions/cache@v4
with:
Expand All @@ -26,8 +37,12 @@ jobs:
${{ runner.os }}-gradle-
- name: Check style
run: ./gradlew --no-daemon --build-cache spotlessCheck
env:
JAVA_HOME: ${{ env.GRADLE_JAVA_HOME }}
- name: Run tests
run: ./gradlew --no-daemon --build-cache test
run: ./gradlew --no-daemon --build-cache test -PtestJavaVersion=${{ matrix.test-java }}
env:
JAVA_HOME: ${{ env.GRADLE_JAVA_HOME }}
- name: Cleanup Gradle Cache
run: |
rm -f ~/.gradle/caches/modules-2/modules-2.lock
Expand Down
33 changes: 22 additions & 11 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,34 @@ plugins {
id 'java-library'
id 'maven-publish'
id 'signing'
id 'com.diffplug.spotless' version '6.11.0'
id 'com.diffplug.spotless' version '8.4.0'
id 'io.github.gradle-nexus.publish-plugin' version '2.0.0'
id 'io.github.goooler.shadow' version '8.1.8' apply false
}

group = "com.incognia"
version = "3.15.0"

task createProjectVersionFile {
def projectVersionDir = "$projectDir/src/main/java/com/incognia/api"
def projectVersion = version.toString()
def testJavaVersion = providers.gradleProperty("testJavaVersion").orElse("8").get().toInteger()
def projectVersionFile = layout.projectDirectory.file("src/main/java/com/incognia/api/ProjectVersion.java")

tasks.register("createProjectVersionFile") {
outputs.file(projectVersionFile)
doLast {
new File(projectVersionDir, "ProjectVersion.java").text =
projectVersionFile.asFile.text =
"""package com.incognia.api;

public class ProjectVersion {
public static final String PROJECT_VERSION = "$project.version";
public static final String PROJECT_VERSION = "$projectVersion";
}
"""
}
}
compileJava.dependsOn createProjectVersionFile

tasks.named('compileJava') {
dependsOn(tasks.named("createProjectVersionFile"))
}

repositories {
mavenCentral()
Expand Down Expand Up @@ -54,6 +61,7 @@ dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.2'
testImplementation "org.junit.jupiter:junit-jupiter-params:5.10.2"
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}

java {
Expand All @@ -65,8 +73,8 @@ java {
}

compileJava {
sourceCompatibility '1.8'
targetCompatibility '1.8'
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}

spotless {
Expand All @@ -86,8 +94,11 @@ if (isShadow) {
}
}

tasks.named('test') {
tasks.named('test', Test) {
useJUnitPlatform()
javaLauncher = javaToolchains.launcherFor {
languageVersion = JavaLanguageVersion.of(testJavaVersion)
}
}

publishing {
Expand Down Expand Up @@ -127,7 +138,7 @@ publishing {
}
repositories {
maven {
url 's3://repo.incognia.com/java'
url = uri('s3://repo.incognia.com/java')
authentication {
awsIm(AwsImAuthentication)
}
Expand All @@ -137,4 +148,4 @@ publishing {

tasks.withType(PublishToMavenLocal) {
dependsOn jar
}
}
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
15 changes: 7 additions & 8 deletions gradlew

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading