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

Dependency updates, JDK17 #829

Merged
merged 20 commits into from Jul 27, 2022
8 changes: 1 addition & 7 deletions .github/workflows/gradle.yml
Expand Up @@ -11,13 +11,8 @@ jobs:
strategy:
matrix:
java-version: [11, 12, 13, 14, 15, 16, 17]
kotlin-version: [1.4.32, 1.5.31, 1.6.0]
kotlin-version: [1.6.21, 1.7.10]
kotlin-ir-enabled: [true, false]
exclude:
- kotlin-version: 1.4.32
java-version: 16
- kotlin-version: 1.4.32
java-version: 17
# in case one JDK fails, we still want to see results from others
fail-fast: false
runs-on: ubuntu-latest
Expand Down Expand Up @@ -66,4 +61,3 @@ jobs:
with:
api-level: ${{ matrix.api-level }}
script: ./gradlew connectedCheck

4 changes: 2 additions & 2 deletions .travis.yml
Expand Up @@ -5,10 +5,10 @@ android:
- tools
- platform-tools
- build-tools-27.0.3
- android-28
- android-30

jdk:
- oraclejdk8
- openjdk17

install:
- yes | sdkmanager "ndk;20.0.5594570"
Expand Down
2 changes: 1 addition & 1 deletion README.md
Expand Up @@ -27,7 +27,7 @@ Check the series of articles "Mocking is not rocket science" at [Kt. Academy](ht

### Kotlin version support

From version 1.10.0 MockK does not support Kotlin 1.2.*
From version 1.13.0 MockK supports Kotlin 1.6.21 and higher

### Known issues

Expand Down
8 changes: 4 additions & 4 deletions agent/android/build.gradle
Expand Up @@ -40,7 +40,7 @@ task packageDispatcherJar(type: Jar) {
preBuild.dependsOn(packageDispatcherJar)

android {
compileSdkVersion 'android-31'
compileSdkVersion 'android-32'

lintOptions {
abortOnError false
Expand All @@ -59,8 +59,8 @@ android {
}

defaultConfig {
minSdkVersion 21
targetSdkVersion 31
minSdkVersion 26
targetSdkVersion 32
versionName project['version']
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
testInstrumentationRunnerArgument "notAnnotation", "io.mockk.test.SkipInstrumentedAndroidTest"
Expand All @@ -83,7 +83,7 @@ dependencies {
api project(':mockk-agent-common')
implementation "com.linkedin.dexmaker:dexmaker:$dexmaker_version"
implementation "org.objenesis:objenesis:$objenesis_android_version"
androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.2', {
androidTestImplementation('androidx.test.espresso:espresso-core:3.4.0', {
exclude group: 'com.android.support', module: 'support-annotations'
})
androidTestImplementation 'junit:junit:4.13.1'
Expand Down
8 changes: 4 additions & 4 deletions agent/android/dispatcher/build.gradle.kts
Expand Up @@ -5,7 +5,7 @@ plugins {
}

android {
compileSdkVersion = "android-31"
compileSdkVersion = "android-32"

android {
lintOptions {
Expand All @@ -20,12 +20,12 @@ android {

defaultConfig {
minSdk = 21
targetSdk = 31
targetSdk = 32
applicationId = "com.android.dexmaker.mockito.inline.dispatcher"
}

compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
}
8 changes: 4 additions & 4 deletions agent/jvm/api/mockk-agent-jvm.api
Expand Up @@ -73,7 +73,7 @@ public final class io/mockk/proxy/jvm/advice/jvm/SynchronizedMockHandlersMap : i
public final fun containsValue (Ljava/lang/Object;)Z
public final fun entrySet ()Ljava/util/Set;
public fun get (Ljava/lang/Object;)Lio/mockk/proxy/MockKInvocationHandler;
public final fun get (Ljava/lang/Object;)Ljava/lang/Object;
public synthetic fun get (Ljava/lang/Object;)Ljava/lang/Object;
public fun getEntries ()Ljava/util/Set;
public fun getKeys ()Ljava/util/Set;
public fun getSize ()I
Expand All @@ -85,7 +85,7 @@ public final class io/mockk/proxy/jvm/advice/jvm/SynchronizedMockHandlersMap : i
public synthetic fun put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
public fun putAll (Ljava/util/Map;)V
public fun remove (Ljava/lang/Object;)Lio/mockk/proxy/MockKInvocationHandler;
public final fun remove (Ljava/lang/Object;)Ljava/lang/Object;
public synthetic fun remove (Ljava/lang/Object;)Ljava/lang/Object;
public final fun size ()I
public final fun values ()Ljava/util/Collection;
}
Expand All @@ -99,7 +99,7 @@ public final class io/mockk/proxy/jvm/advice/jvm/WeakMockHandlersMap : io/mockk/
public final fun containsValue (Ljava/lang/Object;)Z
public final fun entrySet ()Ljava/util/Set;
public fun get (Ljava/lang/Object;)Lio/mockk/proxy/MockKInvocationHandler;
public final fun get (Ljava/lang/Object;)Ljava/lang/Object;
public synthetic fun get (Ljava/lang/Object;)Ljava/lang/Object;
public fun getEntries ()Ljava/util/Set;
public fun getKeys ()Ljava/util/Set;
public fun getSize ()I
Expand All @@ -111,7 +111,7 @@ public final class io/mockk/proxy/jvm/advice/jvm/WeakMockHandlersMap : io/mockk/
public synthetic fun put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
public fun putAll (Ljava/util/Map;)V
public fun remove (Ljava/lang/Object;)Lio/mockk/proxy/MockKInvocationHandler;
public final fun remove (Ljava/lang/Object;)Ljava/lang/Object;
public synthetic fun remove (Ljava/lang/Object;)Ljava/lang/Object;
public final fun size ()I
public final fun values ()Ljava/util/Collection;
}
Expand Down
22 changes: 11 additions & 11 deletions build.gradle
@@ -1,20 +1,21 @@
buildscript {
ext.kotlin_gradle_version = findProperty('kotlin.version')?.toString() ?: '1.6.0'
ext.android_gradle_version = '7.0.0'
ext.byte_buddy_version = '1.12.6'
ext.kotlin_gradle_version = findProperty('kotlin.version')?.toString() ?: '1.7.10'
ext.android_gradle_version = '7.2.1'
ext.byte_buddy_version = '1.12.10'
ext.coroutines_version = '1.3.3'
ext.dexmaker_version = '2.28.1'
ext.objenesis_version = '3.2'
ext.objenesis_android_version = '3.2'
ext.junit_jupiter_version = '5.6.2'
ext.junit_vintage_version = '5.6.2'
ext.dokka_version = '1.6.0'
ext.dokka_version = '1.7.0'
ext.gradles = project.projectDir.toString() + "/gradle"

repositories {
mavenCentral()
google()
}

dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_gradle_version"
classpath "com.android.tools.build:gradle:$android_gradle_version"
Expand All @@ -23,14 +24,14 @@ buildscript {
}

plugins {
id("org.jetbrains.kotlinx.binary-compatibility-validator") version "0.9.0"
id("org.jetbrains.kotlinx.binary-compatibility-validator") version "0.10.0"
}

subprojects { subProject ->
group = 'io.mockk'

ext.kotlin_version = findProperty('kotlin.version')?.toString() ?: '1.6.0'
ext.kotlin_gradle_version = findProperty('kotlin.version')?.toString() ?: '1.6.0'
ext.kotlin_version = findProperty('kotlin.version')?.toString() ?: '1.7.10'
ext.kotlin_gradle_version = findProperty('kotlin.version')?.toString() ?: '1.7.10'

repositories {
mavenCentral()
Expand All @@ -39,10 +40,9 @@ subprojects { subProject ->

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
kotlinOptions {
jvmTarget = "1.8"
apiVersion = "1.4"
languageVersion = "1.4"
useIR = findProperty("kotlin.ir.enabled")?.toBoolean() == true
apiVersion = "1.7"
jvmTarget = "17"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure about these: there have been issues about 1.4.* compatibilty in the past, meaning that some folks are still using MockK with Kotlin 1.4.*, so I'd like it to be backwards-compatible at least up to these versions.

languageVersion = "1.7"
}
}
}
10 changes: 5 additions & 5 deletions circle.yml
Expand Up @@ -3,7 +3,7 @@ jobs:
build:
working_directory: ~/code
docker:
- image: circleci/android:api-26-alpha
- image: circleci/android:api-30
resource_class: xlarge
environment:
JVM_OPTS: -Xmx4096m
Expand All @@ -21,18 +21,18 @@ jobs:
name: Download Dependencies
command: |
sdkmanager --install 'ndk-bundle'
sdkmanager --install 'platforms;android-25'
sdkmanager --install 'system-images;android-25;google_apis;armeabi-v7a'
sdkmanager --install 'platforms;android-30'
sdkmanager --install 'system-images;android-30;google_apis;armeabi-v7a'
- save_cache:
paths:
- ~/.gradle
- ~/.m2
- /opt/android/sdk/platforms/android-25
- /opt/android/sdk/platforms/android-30
key: cache-{{ checksum ".cache-hash" }}
- run:
name: Starting Android emulator
command: |
echo no | avdmanager create avd --package "system-images;android-25;google_apis;armeabi-v7a" --name "test"
echo no | avdmanager create avd --package "system-images;android-30;google_apis;armeabi-v7a" --name "test"
emulator -avd test -no-skin -no-audio -no-window &
android-wait-for-emulator
adb shell input keyevent 82 &
Expand Down
30 changes: 9 additions & 21 deletions client-tests/jvm/build.gradle.kts
@@ -1,6 +1,6 @@
buildscript {
ext {
kotlin_version = "1.3.72"
kotlin_version = "1.7.10"
}
repositories {
mavenCentral()
Expand All @@ -12,12 +12,12 @@ buildscript {
}

plugins {
kotlin("jvm") version "1.3.72"
kotlin("jvm") version "1.7.10"
}

java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}

configurations.all({
Expand All @@ -32,29 +32,17 @@ repositories {
}

dependencies {
implementation("org.jetbrains.kotlin:kotlin-stdlib") {
version {
strictly("$kotlin_version")
}
}
implementation("org.jetbrains.kotlin:kotlin-stdlib-common") {
version {
strictly("$kotlin_version")
}
}
implementation("org.jetbrains.kotlin:kotlin-reflect") {
version {
strictly("$kotlin_version")
}
}
implementation("org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version")
implementation("org.jetbrains.kotlin:kotlin-stdlib-common:$kotlin_version")
implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlin_version")
testImplementation(project(":mockk-jvm"))

testImplementation("org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version") {
exclude(group = "junit", module = "junit")
}

testImplementation("org.slf4j:slf4j-api:1.7.32")
testImplementation("ch.qos.logback:logback-classic:1.2.9")
testImplementation("org.slf4j:slf4j-api:1.7.36")
testImplementation("ch.qos.logback:logback-classic:1.2.11")

compileOnly("org.junit.jupiter:junit-jupiter-api:$junit_jupiter_version")
testImplementation("org.junit.jupiter:junit-jupiter-api:$junit_jupiter_version")
Expand Down
4 changes: 2 additions & 2 deletions dsl/common/build.gradle.kts
Expand Up @@ -9,6 +9,6 @@ apply(from = "${rootProject.extensions.extraProperties["gradles"]}/additional-ar
apply(from = "${rootProject.extensions.extraProperties["gradles"]}/upload.gradle")

java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
3 changes: 1 addition & 2 deletions dsl/common/src/main/kotlin/io/mockk/InternalPlatformDsl.kt
Expand Up @@ -45,9 +45,8 @@ interface InternalRef<T> {
val value: T
}


interface InternalCounter {
val value: Long

fun increment(): Long
}
}
2 changes: 1 addition & 1 deletion dsl/common/src/main/kotlin/io/mockk/MockKSettings.kt
Expand Up @@ -19,7 +19,7 @@ enum class StackTracesAlignment {

fun stackTracesAlignmentValueOf(property: String): StackTracesAlignment {
return try {
enumValueOf(property.toUpperCase())
enumValueOf(property.uppercase())
} catch (e: IllegalArgumentException) {
StackTracesAlignment.CENTER
}
Expand Down
2 changes: 0 additions & 2 deletions dsl/jvm/build.gradle.kts
Expand Up @@ -34,5 +34,3 @@ tasks {
add("archives", sourcesJar)
}
}


10 changes: 5 additions & 5 deletions gradle.properties
@@ -1,7 +1,7 @@
version=1.12.5-SNAPSHOT
org.gradle.parallel=true
android.useAndroidX=true
kotlin.version=1.7.10
localrepo=/Users/hendr/.m2/repository
org.gradle.configureondemand=false
org.gradle.jvmargs=-XX:MaxMetaspaceSize=768m
# localrepo=build/mockk-repo
localrepo=/Users/raibaz/.m2/repository
# kotlin.version=1.5.10
org.gradle.parallel=true
version=1.13.0-SNAPSHOT
2 changes: 1 addition & 1 deletion gradle/jacoco.gradle
@@ -1,7 +1,7 @@
apply plugin: 'jacoco'

jacoco {
toolVersion = "0.8.7"
toolVersion = "0.8.8"
}

afterEvaluate {
Expand Down
2 changes: 1 addition & 1 deletion 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-7.5-rc-4-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
5 changes: 5 additions & 0 deletions jitpack.yml
@@ -0,0 +1,5 @@
jdk:
- openjdk17
install:
- echo "Running a custom install command"
- ./gradlew clean :publishToMavenLocal -xtest