Skip to content

Commit

Permalink
bump Gradle to 8.2, switch to version catalog, upgrade deps.
Browse files Browse the repository at this point in the history
It involves a handful of build script changes.
  • Loading branch information
atsushieno committed Jul 29, 2023
1 parent 646136c commit 40ad819
Show file tree
Hide file tree
Showing 11 changed files with 2,439 additions and 179 deletions.
11 changes: 6 additions & 5 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
plugins {
id "org.jetbrains.kotlin.multiplatform" version "1.7.20" apply false
id "org.jetbrains.kotlin.jvm" version "1.7.20" apply false
id "com.android.library" version "7.4.2" apply false
id "org.jetbrains.dokka" version "1.7.20" apply false
id "org.jetbrains.kotlin.multiplatform" version "1.8.20" apply false
id "org.jetbrains.kotlin.jvm" version "1.8.20" apply false
id "com.android.library" version "8.0.2" apply false
id "org.jetbrains.dokka" version "1.8.20" apply false
id "me.tylerbwong.gradle.metalava" version "0.3.3" apply false
}

allprojects {
group = 'dev.atsushieno'
version = '0.5.1'
version = libs.versions.ktmidi.get()

repositories {
google()
Expand Down
1 change: 1 addition & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@ android.useAndroidX=true
org.gradle.jvmargs=-Xmx1024M -Dkotlin.daemon.jvm.options\="-Xmx1536M"
kotlin.incremental.useClasspathSnapshot=true
kotlin.native.cacheKind.linuxX64=none
kotlin.mpp.androidSourceSetLayoutVersion=1
20 changes: 20 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[versions]
ktmidi = "0.5.2"
core-ktx = "1.10.1"
junit = "4.13.2"
kotlinx-coroutines-core = "1.7.0"
kotlinx-datetime = "0.4.0"
ktor-io = "2.3.0"

[libraries]
core-ktx = { module = "androidx.core:core-ktx", version.ref = "core-ktx" }
junit = { module = "junit:junit", version.ref = "junit" }
kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinx-coroutines-core" }
kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinx-coroutines-core" }
kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinx-datetime" }
ktor-io = { module = "io.ktor:ktor-io", version.ref = "ktor-io" }

[plugins]

[bundles]

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 @@
#Wed Apr 07 14:09:15 JST 2021
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
8 changes: 4 additions & 4 deletions input-sample/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ plugins {
}

dependencies {
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.0"
implementation project(":ktmidi")
implementation project(":ktmidi-jvm-desktop")
testImplementation "org.junit.jupiter:junit-jupiter-api:5.9.0"
Expand All @@ -15,7 +15,7 @@ mainClassName = "dev.atsushieno.ktmidi.samples.inputsample.InputSampleKt"

jar {
manifest {
attributes["Main-Class"] = application.mainClassName
attributes["Main-Class"] = application.mainClass
}
}

Expand All @@ -28,6 +28,6 @@ run {
}

java {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
2,246 changes: 2,246 additions & 0 deletions kotlin-js-store/yarn.lock

Large diffs are not rendered by default.

202 changes: 108 additions & 94 deletions ktmidi/api/ktmidi-api.txt

Large diffs are not rendered by default.

110 changes: 48 additions & 62 deletions ktmidi/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,12 +1,7 @@
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTargetWithTests

buildscript {
repositories {
maven("https://plugins.gradle.org/m2/")
}
dependencies {
classpath("me.tylerbwong.gradle:metalava-gradle:0.2.3")
}
}

plugins {
Expand All @@ -15,14 +10,12 @@ plugins {
id("org.jetbrains.dokka")
id("maven-publish")
id("signing")
id("me.tylerbwong.gradle.metalava") version "0.2.3"
id("me.tylerbwong.gradle.metalava")
}

kotlin {
jvm {
compilations.all {
kotlinOptions.jvmTarget = "1.8"
}
jvmToolchain(17)
testRuns["test"].executionTask.configure {
useJUnit()
}
Expand All @@ -36,7 +29,7 @@ kotlin {
testTask {
useKarma {
useChromeHeadless()
webpackConfig.cssSupport.enabled = true
//webpackConfig.cssSupport.enabled = true
}
}
}
Expand All @@ -58,29 +51,29 @@ kotlin {
sourceSets {
val commonMain by getting {
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4")
implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.4.0")
implementation("io.ktor:ktor-io:2.1.0")
implementation(libs.kotlinx.coroutines.core)
implementation(libs.kotlinx.datetime)
implementation(libs.ktor.io)
}
}
val commonTest by getting {
dependencies {
implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common"))
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.4")
implementation(libs.kotlinx.coroutines.core)
implementation(libs.kotlinx.coroutines.test)
}
}
val jvmMain by getting
val androidMain by getting {
dependencies {
implementation("androidx.core:core-ktx:1.9.0")
implementation(libs.core.ktx)
}
}
val androidTest by getting {
dependencies {
implementation(kotlin("test-junit"))
implementation("junit:junit:4.13.2")
implementation(libs.junit)
}
}
val jvmTest by getting {
Expand Down Expand Up @@ -122,6 +115,7 @@ metalava {
}

android {
namespace = "dev.atsusheno.ktmidi"
sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
sourceSets["test"].assets.srcDir("src/commonTest/resources") // kind of hack...
defaultConfig {
Expand All @@ -132,61 +126,53 @@ android {
val debug by getting
val release by getting
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
}

afterEvaluate {
val javadocJar by tasks.registering(Jar::class) {
archiveClassifier.set("javadoc")
}
val javadocJar by tasks.registering(Jar::class) {
archiveClassifier.set("javadoc")
}

publishing {
publications.withType<MavenPublication> {
artifact(javadocJar)
pom {
name.set("ktmidi")
description.set("Kotlin Multiplatform library for MIDI 1.0 and MIDI 2.0")
publishing {
publications.withType<MavenPublication> {
artifact(javadocJar)
pom {
name.set("ktmidi")
description.set("Kotlin Multiplatform library for MIDI 1.0 and MIDI 2.0")
url.set("https://github.com/atsushieno/ktmidi")
scm {
url.set("https://github.com/atsushieno/ktmidi")
scm {
url.set("https://github.com/atsushieno/ktmidi")
}
licenses {
license {
name.set("the MIT License")
url.set("https://github.com/atsushieno/ktmidi/blob/main/LICENSE")
}
}
licenses {
license {
name.set("the MIT License")
url.set("https://github.com/atsushieno/ktmidi/blob/main/LICENSE")
}
developers {
developer {
id.set("atsushieno")
name.set("Atsushi Eno")
email.set("atsushieno@gmail.com")
}
}
developers {
developer {
id.set("atsushieno")
name.set("Atsushi Eno")
email.set("atsushieno@gmail.com")
}
}
}
}

repositories {
/*
maven {
name = "GitHubPackages"
url = uri("https://maven.pkg.github.com/atsushieno/ktmidi")
credentials {
username = project.findProperty("gpr.user") ?: System.getenv("USERNAME")
password = project.findProperty("gpr.key") ?: System.getenv("GITHUB_TOKEN")
}
}
*/
maven {
name = "OSSRH"
url = uri("https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/")
credentials {
username = System.getenv("OSSRH_USERNAME")
password = System.getenv("OSSRH_PASSWORD")
}
repositories {
maven {
name = "OSSRH"
url = uri("https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/")
credentials {
username = System.getenv("OSSRH_USERNAME")
password = System.getenv("OSSRH_PASSWORD")
}
}
}

// keep it as is. It is replaced by CI release builds
signing {}
}

// keep it as is. It is replaced by CI release builds
signing {}
2 changes: 1 addition & 1 deletion ktmidi/src/androidMain/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="dev.atsushieno.ktmidi"/>
<manifest />
8 changes: 4 additions & 4 deletions player-sample/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ plugins {
}

dependencies {
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4"
implementation libs.kotlinx.coroutines.core
implementation project(":ktmidi")
implementation project(":ktmidi-jvm-desktop")
implementation project(":player-sample-lib")
Expand All @@ -14,7 +14,7 @@ mainClassName = "dev.atsushieno.ktmidi.samples.playersample.DriverKt"

jar {
manifest {
attributes["Main-Class"] = application.mainClassName
attributes["Main-Class"] = application.mainClass
}
}

Expand All @@ -23,6 +23,6 @@ run {
}

java {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
8 changes: 0 additions & 8 deletions settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,6 @@ pluginManagement {
mavenCentral()
gradlePluginPortal()
}

resolutionStrategy {
eachPlugin {
if (requested.id.namespace == 'com.android' || requested.id.name == 'kotlin-android-extensions') {
useModule('com.android.tools.build:gradle:7.2.0')
}
}
}
}

rootProject.name = 'ktmidi-project'
Expand Down

0 comments on commit 40ad819

Please sign in to comment.