Skip to content

Commit f1595bb

Browse files
rewrite on multiplatform
1 parent 376691e commit f1595bb

36 files changed

+340
-101
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,5 @@ settings.xml
88
.gradle/
99
build/
1010
out/
11+
12+
local.properties

build.gradle

Lines changed: 16 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,31 @@
11
buildscript {
22
repositories {
3-
mavenLocal()
43
jcenter()
4+
google()
55
mavenCentral()
6+
mavenLocal()
7+
maven { url "https://plugins.gradle.org/m2/" }
68
}
79

810
dependencies {
11+
classpath 'com.android.tools.build:gradle:4.0.2'
912
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
1013
classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
14+
classpath "com.getkeepsafe.dexcount:dexcount-gradle-plugin:$dexcount_version"
15+
classpath "org.jetbrains.dokka:dokka-gradle-plugin:$dokka_version"
1116
}
1217
}
1318

14-
plugins {
15-
id "org.jetbrains.kotlin.plugin.serialization" version "$kotlin_version"
16-
id("org.jetbrains.compose") version "$compose_version"
17-
}
18-
19-
apply plugin: 'kotlin'
20-
21-
project.group = "com.insanusmokrassar"
22-
23-
repositories {
24-
mavenLocal()
25-
jcenter()
26-
mavenCentral()
27-
maven { url "https://kotlin.bintray.com/kotlinx" }
28-
maven { url "https://maven.pkg.jetbrains.space/public/p/compose/dev" }
29-
}
30-
31-
dependencies {
32-
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
33-
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version"
34-
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlin_serialisation_runtime_version"
35-
implementation "dev.inmo:micro_utils.coroutines:$micro_utils_version"
36-
implementation(compose.desktop.currentOs)
37-
38-
implementation "io.ktor:ktor-client:$ktor_version"
39-
implementation "io.ktor:ktor-client-cio:$ktor_version"
40-
}
41-
42-
compose.desktop {
43-
application {
44-
mainClass = "com.insanusmokrassar.kmppscriptbuilder.BuilderKt"
19+
allprojects {
20+
repositories {
21+
mavenLocal()
22+
jcenter()
23+
mavenCentral()
24+
google()
25+
maven { url "https://kotlin.bintray.com/kotlinx" }
26+
maven { url "https://maven.pkg.jetbrains.space/public/p/compose/dev" }
4527
}
4628
}
4729

48-
compileKotlin {
49-
kotlinOptions {
50-
jvmTarget = "11"
51-
useIR = true
52-
}
53-
}
30+
apply from: "./extensions.gradle"
31+
// apply from: "./github_release.gradle"

core/build.gradle

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
plugins {
2+
id "org.jetbrains.kotlin.multiplatform"
3+
id "org.jetbrains.kotlin.plugin.serialization"
4+
id "com.android.library"
5+
}
6+
7+
apply from: "$mppProjectWithSerializationPresetPath"
8+
9+
kotlin {
10+
sourceSets {
11+
commonMain {
12+
dependencies {
13+
api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version"
14+
api "dev.inmo:micro_utils.coroutines:$micro_utils_version"
15+
16+
api "io.ktor:ktor-client-core:$ktor_version"
17+
}
18+
}
19+
}
20+
}

src/main/kotlin/com/insanusmokrassar/kmppscriptbuilder/export/jvm_only/MavenTemplater.kt renamed to core/src/commonMain/kotlin/dev/inmo/kmppscriptbuilder/core/export/jvm_only/MavenTemplater.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package com.insanusmokrassar.kmppscriptbuilder.export.jvm_only
1+
package dev.inmo.kmppscriptbuilder.core.export.jvm_only
22

3-
import com.insanusmokrassar.kmppscriptbuilder.models.*
3+
import dev.inmo.kmppscriptbuilder.core.models.*
44

55
fun MavenConfig.buildJvmOnlyMavenConfig(licenses: List<License>): String = """
66
apply plugin: 'maven-publish'

src/main/kotlin/com/insanusmokrassar/kmppscriptbuilder/export/mpp/MavenTemplater.kt renamed to core/src/commonMain/kotlin/dev/inmo/kmppscriptbuilder/core/export/mpp/MavenTemplater.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package com.insanusmokrassar.kmppscriptbuilder.export.mpp
1+
package dev.inmo.kmppscriptbuilder.core.export.mpp
22

3-
import com.insanusmokrassar.kmppscriptbuilder.models.*
3+
import dev.inmo.kmppscriptbuilder.core.models.*
44

55
fun MavenConfig.buildMultiplatformMavenConfig(licenses: List<License>): String = """
66
apply plugin: 'maven-publish'

src/main/kotlin/com/insanusmokrassar/kmppscriptbuilder/models/Config.kt renamed to core/src/commonMain/kotlin/dev/inmo/kmppscriptbuilder/core/models/Config.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
package com.insanusmokrassar.kmppscriptbuilder.models
1+
package dev.inmo.kmppscriptbuilder.core.models
22

3-
import com.insanusmokrassar.kmppscriptbuilder.export.jvm_only.buildJvmOnlyMavenConfig
4-
import com.insanusmokrassar.kmppscriptbuilder.export.mpp.buildMultiplatformMavenConfig
3+
import dev.inmo.kmppscriptbuilder.core.export.jvm_only.buildJvmOnlyMavenConfig
4+
import dev.inmo.kmppscriptbuilder.core.export.mpp.buildMultiplatformMavenConfig
55
import kotlinx.serialization.*
66
import kotlinx.serialization.builtins.serializer
77
import kotlinx.serialization.descriptors.SerialDescriptor
@@ -16,7 +16,7 @@ sealed class ProjectType {
1616
}
1717

1818
@Serializer(ProjectType::class)
19-
internal object ProjectTypeSerializer : KSerializer<ProjectType> {
19+
object ProjectTypeSerializer : KSerializer<ProjectType> {
2020
override val descriptor: SerialDescriptor = String.serializer().descriptor
2121
override fun deserialize(decoder: Decoder): ProjectType {
2222
return when (decoder.decodeString()) {

src/main/kotlin/com/insanusmokrassar/kmppscriptbuilder/models/Developer.kt renamed to core/src/commonMain/kotlin/dev/inmo/kmppscriptbuilder/core/models/Developer.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.insanusmokrassar.kmppscriptbuilder.models
1+
package dev.inmo.kmppscriptbuilder.core.models
22

33
import kotlinx.serialization.Serializable
44

src/main/kotlin/com/insanusmokrassar/kmppscriptbuilder/models/License.kt renamed to core/src/commonMain/kotlin/dev/inmo/kmppscriptbuilder/core/models/License.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package com.insanusmokrassar.kmppscriptbuilder.models
1+
package dev.inmo.kmppscriptbuilder.core.models
22

3-
import com.insanusmokrassar.kmppscriptbuilder.utils.serialFormat
3+
import dev.inmo.kmppscriptbuilder.core.utils.serialFormat
44
import io.ktor.client.HttpClient
55
import io.ktor.client.request.get
66
import io.ktor.client.request.url

src/main/kotlin/com/insanusmokrassar/kmppscriptbuilder/models/MavenConfig.kt renamed to core/src/commonMain/kotlin/dev/inmo/kmppscriptbuilder/core/models/MavenConfig.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.insanusmokrassar.kmppscriptbuilder.models
1+
package dev.inmo.kmppscriptbuilder.core.models
22

33
import kotlinx.serialization.Serializable
44

src/main/kotlin/com/insanusmokrassar/kmppscriptbuilder/utils/SerialFormat.kt renamed to core/src/commonMain/kotlin/dev/inmo/kmppscriptbuilder/core/utils/SerialFormat.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.insanusmokrassar.kmppscriptbuilder.utils
1+
package dev.inmo.kmppscriptbuilder.core.utils
22

33
import kotlinx.serialization.json.Json
44

core/src/main/AndroidManifest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<manifest package="dev.inmo.KotlinPublicationScriptsBuilder.core"/>

defaultAndroidSettings.gradle

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
apply plugin: 'com.getkeepsafe.dexcount'
2+
3+
android {
4+
compileSdkVersion "$android_compileSdkVersion".toInteger()
5+
buildToolsVersion "$android_buildToolsVersion"
6+
7+
defaultConfig {
8+
minSdkVersion "$android_minSdkVersion".toInteger()
9+
targetSdkVersion "$android_compileSdkVersion".toInteger()
10+
versionCode "${android_code_version}".toInteger()
11+
versionName "$version"
12+
}
13+
buildTypes {
14+
release {
15+
minifyEnabled false
16+
}
17+
debug {
18+
debuggable true
19+
}
20+
}
21+
22+
packagingOptions {
23+
exclude 'META-INF/kotlinx-serialization-runtime.kotlin_module'
24+
exclude 'META-INF/kotlinx-serialization-cbor.kotlin_module'
25+
exclude 'META-INF/kotlinx-serialization-properties.kotlin_module'
26+
}
27+
28+
compileOptions {
29+
sourceCompatibility JavaVersion.VERSION_1_8
30+
targetCompatibility JavaVersion.VERSION_1_8
31+
}
32+
33+
kotlinOptions {
34+
jvmTarget = JavaVersion.VERSION_1_8.toString()
35+
}
36+
37+
sourceSets {
38+
main.java.srcDirs += 'src/main/kotlin'
39+
}
40+
}

desktop/build.gradle

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
plugins {
2+
id "org.jetbrains.kotlin.multiplatform"
3+
id "org.jetbrains.kotlin.plugin.serialization"
4+
id("org.jetbrains.compose") version "$compose_version"
5+
}
6+
7+
apply from: "$mppJavaProjectPresetPath"
8+
9+
kotlin {
10+
jvm {
11+
compilations.main.kotlinOptions {
12+
jvmTarget = "11"
13+
useIR = true
14+
}
15+
}
16+
sourceSets {
17+
commonMain {
18+
dependencies {
19+
implementation project(":kmppscriptbuilder.core")
20+
}
21+
}
22+
23+
jvmMain {
24+
dependencies {
25+
implementation(compose.desktop.currentOs)
26+
api "io.ktor:ktor-client-cio:$ktor_version"
27+
}
28+
}
29+
}
30+
}
31+
32+
compose.desktop {
33+
application {
34+
mainClass = "dev.inmo.kmppscriptbuilder.desktop.BuilderKt"
35+
}
36+
}
37+

src/main/kotlin/com/insanusmokrassar/kmppscriptbuilder/Builder.kt renamed to desktop/src/jvmMain/kotlin/dev/inmo/kmppscriptbuilder/desktop/Builder.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.insanusmokrassar.kmppscriptbuilder
1+
package dev.inmo.kmppscriptbuilder.desktop
22

33
import androidx.compose.desktop.Window
44
import androidx.compose.foundation.*
@@ -7,8 +7,8 @@ import androidx.compose.material.*
77
import androidx.compose.ui.Alignment
88
import androidx.compose.ui.Modifier
99
import androidx.compose.ui.graphics.Color
10-
import com.insanusmokrassar.kmppscriptbuilder.utils.*
11-
import com.insanusmokrassar.kmppscriptbuilder.views.*
10+
import dev.inmo.kmppscriptbuilder.desktop.utils.*
11+
import dev.inmo.kmppscriptbuilder.desktop.views.*
1212
import java.io.File
1313

1414
//private val uncaughtExceptionsBC = BroadcastChannel<DefaultErrorHandler.ErrorEvent>(Channel.CONFLATED)

src/main/kotlin/com/insanusmokrassar/kmppscriptbuilder/utils/FilesHandling.kt renamed to desktop/src/jvmMain/kotlin/dev/inmo/kmppscriptbuilder/desktop/utils/FilesHandling.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
package com.insanusmokrassar.kmppscriptbuilder.utils
1+
package dev.inmo.kmppscriptbuilder.desktop.utils
22

3-
import com.insanusmokrassar.kmppscriptbuilder.models.Config
3+
import dev.inmo.kmppscriptbuilder.core.models.Config
4+
import dev.inmo.kmppscriptbuilder.core.utils.serialFormat
45
import java.io.File
56
import javax.swing.JFileChooser
67

src/main/kotlin/com/insanusmokrassar/kmppscriptbuilder/utils/NewFileFilterFactory.kt renamed to desktop/src/jvmMain/kotlin/dev/inmo/kmppscriptbuilder/desktop/utils/NewFileFilterFactory.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.insanusmokrassar.kmppscriptbuilder.utils
1+
package dev.inmo.kmppscriptbuilder.desktop.utils
22

33
import java.io.File
44
import javax.swing.filechooser.FileFilter

src/main/kotlin/com/insanusmokrassar/kmppscriptbuilder/utils/UIElements.kt renamed to desktop/src/jvmMain/kotlin/dev/inmo/kmppscriptbuilder/desktop/utils/UIElements.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.insanusmokrassar.kmppscriptbuilder.utils
1+
package dev.inmo.kmppscriptbuilder.desktop.utils
22

33
import androidx.compose.foundation.clickable
44
import androidx.compose.foundation.layout.*

src/main/kotlin/com/insanusmokrassar/kmppscriptbuilder/utils/View.kt renamed to desktop/src/jvmMain/kotlin/dev/inmo/kmppscriptbuilder/desktop/utils/View.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.insanusmokrassar.kmppscriptbuilder.utils
1+
package dev.inmo.kmppscriptbuilder.desktop.utils
22

33
import androidx.compose.foundation.layout.*
44
import androidx.compose.runtime.Composable

src/main/kotlin/com/insanusmokrassar/kmppscriptbuilder/views/BuilderView.kt renamed to desktop/src/jvmMain/kotlin/dev/inmo/kmppscriptbuilder/desktop/views/BuilderView.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.insanusmokrassar.kmppscriptbuilder.views
1+
package dev.inmo.kmppscriptbuilder.desktop.views
22

33
import androidx.compose.foundation.Image
44
import androidx.compose.foundation.clickable
@@ -8,8 +8,8 @@ import androidx.compose.runtime.*
88
import androidx.compose.ui.Modifier
99
import androidx.compose.ui.res.svgResource
1010
import androidx.compose.ui.unit.dp
11-
import com.insanusmokrassar.kmppscriptbuilder.models.Config
12-
import com.insanusmokrassar.kmppscriptbuilder.utils.*
11+
import dev.inmo.kmppscriptbuilder.core.models.Config
12+
import dev.inmo.kmppscriptbuilder.desktop.utils.*
1313

1414
class BuilderView : View() {
1515
private val projectTypeView = ProjectTypeView()

src/main/kotlin/com/insanusmokrassar/kmppscriptbuilder/views/DevelopersView.kt renamed to desktop/src/jvmMain/kotlin/dev/inmo/kmppscriptbuilder/desktop/views/DevelopersView.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
package com.insanusmokrassar.kmppscriptbuilder.views
1+
package dev.inmo.kmppscriptbuilder.desktop.views
22

33
import androidx.compose.runtime.*
4-
import com.insanusmokrassar.kmppscriptbuilder.models.Developer
5-
import com.insanusmokrassar.kmppscriptbuilder.utils.*
4+
import dev.inmo.kmppscriptbuilder.core.models.Developer
5+
import dev.inmo.kmppscriptbuilder.desktop.utils.*
66

77
class DeveloperState(
88
id: String = "",

src/main/kotlin/com/insanusmokrassar/kmppscriptbuilder/views/LicensesView.kt renamed to desktop/src/jvmMain/kotlin/dev/inmo/kmppscriptbuilder/desktop/views/LicensesView.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.insanusmokrassar.kmppscriptbuilder.views
1+
package dev.inmo.kmppscriptbuilder.desktop.views
22

33
import androidx.compose.foundation.clickable
44
import androidx.compose.foundation.layout.*
@@ -7,9 +7,9 @@ import androidx.compose.material.Divider
77
import androidx.compose.runtime.*
88
import androidx.compose.ui.Modifier
99
import androidx.compose.ui.unit.dp
10-
import com.insanusmokrassar.kmppscriptbuilder.models.License
11-
import com.insanusmokrassar.kmppscriptbuilder.models.getLicenses
12-
import com.insanusmokrassar.kmppscriptbuilder.utils.*
10+
import dev.inmo.kmppscriptbuilder.core.models.License
11+
import dev.inmo.kmppscriptbuilder.core.models.getLicenses
12+
import dev.inmo.kmppscriptbuilder.desktop.utils.*
1313
import io.ktor.client.HttpClient
1414
import kotlinx.coroutines.*
1515

src/main/kotlin/com/insanusmokrassar/kmppscriptbuilder/views/ListView.kt renamed to desktop/src/jvmMain/kotlin/dev/inmo/kmppscriptbuilder/desktop/views/ListView.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
package com.insanusmokrassar.kmppscriptbuilder.views
1+
package dev.inmo.kmppscriptbuilder.desktop.views
22

33
import androidx.compose.foundation.layout.*
44
import androidx.compose.material.*
55
import androidx.compose.runtime.*
66
import androidx.compose.ui.Modifier
77
import androidx.compose.ui.unit.dp
8-
import com.insanusmokrassar.kmppscriptbuilder.models.Developer
9-
import com.insanusmokrassar.kmppscriptbuilder.utils.*
8+
import dev.inmo.kmppscriptbuilder.desktop.utils.*
109

1110
abstract class ListView<T>(title: String) : VerticalView(title) {
1211
protected val itemsList = mutableStateListOf<T>()

src/main/kotlin/com/insanusmokrassar/kmppscriptbuilder/views/MavenInfoView.kt renamed to desktop/src/jvmMain/kotlin/dev/inmo/kmppscriptbuilder/desktop/views/MavenInfoView.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
package com.insanusmokrassar.kmppscriptbuilder.views
1+
package dev.inmo.kmppscriptbuilder.desktop.views
22

33
import androidx.compose.foundation.layout.ColumnScope
44
import androidx.compose.runtime.*
5-
import com.insanusmokrassar.kmppscriptbuilder.models.MavenConfig
6-
import com.insanusmokrassar.kmppscriptbuilder.models.SonatypeRepository
7-
import com.insanusmokrassar.kmppscriptbuilder.utils.*
5+
import dev.inmo.kmppscriptbuilder.core.models.MavenConfig
6+
import dev.inmo.kmppscriptbuilder.core.models.SonatypeRepository
7+
import dev.inmo.kmppscriptbuilder.desktop.utils.*
88

99
class MavenInfoView : VerticalView("Project information") {
1010
private var projectNameProperty by mutableStateOf("")

src/main/kotlin/com/insanusmokrassar/kmppscriptbuilder/views/ProjectTypeView.kt renamed to desktop/src/jvmMain/kotlin/dev/inmo/kmppscriptbuilder/desktop/views/ProjectTypeView.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
package com.insanusmokrassar.kmppscriptbuilder.views
1+
package dev.inmo.kmppscriptbuilder.desktop.views
22

33
import androidx.compose.foundation.layout.*
44
import androidx.compose.material.Switch
55
import androidx.compose.material.Text
66
import androidx.compose.runtime.*
77
import androidx.compose.ui.Modifier
88
import androidx.compose.ui.unit.dp
9-
import com.insanusmokrassar.kmppscriptbuilder.models.*
10-
import com.insanusmokrassar.kmppscriptbuilder.utils.VerticalView
9+
import dev.inmo.kmppscriptbuilder.core.models.*
10+
import dev.inmo.kmppscriptbuilder.desktop.utils.VerticalView
1111

1212
class ProjectTypeView : VerticalView("Project type") {
1313
private var projectTypeState by mutableStateOf<Boolean>(false)

src/main/kotlin/com/insanusmokrassar/kmppscriptbuilder/views/RepositoriesView.kt renamed to desktop/src/jvmMain/kotlin/dev/inmo/kmppscriptbuilder/desktop/views/RepositoriesView.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
package com.insanusmokrassar.kmppscriptbuilder.views
1+
package dev.inmo.kmppscriptbuilder.desktop.views
22

33
import androidx.compose.runtime.*
4-
import com.insanusmokrassar.kmppscriptbuilder.models.MavenPublishingRepository
5-
import com.insanusmokrassar.kmppscriptbuilder.utils.*
4+
import dev.inmo.kmppscriptbuilder.core.models.MavenPublishingRepository
5+
import dev.inmo.kmppscriptbuilder.desktop.utils.*
66

77
class RepositoryState(
88
name: String = "",

0 commit comments

Comments
 (0)