diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 51b72434..d03f732c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,6 +5,7 @@ on: pull_request jobs: build: strategy: + fail-fast: false matrix: os: [ubuntu-latest, macos-latest] @@ -16,11 +17,11 @@ jobs: - uses: sdkman/sdkman-action@master with: candidate: gradle - version: 7.4.2 + version: 8.10.2 - name: Install Kotlin run: | - curl -o kotlin-compiler.zip -L https://github.com/JetBrains/kotlin/releases/download/v1.7.22/kotlin-compiler-1.7.22.zip + curl -o kotlin-compiler.zip -L https://github.com/JetBrains/kotlin/releases/download/v2.0.21/kotlin-compiler-2.0.21.zip if [[ "$OSTYPE" != "darwin"* ]] then @@ -33,7 +34,7 @@ jobs: - uses: actions/setup-node@v4 with: - node-version: '14' + node-version: '22.10.0' - name: Install libncurses5 run: | @@ -48,21 +49,20 @@ jobs: run: npm install -g danger - name: Install Danger Kotlin - run: make install - + run: sudo make install + - name: Run tests - run: ./gradlew danger-kotlin-library:test + run: sudo ./gradlew danger-kotlin-library:test - name: Install Plugin Installer - run: ./gradlew danger-plugin-installer:publishToMavenLocal + run: sudo ./gradlew danger-plugin-installer:publishToMavenLocal - name: Build and Install Sample Plugin + working-directory: ./danger-kotlin-sample-plugin run: | - cd danger-kotlin-sample-plugin - gradle wrapper - ./gradlew build - ./gradlew installDangerPlugin - cd .. + sudo gradle wrapper + sudo ./gradlew build + sudo ./gradlew installDangerPlugin - name: Run Danger-Kotlin run: DEBUG='*' danger-kotlin ci --dangerfile Dangerfile_ci.df.kts diff --git a/Dockerfile b/Dockerfile index 0957c434..f76de38b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ LABEL "com.github.actions.description"="Runs Kotlin Dangerfiles" LABEL "com.github.actions.icon"="zap" LABEL "com.github.actions.color"="blue" -ARG KOTLINC_VERSION="1.7.22" +ARG KOTLINC_VERSION="2.0.21" ARG DANGER_KOTLIN_VERSION="1.3.1" ARG DANGER_JS_VERSION="11.3.1" diff --git a/danger-kotlin-kts/build.gradle b/danger-kotlin-kts/build.gradle index 704dad68..726e8d64 100644 --- a/danger-kotlin-kts/build.gradle +++ b/danger-kotlin-kts/build.gradle @@ -36,6 +36,11 @@ compileTestKotlin { kotlinOptions.jvmTarget = "1.8" } +tasks.withType(JavaCompile).configureEach { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 +} + publishing { publications { maven(MavenPublication) { diff --git a/danger-kotlin-library/build.gradle b/danger-kotlin-library/build.gradle index 698926d3..85f51a54 100644 --- a/danger-kotlin-library/build.gradle +++ b/danger-kotlin-library/build.gradle @@ -28,6 +28,11 @@ compileTestKotlin { kotlinOptions.jvmTarget = "1.8" } +tasks.withType(JavaCompile).configureEach { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 +} + publishing { publications { maven(MavenPublication) { diff --git a/danger-kotlin-library/gradle/wrapper/gradle-wrapper.properties b/danger-kotlin-library/gradle/wrapper/gradle-wrapper.properties index aa991fce..1e2fbf0d 100644 --- a/danger-kotlin-library/gradle/wrapper/gradle-wrapper.properties +++ b/danger-kotlin-library/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/danger-kotlin-sample-plugin/build.gradle b/danger-kotlin-sample-plugin/build.gradle index fc1b7120..c64edb75 100644 --- a/danger-kotlin-sample-plugin/build.gradle +++ b/danger-kotlin-sample-plugin/build.gradle @@ -9,7 +9,7 @@ buildscript { } plugins { - id 'org.jetbrains.kotlin.jvm' version '1.7.22' + id 'org.jetbrains.kotlin.jvm' version '2.0.21' } apply plugin: 'danger-kotlin-plugin-installer' diff --git a/danger-kotlin-sdk/build.gradle b/danger-kotlin-sdk/build.gradle index 5a0447db..b8aab124 100644 --- a/danger-kotlin-sdk/build.gradle +++ b/danger-kotlin-sdk/build.gradle @@ -21,3 +21,8 @@ compileKotlin { compileTestKotlin { kotlinOptions.jvmTarget = "1.8" } + +tasks.withType(JavaCompile).configureEach { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 +} diff --git a/danger-kotlin-sdk/gradle/wrapper/gradle-wrapper.properties b/danger-kotlin-sdk/gradle/wrapper/gradle-wrapper.properties index 5a735b96..9bcab8b8 100644 --- a/danger-kotlin-sdk/gradle/wrapper/gradle-wrapper.properties +++ b/danger-kotlin-sdk/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ #Sun Nov 03 23:08:58 GMT 2019 -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStorePath=wrapper/dists diff --git a/danger-kotlin-sdk/maven-publish.gradle b/danger-kotlin-sdk/maven-publish.gradle index 7e197257..21f56026 100644 --- a/danger-kotlin-sdk/maven-publish.gradle +++ b/danger-kotlin-sdk/maven-publish.gradle @@ -1,12 +1,12 @@ apply from: file('../secrets.gradle') task sourceJar(type: Jar) { - classifier "sources" + archiveClassifier.set("sources") from sourceSets.main.allJava } task javadocJar(type: Jar, dependsOn: javadoc) { - classifier "javadoc" + archiveClassifier.set("javadoc") from javadoc.destinationDir } @@ -32,14 +32,8 @@ publishing { publications { maven(MavenPublication) { from components.java - artifact sourceJar { - classifier "sources" - from sourceSets.main.allJava - } - artifact javadocJar { - classifier "javadoc" - from javadoc.destinationDir - } + artifact sourceJar + artifact javadocJar pom { name = 'Danger Kotlin SDK' description = 'Develop your own plugin for Danger Kotlin' @@ -81,4 +75,4 @@ publishing { } } } -} \ No newline at end of file +} diff --git a/danger-kotlin/build.gradle.kts b/danger-kotlin/build.gradle.kts index 67c42d07..072e88b8 100644 --- a/danger-kotlin/build.gradle.kts +++ b/danger-kotlin/build.gradle.kts @@ -14,7 +14,7 @@ kotlin { "linuxX64" -> linuxX64("runner") "macosArm64" -> macosArm64("runner") "mingwX64" -> mingwX64("runner") - else -> throw GradleException("OS '$osName' is not supported.") as Throwable + else -> throw GradleException("OS '$osName' is not supported.") } } else { when (val osName = System.getProperty("os.name")) { @@ -22,7 +22,7 @@ kotlin { "Linux" -> linuxX64("runner") "Mac OS X Apple silicon" -> macosArm64("runner") "Windows 11" -> mingwX64("runner") - else -> throw GradleException("OS '$osName' is not supported.") as Throwable + else -> throw GradleException("OS '$osName' is not supported.") } } @@ -44,5 +44,8 @@ kotlin { implementation(kotlin("test-annotations-common")) } } + all { + languageSettings.optIn("kotlinx.cinterop.ExperimentalForeignApi") + } } } diff --git a/danger-kotlin/gradle/wrapper/gradle-wrapper.properties b/danger-kotlin/gradle/wrapper/gradle-wrapper.properties index aa991fce..1e2fbf0d 100644 --- a/danger-kotlin/gradle/wrapper/gradle-wrapper.properties +++ b/danger-kotlin/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/dependencyVersions.gradle b/dependencyVersions.gradle index 09ab0640..18e20292 100644 --- a/dependencyVersions.gradle +++ b/dependencyVersions.gradle @@ -20,7 +20,7 @@ project.ext.groupIdOkio = 'com.squareup.okio' project.ext.artifactIdOkio = 'okio' // Kotlin -project.ext.versionKotlin = '1.7.22' +project.ext.versionKotlin = '2.0.21' project.ext.groupIdKotlin = 'org.jetbrains.kotlin' project.ext.groupIdKotlinx = 'org.jetbrains.kotlinx' project.ext.artifactIdKotlinMain = 'kotlin-main-kts' diff --git a/gradle.properties b/gradle.properties index d42974af..93d20646 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ -kotlinVersion=1.7.22 +kotlinVersion=2.0.21 kotlin.code.style=official systemProp.org.gradle.internal.publish.checksums.insecure=true diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index aa991fce..1e2fbf0d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/scripts/install.sh b/scripts/install.sh index a96b8f28..2aa890a1 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -31,19 +31,19 @@ if [[ -n "$sudo" && "$OSTYPE" != "darwin"* ]]; then fi if ! [[ -x "$(command -v kotlinc)" ]]; then - echo "Installing kotlin compiler 1.7.22" - curl -o kotlin-compiler.zip -L https://github.com/JetBrains/kotlin/releases/download/v1.7.22/kotlin-compiler-1.7.22.zip + echo "Installing kotlin compiler 2.0.21" + curl -o kotlin-compiler.zip -L https://github.com/JetBrains/kotlin/releases/download/v2.0.21/kotlin-compiler-2.0.21.zip unzip -d /usr/local/ kotlin-compiler.zip echo 'export PATH=/usr/local/kotlinc/bin:$PATH' >> ~/.bash_profile rm -rf kotlin-compiler.zip fi if ! [[ -x "$(command -v gradle)" ]]; then - echo "Installing gradle 7.4.2" - curl -o gradle.zip -L https://downloads.gradle-dn.com/distributions/gradle-7.4.2-bin.zip + echo "Installing gradle 8.10.2" + curl -o gradle.zip -L https://downloads.gradle-dn.com/distributions/gradle-8.10.2-bin.zip mkdir /opt/gradle unzip -d /opt/gradle gradle.zip - echo 'export PATH=/opt/gradle/gradle-7.4.2/bin:$PATH' >> ~/.bash_profile + echo 'export PATH=/opt/gradle/gradle-8.10.2/bin:$PATH' >> ~/.bash_profile rm -rf gradle.zip fi