mirror of
https://github.com/InsanusMokrassar/KotlinPublicationScriptsBuilder.git
synced 2025-09-02 22:49:16 +00:00
Compare commits
6 Commits
build-603d
...
build-7c50
Author | SHA1 | Date | |
---|---|---|---|
7c50c58a90 | |||
ceff1eb1ef | |||
46d6d429bb | |||
dd9e71c9a2 | |||
6d2ffb8a6e | |||
25767eecb2 |
@@ -2,6 +2,9 @@ package dev.inmo.kmppscriptbuilder.core.models
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
const val defaultProjectName = "\${project.name}"
|
||||
const val defaultProjectDescription = "\${project.name}"
|
||||
|
||||
@Serializable
|
||||
data class MavenConfig(
|
||||
val name: String,
|
||||
|
@@ -0,0 +1,18 @@
|
||||
package dev.inmo.kmppscriptbuilder.desktop.utils
|
||||
|
||||
import java.awt.Desktop
|
||||
import java.lang.Exception
|
||||
import java.net.URI
|
||||
|
||||
fun openLink(link: String): Boolean {
|
||||
val desktop = if (Desktop.isDesktopSupported()) Desktop.getDesktop() else null
|
||||
if (desktop != null && desktop.isSupported(Desktop.Action.BROWSE)) {
|
||||
try {
|
||||
desktop.browse(URI(link))
|
||||
return true
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
@@ -6,10 +6,18 @@ import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.material.*
|
||||
import androidx.compose.runtime.*
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.asImageBitmap
|
||||
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 dev.inmo.kmppscriptbuilder.core.models.Config
|
||||
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() {
|
||||
private val projectTypeView = ProjectTypeView()
|
||||
|
@@ -2,8 +2,7 @@ package dev.inmo.kmppscriptbuilder.desktop.views
|
||||
|
||||
import androidx.compose.foundation.layout.ColumnScope
|
||||
import androidx.compose.runtime.*
|
||||
import dev.inmo.kmppscriptbuilder.core.models.MavenConfig
|
||||
import dev.inmo.kmppscriptbuilder.core.models.SonatypeRepository
|
||||
import dev.inmo.kmppscriptbuilder.core.models.*
|
||||
import dev.inmo.kmppscriptbuilder.desktop.utils.*
|
||||
|
||||
class MavenInfoView : VerticalView("Project information") {
|
||||
@@ -18,8 +17,8 @@ class MavenInfoView : VerticalView("Project information") {
|
||||
|
||||
var mavenConfig: MavenConfig
|
||||
get() = MavenConfig(
|
||||
projectNameProperty,
|
||||
projectDescriptionProperty,
|
||||
projectNameProperty.ifBlank { defaultProjectName },
|
||||
projectDescriptionProperty.ifBlank { defaultProjectDescription },
|
||||
projectUrlProperty,
|
||||
projectVcsUrlProperty,
|
||||
includeGpgSignProperty,
|
||||
|
@@ -6,13 +6,13 @@ kotlin.incremental.js=true
|
||||
android.useAndroidX=true
|
||||
android.enableJetifier=true
|
||||
|
||||
kotlin_version=1.4.30
|
||||
kotlin_coroutines_version=1.4.2
|
||||
kotlin_version=1.4.31
|
||||
kotlin_coroutines_version=1.4.3
|
||||
kotlin_serialisation_core_version=1.1.0
|
||||
ktor_version=1.5.1
|
||||
micro_utils_version=0.4.27
|
||||
ktor_version=1.5.2
|
||||
micro_utils_version=0.4.36
|
||||
|
||||
compose_version=0.3.0
|
||||
compose_version=0.3.2
|
||||
|
||||
# ANDROID
|
||||
|
||||
|
@@ -1,7 +1,6 @@
|
||||
package dev.inmo.kmppscriptbuilder.web.views
|
||||
|
||||
import dev.inmo.kmppscriptbuilder.core.models.MavenConfig
|
||||
import dev.inmo.kmppscriptbuilder.core.models.SonatypeRepository
|
||||
import dev.inmo.kmppscriptbuilder.core.models.*
|
||||
import kotlinx.browser.document
|
||||
import org.w3c.dom.HTMLElement
|
||||
import org.w3c.dom.HTMLInputElement
|
||||
@@ -18,8 +17,8 @@ class MavenProjectInfoView : View {
|
||||
|
||||
var mavenConfig: MavenConfig
|
||||
get() = MavenConfig(
|
||||
nameElement.value,
|
||||
descriptionElement.value,
|
||||
nameElement.value.ifBlank { defaultProjectName },
|
||||
descriptionElement.value.ifBlank { defaultProjectDescription },
|
||||
urlElement.value,
|
||||
vcsUrlElement.value,
|
||||
includeGpgElement.checked,
|
||||
@@ -39,6 +38,6 @@ class MavenProjectInfoView : View {
|
||||
developersView.developers = value.developers
|
||||
val reposWithoutSonatype = value.repositories.filter { it != SonatypeRepository }
|
||||
includeMavenCentralElement.checked = value.repositories.size != reposWithoutSonatype.size
|
||||
repositoriesView.repositories = value.repositories
|
||||
repositoriesView.repositories = reposWithoutSonatype
|
||||
}
|
||||
}
|
@@ -21,7 +21,7 @@ class RepositoriesView(rootElement: HTMLElement) : MutableListView<MavenPublishi
|
||||
|
||||
override fun HTMLElement.addContentBeforeRemoveButton(value: MavenPublishingRepository) {
|
||||
createTextField("Repository name", "This name will be used to identify repository in grade").value = value.name
|
||||
createTextField("Repository URL", "For example: https://repo.maven.apache.org/maven2/").value = value.name
|
||||
createTextField("Repository URL", "For example: https://repo.maven.apache.org/maven2/").value = value.url
|
||||
}
|
||||
|
||||
override fun HTMLElement.updateElement(from: MavenPublishingRepository, to: MavenPublishingRepository) {
|
||||
|
@@ -10,6 +10,7 @@
|
||||
<nav class="uk-navbar-container" uk-navbar>
|
||||
<div class="uk-navbar-left">
|
||||
<div class="uk-padding-small uk-text-lead">Kotlin Publication Scripts Builder</div>
|
||||
<div class="uk-padding-small"><a href="https://github.com/InsanusMokrassar/KotlinPublicationScriptsBuilder"><img src="https://img.shields.io/github/stars/InsanusMokrassar/KotlinPublicationScriptsBuilder?label=Github&style=plastic"/></a></div>
|
||||
</div>
|
||||
<div class="uk-navbar-right">
|
||||
<ul class="uk-navbar-nav">
|
||||
|
Reference in New Issue
Block a user