mirror of
https://github.com/square/okhttp.git
synced 2025-11-26 06:43:09 +03:00
AGP 8 (#7918)
This commit is contained in:
116
.github/workflows/build.yml
vendored
116
.github/workflows/build.yml
vendored
@@ -28,6 +28,12 @@ jobs:
|
|||||||
distribution: 'zulu'
|
distribution: 'zulu'
|
||||||
java-version: 11
|
java-version: 11
|
||||||
|
|
||||||
|
- name: Configure JDK
|
||||||
|
uses: actions/setup-java@v3
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: 17
|
||||||
|
|
||||||
- name: Upload Artifacts
|
- name: Upload Artifacts
|
||||||
uses: gradle/gradle-build-action@v2
|
uses: gradle/gradle-build-action@v2
|
||||||
with:
|
with:
|
||||||
@@ -65,6 +71,12 @@ jobs:
|
|||||||
distribution: 'zulu'
|
distribution: 'zulu'
|
||||||
java-version: 11
|
java-version: 11
|
||||||
|
|
||||||
|
- name: Configure JDK
|
||||||
|
uses: actions/setup-java@v3
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: 17
|
||||||
|
|
||||||
- name: Run Checks
|
- name: Run Checks
|
||||||
uses: gradle/gradle-build-action@v2
|
uses: gradle/gradle-build-action@v2
|
||||||
with:
|
with:
|
||||||
@@ -87,6 +99,12 @@ jobs:
|
|||||||
distribution: 'zulu'
|
distribution: 'zulu'
|
||||||
java-version: 11
|
java-version: 11
|
||||||
|
|
||||||
|
- name: Configure JDK
|
||||||
|
uses: actions/setup-java@v3
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: 17
|
||||||
|
|
||||||
- name: Run Checks
|
- name: Run Checks
|
||||||
uses: gradle/gradle-build-action@v2
|
uses: gradle/gradle-build-action@v2
|
||||||
with:
|
with:
|
||||||
@@ -116,6 +134,12 @@ jobs:
|
|||||||
distribution: 'zulu'
|
distribution: 'zulu'
|
||||||
java-version: 11
|
java-version: 11
|
||||||
|
|
||||||
|
- name: Configure JDK
|
||||||
|
uses: actions/setup-java@v3
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: 17
|
||||||
|
|
||||||
- name: Run Checks
|
- name: Run Checks
|
||||||
uses: gradle/gradle-build-action@v2
|
uses: gradle/gradle-build-action@v2
|
||||||
with:
|
with:
|
||||||
@@ -144,6 +168,12 @@ jobs:
|
|||||||
distribution: 'zulu'
|
distribution: 'zulu'
|
||||||
java-version: 11
|
java-version: 11
|
||||||
|
|
||||||
|
- name: Configure JDK
|
||||||
|
uses: actions/setup-java@v3
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: 17
|
||||||
|
|
||||||
- name: Run Checks
|
- name: Run Checks
|
||||||
uses: gradle/gradle-build-action@v2
|
uses: gradle/gradle-build-action@v2
|
||||||
with:
|
with:
|
||||||
@@ -165,6 +195,12 @@ jobs:
|
|||||||
distribution: 'zulu'
|
distribution: 'zulu'
|
||||||
java-version: 11
|
java-version: 11
|
||||||
|
|
||||||
|
- name: Configure JDK
|
||||||
|
uses: actions/setup-java@v3
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: 17
|
||||||
|
|
||||||
- name: Run Checks
|
- name: Run Checks
|
||||||
uses: gradle/gradle-build-action@v2
|
uses: gradle/gradle-build-action@v2
|
||||||
with:
|
with:
|
||||||
@@ -192,6 +228,12 @@ jobs:
|
|||||||
distribution: 'zulu'
|
distribution: 'zulu'
|
||||||
java-version: 11
|
java-version: 11
|
||||||
|
|
||||||
|
- name: Configure JDK
|
||||||
|
uses: actions/setup-java@v3
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: 17
|
||||||
|
|
||||||
- name: Run Checks
|
- name: Run Checks
|
||||||
uses: gradle/gradle-build-action@v2
|
uses: gradle/gradle-build-action@v2
|
||||||
with:
|
with:
|
||||||
@@ -213,6 +255,12 @@ jobs:
|
|||||||
distribution: 'zulu'
|
distribution: 'zulu'
|
||||||
java-version: 11
|
java-version: 11
|
||||||
|
|
||||||
|
- name: Configure JDK
|
||||||
|
uses: actions/setup-java@v3
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: 17
|
||||||
|
|
||||||
- name: Run Checks
|
- name: Run Checks
|
||||||
uses: gradle/gradle-build-action@v2
|
uses: gradle/gradle-build-action@v2
|
||||||
with:
|
with:
|
||||||
@@ -234,6 +282,12 @@ jobs:
|
|||||||
distribution: 'zulu'
|
distribution: 'zulu'
|
||||||
java-version: 11
|
java-version: 11
|
||||||
|
|
||||||
|
- name: Configure JDK
|
||||||
|
uses: actions/setup-java@v3
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: 17
|
||||||
|
|
||||||
- name: Run Checks
|
- name: Run Checks
|
||||||
uses: gradle/gradle-build-action@v2
|
uses: gradle/gradle-build-action@v2
|
||||||
with:
|
with:
|
||||||
@@ -255,6 +309,12 @@ jobs:
|
|||||||
distribution: 'zulu'
|
distribution: 'zulu'
|
||||||
java-version: 11
|
java-version: 11
|
||||||
|
|
||||||
|
- name: Configure JDK
|
||||||
|
uses: actions/setup-java@v3
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: 17
|
||||||
|
|
||||||
- name: Run Checks
|
- name: Run Checks
|
||||||
uses: gradle/gradle-build-action@v2
|
uses: gradle/gradle-build-action@v2
|
||||||
with:
|
with:
|
||||||
@@ -277,6 +337,12 @@ jobs:
|
|||||||
distribution: 'zulu'
|
distribution: 'zulu'
|
||||||
java-version: 11
|
java-version: 11
|
||||||
|
|
||||||
|
- name: Configure JDK
|
||||||
|
uses: actions/setup-java@v3
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: 17
|
||||||
|
|
||||||
- name: Run Checks
|
- name: Run Checks
|
||||||
uses: gradle/gradle-build-action@v2
|
uses: gradle/gradle-build-action@v2
|
||||||
with:
|
with:
|
||||||
@@ -299,6 +365,12 @@ jobs:
|
|||||||
distribution: 'zulu'
|
distribution: 'zulu'
|
||||||
java-version: 11
|
java-version: 11
|
||||||
|
|
||||||
|
- name: Configure JDK
|
||||||
|
uses: actions/setup-java@v3
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: 17
|
||||||
|
|
||||||
- name: Run Checks
|
- name: Run Checks
|
||||||
uses: gradle/gradle-build-action@v2
|
uses: gradle/gradle-build-action@v2
|
||||||
with:
|
with:
|
||||||
@@ -315,6 +387,12 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Configure JDK
|
||||||
|
uses: actions/setup-java@v3
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: 11
|
||||||
|
|
||||||
- name: Configure JDK
|
- name: Configure JDK
|
||||||
uses: actions/setup-java@v3
|
uses: actions/setup-java@v3
|
||||||
with:
|
with:
|
||||||
@@ -325,7 +403,7 @@ jobs:
|
|||||||
uses: actions/setup-java@v3
|
uses: actions/setup-java@v3
|
||||||
with:
|
with:
|
||||||
distribution: 'zulu'
|
distribution: 'zulu'
|
||||||
java-version: 11
|
java-version: 17
|
||||||
|
|
||||||
- name: Run Checks
|
- name: Run Checks
|
||||||
uses: gradle/gradle-build-action@v2
|
uses: gradle/gradle-build-action@v2
|
||||||
@@ -349,6 +427,12 @@ jobs:
|
|||||||
distribution: 'zulu'
|
distribution: 'zulu'
|
||||||
java-version: 11
|
java-version: 11
|
||||||
|
|
||||||
|
- name: Configure JDK
|
||||||
|
uses: actions/setup-java@v3
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: 17
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
uses: gradle/gradle-build-action@v2
|
uses: gradle/gradle-build-action@v2
|
||||||
with:
|
with:
|
||||||
@@ -371,6 +455,12 @@ jobs:
|
|||||||
distribution: 'zulu'
|
distribution: 'zulu'
|
||||||
java-version: 11
|
java-version: 11
|
||||||
|
|
||||||
|
- name: Configure JDK
|
||||||
|
uses: actions/setup-java@v3
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: 17
|
||||||
|
|
||||||
- name: Build okcurl
|
- name: Build okcurl
|
||||||
uses: gradle/gradle-build-action@v2
|
uses: gradle/gradle-build-action@v2
|
||||||
with:
|
with:
|
||||||
@@ -408,6 +498,12 @@ jobs:
|
|||||||
distribution: 'zulu'
|
distribution: 'zulu'
|
||||||
java-version: 11
|
java-version: 11
|
||||||
|
|
||||||
|
- name: Configure JDK
|
||||||
|
uses: actions/setup-java@v3
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: 17
|
||||||
|
|
||||||
- name: Gradle cache
|
- name: Gradle cache
|
||||||
uses: gradle/gradle-build-action@v2
|
uses: gradle/gradle-build-action@v2
|
||||||
with:
|
with:
|
||||||
@@ -454,18 +550,24 @@ jobs:
|
|||||||
uses: actions/setup-java@v3
|
uses: actions/setup-java@v3
|
||||||
with:
|
with:
|
||||||
distribution: 'zulu'
|
distribution: 'zulu'
|
||||||
java-version: 19
|
java-version: 11
|
||||||
|
|
||||||
- name: Configure JDK
|
- name: Configure JDK
|
||||||
uses: actions/setup-java@v3
|
uses: actions/setup-java@v3
|
||||||
with:
|
with:
|
||||||
distribution: 'zulu'
|
distribution: 'zulu'
|
||||||
java-version: 11
|
java-version: 20
|
||||||
|
|
||||||
|
- name: Configure JDK
|
||||||
|
uses: actions/setup-java@v3
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: 17
|
||||||
|
|
||||||
- name: Run Checks
|
- name: Run Checks
|
||||||
uses: gradle/gradle-build-action@v2
|
uses: gradle/gradle-build-action@v2
|
||||||
with:
|
with:
|
||||||
arguments: jvmTest -Dokhttp.platform=loom -Dtest.java.version=19
|
arguments: jvmTest -Dokhttp.platform=loom -Dtest.java.version=20
|
||||||
|
|
||||||
|
|
||||||
testandroidregression:
|
testandroidregression:
|
||||||
@@ -491,6 +593,12 @@ jobs:
|
|||||||
distribution: 'zulu'
|
distribution: 'zulu'
|
||||||
java-version: 11
|
java-version: 11
|
||||||
|
|
||||||
|
- name: Configure JDK
|
||||||
|
uses: actions/setup-java@v3
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: 17
|
||||||
|
|
||||||
- name: Gradle cache
|
- name: Gradle cache
|
||||||
uses: gradle/gradle-build-action@v2
|
uses: gradle/gradle-build-action@v2
|
||||||
|
|
||||||
|
|||||||
@@ -11,9 +11,10 @@ val androidBuild = property("androidBuild").toString().toBoolean()
|
|||||||
android {
|
android {
|
||||||
compileSdk = 33
|
compileSdk = 33
|
||||||
|
|
||||||
|
namespace = "okhttp.android.test"
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdk = 21
|
minSdk = 21
|
||||||
targetSdk = 33
|
|
||||||
|
|
||||||
// Make sure to use the AndroidJUnitRunner (or a sub-class) in order to hook in the JUnit 5 Test Builder
|
// Make sure to use the AndroidJUnitRunner (or a sub-class) in order to hook in the JUnit 5 Test Builder
|
||||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="okhttp.android.test">
|
xmlns:tools="http://schemas.android.com/tools" package="okhttp.android.test">
|
||||||
<application
|
|
||||||
android:usesCleartextTraffic="true" />
|
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
|
|
||||||
|
<application android:usesCleartextTraffic="true" tools:targetApi="m"/>
|
||||||
|
|
||||||
</manifest>
|
</manifest>
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
@file:Suppress("UnstableApiUsage")
|
||||||
|
|
||||||
import com.vanniktech.maven.publish.MavenPublishBaseExtension
|
import com.vanniktech.maven.publish.MavenPublishBaseExtension
|
||||||
import com.vanniktech.maven.publish.SonatypeHost
|
import com.vanniktech.maven.publish.SonatypeHost
|
||||||
import groovy.util.Node
|
import groovy.util.Node
|
||||||
@@ -86,7 +88,7 @@ subprojects {
|
|||||||
|
|
||||||
configure<JavaPluginExtension> {
|
configure<JavaPluginExtension> {
|
||||||
toolchain {
|
toolchain {
|
||||||
languageVersion.set(JavaLanguageVersion.of(11))
|
languageVersion.set(JavaLanguageVersion.of(17))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -140,7 +142,7 @@ subprojects {
|
|||||||
}
|
}
|
||||||
|
|
||||||
val platform = System.getProperty("okhttp.platform", "jdk9")
|
val platform = System.getProperty("okhttp.platform", "jdk9")
|
||||||
val testJavaVersion = System.getProperty("test.java.version", "11").toInt()
|
val testJavaVersion = System.getProperty("test.java.version", "17").toInt()
|
||||||
|
|
||||||
val testRuntimeOnly: Configuration by configurations.getting
|
val testRuntimeOnly: Configuration by configurations.getting
|
||||||
dependencies {
|
dependencies {
|
||||||
@@ -150,13 +152,13 @@ subprojects {
|
|||||||
|
|
||||||
tasks.withType<Test> {
|
tasks.withType<Test> {
|
||||||
useJUnitPlatform()
|
useJUnitPlatform()
|
||||||
jvmArgs = jvmArgs!! + listOf(
|
jvmArgs(
|
||||||
"-Dokhttp.platform=$platform",
|
"-Dokhttp.platform=$platform",
|
||||||
"-XX:+HeapDumpOnOutOfMemoryError"
|
"-XX:+HeapDumpOnOutOfMemoryError"
|
||||||
)
|
)
|
||||||
|
|
||||||
if (platform == "loom") {
|
if (platform == "loom") {
|
||||||
jvmArgs = jvmArgs!! + listOf(
|
jvmArgs(
|
||||||
"-Djdk.tracePinnedThread=full",
|
"-Djdk.tracePinnedThread=full",
|
||||||
"--enable-preview"
|
"--enable-preview"
|
||||||
)
|
)
|
||||||
@@ -196,7 +198,7 @@ subprojects {
|
|||||||
dependencies.create("org.mortbay.jetty.alpn:alpn-boot:$alpnBootVersion")
|
dependencies.create("org.mortbay.jetty.alpn:alpn-boot:$alpnBootVersion")
|
||||||
).singleFile
|
).singleFile
|
||||||
tasks.withType<Test> {
|
tasks.withType<Test> {
|
||||||
jvmArgs = jvmArgs!! + listOf("-Xbootclasspath/p:${alpnBootJar}")
|
jvmArgs("-Xbootclasspath/p:${alpnBootJar}")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (platform == "conscrypt") {
|
} else if (platform == "conscrypt") {
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ conscrypt-android = { module = "org.conscrypt:conscrypt-android", version.ref =
|
|||||||
conscrypt-openjdk = { module = "org.conscrypt:conscrypt-openjdk-uber", version.ref = "org-conscrypt" }
|
conscrypt-openjdk = { module = "org.conscrypt:conscrypt-openjdk-uber", version.ref = "org-conscrypt" }
|
||||||
eclipseOsgi = "org.eclipse.platform:org.eclipse.osgi:3.18.400"
|
eclipseOsgi = "org.eclipse.platform:org.eclipse.osgi:3.18.400"
|
||||||
findbugs-jsr305 = "com.google.code.findbugs:jsr305:3.0.2"
|
findbugs-jsr305 = "com.google.code.findbugs:jsr305:3.0.2"
|
||||||
gradlePlugin-android = "com.android.tools.build:gradle:7.3.1"
|
gradlePlugin-android = "com.android.tools.build:gradle:8.0.2"
|
||||||
gradlePlugin-androidJunit5 = "de.mannodermaus.gradle.plugins:android-junit5:1.9.3.0"
|
gradlePlugin-androidJunit5 = "de.mannodermaus.gradle.plugins:android-junit5:1.9.3.0"
|
||||||
gradlePlugin-animalsniffer = "ru.vyarus:gradle-animalsniffer-plugin:1.7.1"
|
gradlePlugin-animalsniffer = "ru.vyarus:gradle-animalsniffer-plugin:1.7.1"
|
||||||
gradlePlugin-binaryCompatibilityValidator = "org.jetbrains.kotlinx.binary-compatibility-validator:org.jetbrains.kotlinx.binary-compatibility-validator.gradle.plugin:0.13.2"
|
gradlePlugin-binaryCompatibilityValidator = "org.jetbrains.kotlinx.binary-compatibility-validator:org.jetbrains.kotlinx.binary-compatibility-validator.gradle.plugin:0.13.2"
|
||||||
|
|||||||
3
gradle/wrapper/gradle-wrapper.properties
vendored
3
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,6 +1,7 @@
|
|||||||
|
#Sat Jul 01 11:08:54 BST 2023
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.2-all.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
|
||||||
networkTimeout=10000
|
networkTimeout=10000
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
@file:SuppressLint("OldTargetApi")
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint
|
||||||
import com.vanniktech.maven.publish.JavadocJar
|
import com.vanniktech.maven.publish.JavadocJar
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
@@ -11,9 +14,10 @@ plugins {
|
|||||||
android {
|
android {
|
||||||
compileSdk = 33
|
compileSdk = 33
|
||||||
|
|
||||||
|
namespace = "okhttp.android"
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdk = 21
|
minSdk = 21
|
||||||
targetSdk = 33
|
|
||||||
|
|
||||||
// Make sure to use the AndroidJUnitRunner (or a sub-class) in order to hook in the JUnit 5 Test Builder
|
// Make sure to use the AndroidJUnitRunner (or a sub-class) in order to hook in the JUnit 5 Test Builder
|
||||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="okhttp.android.test">
|
package="okhttp.android">
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ plugins {
|
|||||||
android {
|
android {
|
||||||
compileSdk = 31
|
compileSdk = 31
|
||||||
|
|
||||||
|
namespace = "okhttp.android.regression"
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdk = 21
|
minSdk = 21
|
||||||
targetSdk = 31
|
targetSdk = 31
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="okhttp.regression">
|
package="okhttp.android.regression">
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
</manifest>
|
</manifest>
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ if (graalBuild.toBoolean()) {
|
|||||||
|
|
||||||
include(":okcurl")
|
include(":okcurl")
|
||||||
include(":okhttp")
|
include(":okhttp")
|
||||||
include(":okhttp-android")
|
|
||||||
include(":okhttp-bom")
|
include(":okhttp-bom")
|
||||||
include(":okhttp-brotli")
|
include(":okhttp-brotli")
|
||||||
include(":okhttp-dnsoverhttps")
|
include(":okhttp-dnsoverhttps")
|
||||||
@@ -44,6 +43,23 @@ include(":samples:slack")
|
|||||||
include(":samples:static-server")
|
include(":samples:static-server")
|
||||||
include(":samples:tlssurvey")
|
include(":samples:tlssurvey")
|
||||||
include(":samples:unixdomainsockets")
|
include(":samples:unixdomainsockets")
|
||||||
include(":android-test")
|
|
||||||
|
if (isIdea20232OrHigher()) {
|
||||||
|
include(":okhttp-android")
|
||||||
|
include(":android-test")
|
||||||
|
}
|
||||||
|
|
||||||
enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
|
enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
|
||||||
|
|
||||||
|
fun isIdea20232OrHigher(): Boolean {
|
||||||
|
// No problem outside Idea
|
||||||
|
val ideaVersionString = System.getProperty("idea.version") ?: return true
|
||||||
|
|
||||||
|
return try {
|
||||||
|
val (major, minor, _) = ideaVersionString.split(".", limit = 3)
|
||||||
|
KotlinVersion(major.toInt(), minor.toInt()) >= KotlinVersion(2023, 2)
|
||||||
|
} catch (e: Exception) {
|
||||||
|
// Unknown version, presumably compatible
|
||||||
|
true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user