Skip to content

Commit

Permalink
Use Kotlin multiplatform plugin rather than JS (#14)
Browse files Browse the repository at this point in the history
  • Loading branch information
gchristov authored Oct 10, 2022
1 parent eb5edba commit 9041392
Show file tree
Hide file tree
Showing 12 changed files with 23 additions and 26 deletions.
14 changes: 7 additions & 7 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,16 @@ jobs:
cancel-in-progress: true
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Setup Java
uses: actions/setup-java@v2
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: ${{ env.JAVA_VERSION }}
- name: Gradle cache
uses: gradle/gradle-build-action@v2
- name: KMP cache
uses: actions/cache@v2
uses: actions/cache@v3
id: konan-js-build
with:
path: '~/.konan/**'
Expand All @@ -48,22 +48,22 @@ jobs:
cancel-in-progress: true
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Setup Java
uses: actions/setup-java@v2
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: ${{ env.JAVA_VERSION }}
- name: Gradle cache
uses: gradle/gradle-build-action@v2
- name: KMP cache
uses: actions/cache@v2
uses: actions/cache@v3
id: konan-js-test
with:
path: '~/.konan/**'
key: konan-js-test
- name: Javascript tests
run: set -o pipefail && ./gradlew --continue nodeTest
run: set -o pipefail && ./gradlew --continue jsNodeTest
# Always run this job even if the previous steps fail to collect all test reports
- name: Generate Javascript test report
uses: mikepenz/action-junit-report@v3
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,16 @@ jobs:
cancel-in-progress: true
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Setup Java
uses: actions/setup-java@v2
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: ${{ env.JAVA_VERSION }}
- name: Gradle cache
uses: gradle/gradle-build-action@v2
- name: KMP cache
uses: actions/cache@v2
uses: actions/cache@v3
id: konan-js-deploy
with:
path: '~/.konan/**'
Expand Down Expand Up @@ -56,22 +56,22 @@ jobs:
cancel-in-progress: true
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Setup Java
uses: actions/setup-java@v2
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: ${{ env.JAVA_VERSION }}
- name: Gradle cache
uses: gradle/gradle-build-action@v2
- name: KMP cache
uses: actions/cache@v2
uses: actions/cache@v3
id: konan-js-test
with:
path: '~/.konan/**'
key: konan-js-test
- name: Javascript tests
run: set -o pipefail && ./gradlew --continue nodeTest
run: set -o pipefail && ./gradlew --continue jsNodeTest
# Always run this job even if the previous steps fail to collect all test reports
- name: Generate Javascript test report
uses: mikepenz/action-junit-report@v3
Expand Down
2 changes: 1 addition & 1 deletion appJs/appJs/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ plugins {

kotlin {
sourceSets {
val main by getting {
val commonMain by getting {
dependencies {
implementation(npm("firebase", "9.10.0"))
implementation(npm("firebase-admin", "11.0.1"))
Expand Down
2 changes: 1 addition & 1 deletion appJs/module-a/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ plugins {

kotlin {
sourceSets {
val main by getting {
val commonMain by getting {
dependencies {
implementation(projects.kmpModuleB)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@ package com.gchristov.thecodinglove.gradleplugins

import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.kotlin.dsl.dependencies
import org.gradle.kotlin.dsl.kotlin
import org.jetbrains.kotlin.gradle.dsl.KotlinJsProjectExtension
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension

@Suppress("unused")
class JavascriptApplicationPlugin : JavascriptPlatformPlugin() {
Expand All @@ -25,8 +23,8 @@ abstract class JavascriptPlatformPlugin : Plugin<Project> {
}

private fun Project.configureJavascript() {
plugins.apply("org.jetbrains.kotlin.js")
extensions.configure(KotlinJsProjectExtension::class.java) {
plugins.apply("org.jetbrains.kotlin.multiplatform")
extensions.configure(KotlinMultiplatformExtension::class.java) {
js(IR) {
nodejs()
}
Expand All @@ -35,18 +33,17 @@ private fun Project.configureJavascript() {

private fun Project.configureJavascriptApplication() {
plugins.apply("dev.petuska.npm.publish")
extensions.configure(KotlinJsProjectExtension::class.java) {
extensions.configure(KotlinMultiplatformExtension::class.java) {
js(IR) {
binaries.library()
}
}
}

private fun Project.configureTests() {
// Add dependencies after plugins are set to avoid missing "implementation" errors
afterEvaluate {
dependencies {
add("testImplementation", kotlin("test"))
extensions.configure(KotlinMultiplatformExtension::class.java) {
sourceSets.maybeCreate("commonMain").dependencies {
implementation(kotlin("test"))
}
}
}

0 comments on commit 9041392

Please sign in to comment.