mirror of
				https://github.com/InsanusMokrassar/KotlinPublicationScriptsBuilder.git
				synced 2025-11-04 05:00:04 +00:00 
			
		
		
		
	Compare commits
	
		
			4 Commits
		
	
	
		
			build-46d6
			...
			build-ac87
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| ac87a140cc | |||
| 0dbe3a866b | |||
| 7c50c58a90 | |||
| ceff1eb1ef | 
@@ -1,6 +1,5 @@
 | 
				
			|||||||
buildscript {
 | 
					buildscript {
 | 
				
			||||||
    repositories {
 | 
					    repositories {
 | 
				
			||||||
        jcenter()
 | 
					 | 
				
			||||||
        google()
 | 
					        google()
 | 
				
			||||||
        mavenCentral()
 | 
					        mavenCentral()
 | 
				
			||||||
        mavenLocal()
 | 
					        mavenLocal()
 | 
				
			||||||
@@ -8,7 +7,7 @@ buildscript {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    dependencies {
 | 
					    dependencies {
 | 
				
			||||||
        classpath 'com.android.tools.build:gradle:4.0.2'
 | 
					        classpath 'com.android.tools.build:gradle:4.2.2'
 | 
				
			||||||
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
 | 
					        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
 | 
				
			||||||
        classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
 | 
					        classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
 | 
				
			||||||
        classpath "com.getkeepsafe.dexcount:dexcount-gradle-plugin:$dexcount_version"
 | 
					        classpath "com.getkeepsafe.dexcount:dexcount-gradle-plugin:$dexcount_version"
 | 
				
			||||||
@@ -19,10 +18,8 @@ buildscript {
 | 
				
			|||||||
allprojects {
 | 
					allprojects {
 | 
				
			||||||
    repositories {
 | 
					    repositories {
 | 
				
			||||||
        mavenLocal()
 | 
					        mavenLocal()
 | 
				
			||||||
        jcenter()
 | 
					 | 
				
			||||||
        mavenCentral()
 | 
					        mavenCentral()
 | 
				
			||||||
        google()
 | 
					        google()
 | 
				
			||||||
        maven { url "https://kotlin.bintray.com/kotlinx" }
 | 
					 | 
				
			||||||
        maven { url "https://maven.pkg.jetbrains.space/public/p/compose/dev" }
 | 
					        maven { url "https://maven.pkg.jetbrains.space/public/p/compose/dev" }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -30,19 +30,19 @@ suspend fun HttpClient.getLicenses(): Map<String, License> {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
suspend fun HttpClient.searchLicense(name: String): List<License> {
 | 
					suspend fun HttpClient.searchLicense(name: String): List<License> {
 | 
				
			||||||
    val licenses = licenses ?: getLicenses()
 | 
					    val licenses = licenses ?: getLicenses()
 | 
				
			||||||
    val lowerCase = name.toLowerCase()
 | 
					    val lowerCase = name.lowercase()
 | 
				
			||||||
    val upperCase = name.toUpperCase()
 | 
					    val upperCase = name.uppercase()
 | 
				
			||||||
    return licenses.values.filter {
 | 
					    return licenses.values.filter {
 | 
				
			||||||
        it.title.toLowerCase().contains(lowerCase) || it.title.toUpperCase().contains(upperCase) || it.title.contains(name)
 | 
					        it.title.lowercase().contains(lowerCase) || it.title.uppercase().contains(upperCase) || it.title.contains(name)
 | 
				
			||||||
            || it.id.toLowerCase().contains(lowerCase) || it.id.toUpperCase().contains(upperCase) || it.id.contains(name)
 | 
					            || it.id.lowercase().contains(lowerCase) || it.id.uppercase().contains(upperCase) || it.id.contains(name)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fun Map<String, License>.searchLicense(name: String): List<License> {
 | 
					fun Map<String, License>.searchLicense(name: String): List<License> {
 | 
				
			||||||
    val lowerCase = name.toLowerCase()
 | 
					    val lowerCase = name.lowercase()
 | 
				
			||||||
    val upperCase = name.toUpperCase()
 | 
					    val upperCase = name.uppercase()
 | 
				
			||||||
    return values.filter {
 | 
					    return values.filter {
 | 
				
			||||||
        it.title.toLowerCase().contains(lowerCase) || it.title.toUpperCase().contains(upperCase) || it.title.contains(name)
 | 
					        it.title.lowercase().contains(lowerCase) || it.title.uppercase().contains(upperCase) || it.title.contains(name)
 | 
				
			||||||
            || it.id.toLowerCase().contains(lowerCase) || it.id.toUpperCase().contains(upperCase) || it.id.contains(name)
 | 
					            || it.id.lowercase().contains(lowerCase) || it.id.uppercase().contains(upperCase) || it.id.contains(name)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,6 +2,9 @@ package dev.inmo.kmppscriptbuilder.core.models
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import kotlinx.serialization.Serializable
 | 
					import kotlinx.serialization.Serializable
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const val defaultProjectName = "\${project.name}"
 | 
				
			||||||
 | 
					const val defaultProjectDescription = "\${project.name}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@Serializable
 | 
					@Serializable
 | 
				
			||||||
data class MavenConfig(
 | 
					data class MavenConfig(
 | 
				
			||||||
    val name: String,
 | 
					    val name: String,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,12 +3,14 @@ package dev.inmo.kmppscriptbuilder.desktop
 | 
				
			|||||||
import androidx.compose.desktop.Window
 | 
					import androidx.compose.desktop.Window
 | 
				
			||||||
import androidx.compose.foundation.*
 | 
					import androidx.compose.foundation.*
 | 
				
			||||||
import androidx.compose.foundation.layout.*
 | 
					import androidx.compose.foundation.layout.*
 | 
				
			||||||
import androidx.compose.material.*
 | 
					import androidx.compose.material.Colors
 | 
				
			||||||
 | 
					import androidx.compose.material.MaterialTheme
 | 
				
			||||||
import androidx.compose.ui.Alignment
 | 
					import androidx.compose.ui.Alignment
 | 
				
			||||||
import androidx.compose.ui.Modifier
 | 
					import androidx.compose.ui.Modifier
 | 
				
			||||||
import androidx.compose.ui.graphics.Color
 | 
					import androidx.compose.ui.graphics.Color
 | 
				
			||||||
import dev.inmo.kmppscriptbuilder.desktop.utils.*
 | 
					import dev.inmo.kmppscriptbuilder.desktop.utils.init
 | 
				
			||||||
import dev.inmo.kmppscriptbuilder.desktop.views.*
 | 
					import dev.inmo.kmppscriptbuilder.desktop.utils.loadConfigFile
 | 
				
			||||||
 | 
					import dev.inmo.kmppscriptbuilder.desktop.views.BuilderView
 | 
				
			||||||
import java.io.File
 | 
					import java.io.File
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//private val uncaughtExceptionsBC = BroadcastChannel<DefaultErrorHandler.ErrorEvent>(Channel.CONFLATED)
 | 
					//private val uncaughtExceptionsBC = BroadcastChannel<DefaultErrorHandler.ErrorEvent>(Channel.CONFLATED)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,6 @@
 | 
				
			|||||||
package dev.inmo.kmppscriptbuilder.desktop.utils
 | 
					package dev.inmo.kmppscriptbuilder.desktop.utils
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.awt.Desktop
 | 
					import java.awt.Desktop
 | 
				
			||||||
import java.lang.Exception
 | 
					 | 
				
			||||||
import java.net.URI
 | 
					import java.net.URI
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fun openLink(link: String): Boolean {
 | 
					fun openLink(link: String): Boolean {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,18 +6,10 @@ import androidx.compose.foundation.layout.*
 | 
				
			|||||||
import androidx.compose.material.*
 | 
					import androidx.compose.material.*
 | 
				
			||||||
import androidx.compose.runtime.*
 | 
					import androidx.compose.runtime.*
 | 
				
			||||||
import androidx.compose.ui.Modifier
 | 
					import androidx.compose.ui.Modifier
 | 
				
			||||||
import androidx.compose.ui.graphics.asImageBitmap
 | 
					import androidx.compose.ui.res.painterResource
 | 
				
			||||||
import androidx.compose.ui.platform.DesktopPlatform
 | 
					 | 
				
			||||||
import androidx.compose.ui.res.loadSvgResource
 | 
					 | 
				
			||||||
import androidx.compose.ui.res.svgResource
 | 
					 | 
				
			||||||
import androidx.compose.ui.unit.Density
 | 
					 | 
				
			||||||
import androidx.compose.ui.unit.dp
 | 
					import androidx.compose.ui.unit.dp
 | 
				
			||||||
import dev.inmo.kmppscriptbuilder.core.models.Config
 | 
					import dev.inmo.kmppscriptbuilder.core.models.Config
 | 
				
			||||||
import dev.inmo.kmppscriptbuilder.desktop.utils.*
 | 
					import dev.inmo.kmppscriptbuilder.desktop.utils.*
 | 
				
			||||||
import dev.inmo.micro_utils.coroutines.safelyWithoutExceptions
 | 
					 | 
				
			||||||
import java.awt.Desktop
 | 
					 | 
				
			||||||
import java.lang.Exception
 | 
					 | 
				
			||||||
import java.net.URL
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
class BuilderView : View() {
 | 
					class BuilderView : View() {
 | 
				
			||||||
    private val projectTypeView = ProjectTypeView()
 | 
					    private val projectTypeView = ProjectTypeView()
 | 
				
			||||||
@@ -53,7 +45,7 @@ class BuilderView : View() {
 | 
				
			|||||||
                            }
 | 
					                            }
 | 
				
			||||||
                        ) {
 | 
					                        ) {
 | 
				
			||||||
                            Image(
 | 
					                            Image(
 | 
				
			||||||
                                painter = svgResource("images/open_file.svg"),
 | 
					                                painter = painterResource("images/open_file.svg"),
 | 
				
			||||||
                                contentDescription = "Open file"
 | 
					                                contentDescription = "Open file"
 | 
				
			||||||
                            )
 | 
					                            )
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
@@ -65,7 +57,7 @@ class BuilderView : View() {
 | 
				
			|||||||
                                }
 | 
					                                }
 | 
				
			||||||
                            ) {
 | 
					                            ) {
 | 
				
			||||||
                                Image(
 | 
					                                Image(
 | 
				
			||||||
                                    painter = svgResource("images/save_file.svg"),
 | 
					                                    painter = painterResource("images/save_file.svg"),
 | 
				
			||||||
                                    contentDescription = "Save file"
 | 
					                                    contentDescription = "Save file"
 | 
				
			||||||
                                )
 | 
					                                )
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
@@ -78,7 +70,7 @@ class BuilderView : View() {
 | 
				
			|||||||
                                }
 | 
					                                }
 | 
				
			||||||
                            ) {
 | 
					                            ) {
 | 
				
			||||||
                                Image(
 | 
					                                Image(
 | 
				
			||||||
                                    painter = svgResource("images/export_gradle.svg"),
 | 
					                                    painter = painterResource("images/export_gradle.svg"),
 | 
				
			||||||
                                    contentDescription = "Export Gradle script"
 | 
					                                    contentDescription = "Export Gradle script"
 | 
				
			||||||
                                )
 | 
					                                )
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
@@ -92,7 +84,7 @@ class BuilderView : View() {
 | 
				
			|||||||
                            }
 | 
					                            }
 | 
				
			||||||
                        ) {
 | 
					                        ) {
 | 
				
			||||||
                            Image(
 | 
					                            Image(
 | 
				
			||||||
                                painter = svgResource("images/save_as.svg"),
 | 
					                                painter = painterResource("images/save_as.svg"),
 | 
				
			||||||
                                contentDescription = "Export Gradle script"
 | 
					                                contentDescription = "Export Gradle script"
 | 
				
			||||||
                            )
 | 
					                            )
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@ package dev.inmo.kmppscriptbuilder.desktop.views
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import androidx.compose.runtime.*
 | 
					import androidx.compose.runtime.*
 | 
				
			||||||
import dev.inmo.kmppscriptbuilder.core.models.Developer
 | 
					import dev.inmo.kmppscriptbuilder.core.models.Developer
 | 
				
			||||||
import dev.inmo.kmppscriptbuilder.desktop.utils.*
 | 
					import dev.inmo.kmppscriptbuilder.desktop.utils.CommonTextField
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class DeveloperState(
 | 
					class DeveloperState(
 | 
				
			||||||
    id: String = "",
 | 
					    id: String = "",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -53,7 +53,7 @@ class LicensesView: VerticalView("Licenses") {
 | 
				
			|||||||
            licensesOffersToShow.clear()
 | 
					            licensesOffersToShow.clear()
 | 
				
			||||||
            if (licenseSearchFilter.isNotEmpty()) {
 | 
					            if (licenseSearchFilter.isNotEmpty()) {
 | 
				
			||||||
                licensesOffersToShow.addAll(
 | 
					                licensesOffersToShow.addAll(
 | 
				
			||||||
                    availableLicensesState.filter { filterText.all { symbol -> symbol.toLowerCase() in it.title } }
 | 
					                    availableLicensesState.filter { filterText.all { symbol -> symbol.lowercaseChar() in it.title } }
 | 
				
			||||||
                )
 | 
					                )
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,11 +1,13 @@
 | 
				
			|||||||
package dev.inmo.kmppscriptbuilder.desktop.views
 | 
					package dev.inmo.kmppscriptbuilder.desktop.views
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import androidx.compose.foundation.layout.*
 | 
					import androidx.compose.foundation.layout.*
 | 
				
			||||||
import androidx.compose.material.*
 | 
					import androidx.compose.material.Button
 | 
				
			||||||
import androidx.compose.runtime.*
 | 
					import androidx.compose.runtime.Composable
 | 
				
			||||||
 | 
					import androidx.compose.runtime.mutableStateListOf
 | 
				
			||||||
import androidx.compose.ui.Modifier
 | 
					import androidx.compose.ui.Modifier
 | 
				
			||||||
import androidx.compose.ui.unit.dp
 | 
					import androidx.compose.ui.unit.dp
 | 
				
			||||||
import dev.inmo.kmppscriptbuilder.desktop.utils.*
 | 
					import dev.inmo.kmppscriptbuilder.desktop.utils.CommonText
 | 
				
			||||||
 | 
					import dev.inmo.kmppscriptbuilder.desktop.utils.VerticalView
 | 
				
			||||||
 | 
					
 | 
				
			||||||
abstract class ListView<T>(title: String) : VerticalView(title) {
 | 
					abstract class ListView<T>(title: String) : VerticalView(title) {
 | 
				
			||||||
    protected val itemsList = mutableStateListOf<T>()
 | 
					    protected val itemsList = mutableStateListOf<T>()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,8 +2,7 @@ package dev.inmo.kmppscriptbuilder.desktop.views
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import androidx.compose.foundation.layout.ColumnScope
 | 
					import androidx.compose.foundation.layout.ColumnScope
 | 
				
			||||||
import androidx.compose.runtime.*
 | 
					import androidx.compose.runtime.*
 | 
				
			||||||
import dev.inmo.kmppscriptbuilder.core.models.MavenConfig
 | 
					import dev.inmo.kmppscriptbuilder.core.models.*
 | 
				
			||||||
import dev.inmo.kmppscriptbuilder.core.models.SonatypeRepository
 | 
					 | 
				
			||||||
import dev.inmo.kmppscriptbuilder.desktop.utils.*
 | 
					import dev.inmo.kmppscriptbuilder.desktop.utils.*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class MavenInfoView : VerticalView("Project information") {
 | 
					class MavenInfoView : VerticalView("Project information") {
 | 
				
			||||||
@@ -18,8 +17,8 @@ class MavenInfoView : VerticalView("Project information") {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    var mavenConfig: MavenConfig
 | 
					    var mavenConfig: MavenConfig
 | 
				
			||||||
        get() = MavenConfig(
 | 
					        get() = MavenConfig(
 | 
				
			||||||
            projectNameProperty,
 | 
					            projectNameProperty.ifBlank { defaultProjectName },
 | 
				
			||||||
            projectDescriptionProperty,
 | 
					            projectDescriptionProperty.ifBlank { defaultProjectDescription },
 | 
				
			||||||
            projectUrlProperty,
 | 
					            projectUrlProperty,
 | 
				
			||||||
            projectVcsUrlProperty,
 | 
					            projectVcsUrlProperty,
 | 
				
			||||||
            includeGpgSignProperty,
 | 
					            includeGpgSignProperty,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@ package dev.inmo.kmppscriptbuilder.desktop.views
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import androidx.compose.runtime.*
 | 
					import androidx.compose.runtime.*
 | 
				
			||||||
import dev.inmo.kmppscriptbuilder.core.models.MavenPublishingRepository
 | 
					import dev.inmo.kmppscriptbuilder.core.models.MavenPublishingRepository
 | 
				
			||||||
import dev.inmo.kmppscriptbuilder.desktop.utils.*
 | 
					import dev.inmo.kmppscriptbuilder.desktop.utils.CommonTextField
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class RepositoryState(
 | 
					class RepositoryState(
 | 
				
			||||||
    name: String = "",
 | 
					    name: String = "",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,27 +6,27 @@ kotlin.incremental.js=true
 | 
				
			|||||||
android.useAndroidX=true
 | 
					android.useAndroidX=true
 | 
				
			||||||
android.enableJetifier=true
 | 
					android.enableJetifier=true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
kotlin_version=1.4.31
 | 
					kotlin_version=1.5.21
 | 
				
			||||||
kotlin_coroutines_version=1.4.3
 | 
					kotlin_coroutines_version=1.5.2
 | 
				
			||||||
kotlin_serialisation_core_version=1.1.0
 | 
					kotlin_serialisation_core_version=1.2.2
 | 
				
			||||||
ktor_version=1.5.2
 | 
					ktor_version=1.6.3
 | 
				
			||||||
micro_utils_version=0.4.29
 | 
					micro_utils_version=0.5.24
 | 
				
			||||||
 | 
					
 | 
				
			||||||
compose_version=0.3.2
 | 
					compose_version=1.0.0-alpha3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# ANDROID
 | 
					# ANDROID
 | 
				
			||||||
 | 
					
 | 
				
			||||||
android_minSdkVersion=21
 | 
					android_minSdkVersion=21
 | 
				
			||||||
android_compileSdkVersion=30
 | 
					android_compileSdkVersion=30
 | 
				
			||||||
android_buildToolsVersion=30.0.2
 | 
					android_buildToolsVersion=30.0.3
 | 
				
			||||||
dexcount_version=2.0.0
 | 
					dexcount_version=3.0.0
 | 
				
			||||||
junit_version=4.12
 | 
					junit_version=4.12
 | 
				
			||||||
test_ext_junit_version=1.1.2
 | 
					test_ext_junit_version=1.1.2
 | 
				
			||||||
espresso_core=3.3.0
 | 
					espresso_core=3.3.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Dokka
 | 
					# Dokka
 | 
				
			||||||
 | 
					
 | 
				
			||||||
dokka_version=1.4.20
 | 
					dokka_version=1.5.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Project data
 | 
					# Project data
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,6 @@
 | 
				
			|||||||
package dev.inmo.kmppscriptbuilder.web.views
 | 
					package dev.inmo.kmppscriptbuilder.web.views
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import dev.inmo.kmppscriptbuilder.core.models.MavenConfig
 | 
					import dev.inmo.kmppscriptbuilder.core.models.*
 | 
				
			||||||
import dev.inmo.kmppscriptbuilder.core.models.SonatypeRepository
 | 
					 | 
				
			||||||
import kotlinx.browser.document
 | 
					import kotlinx.browser.document
 | 
				
			||||||
import org.w3c.dom.HTMLElement
 | 
					import org.w3c.dom.HTMLElement
 | 
				
			||||||
import org.w3c.dom.HTMLInputElement
 | 
					import org.w3c.dom.HTMLInputElement
 | 
				
			||||||
@@ -18,8 +17,8 @@ class MavenProjectInfoView : View {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    var mavenConfig: MavenConfig
 | 
					    var mavenConfig: MavenConfig
 | 
				
			||||||
        get() = MavenConfig(
 | 
					        get() = MavenConfig(
 | 
				
			||||||
            nameElement.value,
 | 
					            nameElement.value.ifBlank { defaultProjectName },
 | 
				
			||||||
            descriptionElement.value,
 | 
					            descriptionElement.value.ifBlank { defaultProjectDescription },
 | 
				
			||||||
            urlElement.value,
 | 
					            urlElement.value,
 | 
				
			||||||
            vcsUrlElement.value,
 | 
					            vcsUrlElement.value,
 | 
				
			||||||
            includeGpgElement.checked,
 | 
					            includeGpgElement.checked,
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user