mirror of
				https://github.com/InsanusMokrassar/KotlinPublicationScriptsBuilder.git
				synced 2025-11-03 20:50:06 +00:00 
			
		
		
		
	Compare commits
	
		
			4 Commits
		
	
	
		
			build-7c50
			...
			build-9a95
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 9a95bddf08 | |||
| c880d8e657 | |||
| ac87a140cc | |||
| 0dbe3a866b | 
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -10,3 +10,4 @@ build/
 | 
				
			|||||||
out/
 | 
					out/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local.properties
 | 
					local.properties
 | 
				
			||||||
 | 
					kotlin-js-store/
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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:7.0.4'
 | 
				
			||||||
        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" }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					package dev.inmo.kmppscriptbuilder.core.export
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import dev.inmo.kmppscriptbuilder.core.models.GpgSigning
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fun GpgSigning.generateMavenConfig() = when (this) {
 | 
				
			||||||
 | 
					    GpgSigning.Disabled -> ""
 | 
				
			||||||
 | 
					    GpgSigning.Optional ->
 | 
				
			||||||
 | 
					"""
 | 
				
			||||||
 | 
					if (project.hasProperty("signing.gnupg.keyName")) {
 | 
				
			||||||
 | 
					    apply plugin: 'signing'
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    signing {
 | 
				
			||||||
 | 
					        useGpgCmd()
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					        sign publishing.publications
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}"""
 | 
				
			||||||
 | 
					    GpgSigning.Enabled ->
 | 
				
			||||||
 | 
					"""
 | 
				
			||||||
 | 
					apply plugin: 'signing'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					signing {
 | 
				
			||||||
 | 
					    useGpgCmd()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    sign publishing.publications
 | 
				
			||||||
 | 
					}"""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -0,0 +1,67 @@
 | 
				
			|||||||
 | 
					package dev.inmo.kmppscriptbuilder.core.export.js_only
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import dev.inmo.kmppscriptbuilder.core.export.generateMavenConfig
 | 
				
			||||||
 | 
					import dev.inmo.kmppscriptbuilder.core.models.*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fun MavenConfig.buildJsOnlyMavenConfig(licenses: List<License>): String = """
 | 
				
			||||||
 | 
					apply plugin: 'maven-publish'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					task javadocJar(type: Jar) {
 | 
				
			||||||
 | 
					    classifier = 'javadoc'
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					task sourcesJar(type: Jar) {
 | 
				
			||||||
 | 
					    kotlin.sourceSets.all {
 | 
				
			||||||
 | 
					        from(kotlin)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    classifier = 'sources'
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					publishing {
 | 
				
			||||||
 | 
					    publications {
 | 
				
			||||||
 | 
					        maven(MavenPublication) {
 | 
				
			||||||
 | 
					            kotlin.js().components.forEach {
 | 
				
			||||||
 | 
					                from(it)
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            artifact javadocJar
 | 
				
			||||||
 | 
					            artifact sourcesJar
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            pom {
 | 
				
			||||||
 | 
					                resolveStrategy = Closure.DELEGATE_FIRST
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                description = "$description"
 | 
				
			||||||
 | 
					                name = "$name"
 | 
				
			||||||
 | 
					                url = "$url"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                scm {
 | 
				
			||||||
 | 
					                    developerConnection = "scm:git:[fetch=]${vcsUrl}[push=]${vcsUrl}"
 | 
				
			||||||
 | 
					                    url = "$vcsUrl"
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                developers {
 | 
				
			||||||
 | 
					                    ${developers.joinToString("\n") { """
 | 
				
			||||||
 | 
					                        developer {
 | 
				
			||||||
 | 
					                            id = "${it.id}"
 | 
				
			||||||
 | 
					                            name = "${it.name}"
 | 
				
			||||||
 | 
					                            email = "${it.eMail}"
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    """ }}
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                licenses {
 | 
				
			||||||
 | 
					                    ${licenses.joinToString("\n") { """
 | 
				
			||||||
 | 
					                        license {
 | 
				
			||||||
 | 
					                            name = "${it.title}"
 | 
				
			||||||
 | 
					                            url = "${it.url}"
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    """ }}
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            repositories {
 | 
				
			||||||
 | 
					                ${repositories.joinToString("\n                    ") { it.build("                    ") }}
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					${gpgSigning.generateMavenConfig()}
 | 
				
			||||||
 | 
					""".trimIndent()
 | 
				
			||||||
@@ -1,69 +1,64 @@
 | 
				
			|||||||
package dev.inmo.kmppscriptbuilder.core.export.jvm_only
 | 
					package dev.inmo.kmppscriptbuilder.core.export.jvm_only
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import dev.inmo.kmppscriptbuilder.core.export.generateMavenConfig
 | 
				
			||||||
import dev.inmo.kmppscriptbuilder.core.models.*
 | 
					import dev.inmo.kmppscriptbuilder.core.models.*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fun MavenConfig.buildJvmOnlyMavenConfig(licenses: List<License>): String = """
 | 
					fun MavenConfig.buildJvmOnlyMavenConfig(licenses: List<License>): String = """
 | 
				
			||||||
    apply plugin: 'maven-publish'
 | 
					apply plugin: 'maven-publish'
 | 
				
			||||||
    ${if (includeGpgSigning) "apply plugin: 'signing'\n" else ""}
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    task javadocJar(type: Jar) {
 | 
					 | 
				
			||||||
        from javadoc
 | 
					 | 
				
			||||||
        classifier = 'javadoc'
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    task sourcesJar(type: Jar) {
 | 
					 | 
				
			||||||
        from sourceSets.main.allSource
 | 
					 | 
				
			||||||
        classifier = 'sources'
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    publishing {
 | 
					task javadocJar(type: Jar) {
 | 
				
			||||||
        publications {
 | 
					    from javadoc
 | 
				
			||||||
            maven(MavenPublication) {
 | 
					    classifier = 'javadoc'
 | 
				
			||||||
                from components.java
 | 
					}
 | 
				
			||||||
    
 | 
					task sourcesJar(type: Jar) {
 | 
				
			||||||
                artifact javadocJar
 | 
					    from sourceSets.main.allSource
 | 
				
			||||||
                artifact sourcesJar
 | 
					    classifier = 'sources'
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                pom {
 | 
					publishing {
 | 
				
			||||||
                    resolveStrategy = Closure.DELEGATE_FIRST
 | 
					    publications {
 | 
				
			||||||
 | 
					        maven(MavenPublication) {
 | 
				
			||||||
 | 
					            from components.java
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    description = "$description"
 | 
					            artifact javadocJar
 | 
				
			||||||
                    name = "$name"
 | 
					            artifact sourcesJar
 | 
				
			||||||
                    url = "$url"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    scm {
 | 
					            pom {
 | 
				
			||||||
                        developerConnection = "scm:git:[fetch=]${vcsUrl}[push=]${vcsUrl}"
 | 
					                resolveStrategy = Closure.DELEGATE_FIRST
 | 
				
			||||||
                        url = "$vcsUrl"
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    developers {
 | 
					                description = "$description"
 | 
				
			||||||
                        ${developers.joinToString("\n") { """
 | 
					                name = "$name"
 | 
				
			||||||
                            developer {
 | 
					                url = "$url"
 | 
				
			||||||
                                id = "${it.id}"
 | 
					 | 
				
			||||||
                                name = "${it.name}"
 | 
					 | 
				
			||||||
                                email = "${it.eMail}"
 | 
					 | 
				
			||||||
                            }
 | 
					 | 
				
			||||||
                        """ }}
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    licenses {
 | 
					                scm {
 | 
				
			||||||
                        ${licenses.joinToString("\n") { """
 | 
					                    developerConnection = "scm:git:[fetch=]${vcsUrl}[push=]${vcsUrl}"
 | 
				
			||||||
                            license {
 | 
					                    url = "$vcsUrl"
 | 
				
			||||||
                                name = "${it.title}"
 | 
					 | 
				
			||||||
                                url = "${it.url}"
 | 
					 | 
				
			||||||
                            }
 | 
					 | 
				
			||||||
                        """ }}
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                repositories {
 | 
					
 | 
				
			||||||
                    ${repositories.joinToString("\n                    ") { it.build("                    ") }}
 | 
					                developers {
 | 
				
			||||||
 | 
					                    ${developers.joinToString("\n") { """
 | 
				
			||||||
 | 
					                        developer {
 | 
				
			||||||
 | 
					                            id = "${it.id}"
 | 
				
			||||||
 | 
					                            name = "${it.name}"
 | 
				
			||||||
 | 
					                            email = "${it.eMail}"
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    """ }}
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                licenses {
 | 
				
			||||||
 | 
					                    ${licenses.joinToString("\n") { """
 | 
				
			||||||
 | 
					                        license {
 | 
				
			||||||
 | 
					                            name = "${it.title}"
 | 
				
			||||||
 | 
					                            url = "${it.url}"
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    """ }}
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            repositories {
 | 
				
			||||||
 | 
					                ${repositories.joinToString("\n                    ") { it.build("                    ") }}
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    ${if (includeGpgSigning) """
 | 
					}
 | 
				
			||||||
    signing {
 | 
					${gpgSigning.generateMavenConfig()}
 | 
				
			||||||
        useGpgCmd()
 | 
					""".trimIndent()
 | 
				
			||||||
        sign publishing.publications
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    """ else ""}
 | 
					 | 
				
			||||||
""".trimIndent()
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,56 +1,52 @@
 | 
				
			|||||||
package dev.inmo.kmppscriptbuilder.core.export.mpp
 | 
					package dev.inmo.kmppscriptbuilder.core.export.mpp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import dev.inmo.kmppscriptbuilder.core.export.generateMavenConfig
 | 
				
			||||||
import dev.inmo.kmppscriptbuilder.core.models.*
 | 
					import dev.inmo.kmppscriptbuilder.core.models.*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fun MavenConfig.buildMultiplatformMavenConfig(licenses: List<License>): String = """
 | 
					fun MavenConfig.buildMultiplatformMavenConfig(licenses: List<License>): String = """
 | 
				
			||||||
    apply plugin: 'maven-publish'
 | 
					apply plugin: 'maven-publish'
 | 
				
			||||||
    ${if (includeGpgSigning) "apply plugin: 'signing'\n" else ""}
 | 
					 | 
				
			||||||
    task javadocsJar(type: Jar) {
 | 
					 | 
				
			||||||
        classifier = 'javadoc'
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    publishing {
 | 
					task javadocsJar(type: Jar) {
 | 
				
			||||||
        publications.all {
 | 
					    classifier = 'javadoc'
 | 
				
			||||||
            artifact javadocsJar
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            pom {
 | 
					publishing {
 | 
				
			||||||
                description = "$description"
 | 
					    publications.all {
 | 
				
			||||||
                name = "$name"
 | 
					        artifact javadocsJar
 | 
				
			||||||
                url = "$url"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                scm {
 | 
					        pom {
 | 
				
			||||||
                    developerConnection = "scm:git:[fetch=]${vcsUrl}[push=]${vcsUrl}"
 | 
					            description = "$description"
 | 
				
			||||||
                    url = "$vcsUrl"
 | 
					            name = "$name"
 | 
				
			||||||
                }
 | 
					            url = "$url"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                developers {
 | 
					            scm {
 | 
				
			||||||
                    ${developers.joinToString("\n") { """
 | 
					                developerConnection = "scm:git:[fetch=]${vcsUrl}[push=]${vcsUrl}"
 | 
				
			||||||
                        developer {
 | 
					                url = "$vcsUrl"
 | 
				
			||||||
                            id = "${it.id}"
 | 
					 | 
				
			||||||
                            name = "${it.name}"
 | 
					 | 
				
			||||||
                            email = "${it.eMail}"
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                    """ }}
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                licenses {
 | 
					 | 
				
			||||||
                    ${licenses.joinToString("\n") { """
 | 
					 | 
				
			||||||
                        license {
 | 
					 | 
				
			||||||
                            name = "${it.title}"
 | 
					 | 
				
			||||||
                            url = "${it.url}"
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                    """ }}
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            repositories {
 | 
					
 | 
				
			||||||
                ${repositories.joinToString("\n                ") { it.build("                ") }}
 | 
					            developers {
 | 
				
			||||||
 | 
					                ${developers.joinToString("\n") { """
 | 
				
			||||||
 | 
					                    developer {
 | 
				
			||||||
 | 
					                        id = "${it.id}"
 | 
				
			||||||
 | 
					                        name = "${it.name}"
 | 
				
			||||||
 | 
					                        email = "${it.eMail}"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                """ }}
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            licenses {
 | 
				
			||||||
 | 
					                ${licenses.joinToString("\n") { """
 | 
				
			||||||
 | 
					                    license {
 | 
				
			||||||
 | 
					                        name = "${it.title}"
 | 
				
			||||||
 | 
					                        url = "${it.url}"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                """ }}
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        repositories {
 | 
				
			||||||
 | 
					            ${repositories.joinToString("\n                ") { it.build("                ") }}
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    ${if (includeGpgSigning) """
 | 
					}
 | 
				
			||||||
    signing {
 | 
					    ${gpgSigning.generateMavenConfig()}
 | 
				
			||||||
        useGpgCmd()
 | 
					""".trimIndent()
 | 
				
			||||||
        sign publishing.publications
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    """ else ""}
 | 
					 | 
				
			||||||
""".trimIndent()
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,6 @@
 | 
				
			|||||||
package dev.inmo.kmppscriptbuilder.core.models
 | 
					package dev.inmo.kmppscriptbuilder.core.models
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import dev.inmo.kmppscriptbuilder.core.export.js_only.buildJsOnlyMavenConfig
 | 
				
			||||||
import dev.inmo.kmppscriptbuilder.core.export.jvm_only.buildJvmOnlyMavenConfig
 | 
					import dev.inmo.kmppscriptbuilder.core.export.jvm_only.buildJvmOnlyMavenConfig
 | 
				
			||||||
import dev.inmo.kmppscriptbuilder.core.export.mpp.buildMultiplatformMavenConfig
 | 
					import dev.inmo.kmppscriptbuilder.core.export.mpp.buildMultiplatformMavenConfig
 | 
				
			||||||
import kotlinx.serialization.*
 | 
					import kotlinx.serialization.*
 | 
				
			||||||
@@ -32,12 +33,6 @@ object ProjectTypeSerializer : KSerializer<ProjectType> {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
object MultiplatformProjectType : ProjectType() {
 | 
					object MultiplatformProjectType : ProjectType() {
 | 
				
			||||||
    override val name: String = "Multiplatform"
 | 
					    override val name: String = "Multiplatform"
 | 
				
			||||||
//    override fun buildBintrayGradleConfig(
 | 
					 | 
				
			||||||
//        bintrayConfig: BintrayConfig,
 | 
					 | 
				
			||||||
//        licenses: List<License>
 | 
					 | 
				
			||||||
//    ): String = bintrayConfig.buildMultiplatformGradleConfig(
 | 
					 | 
				
			||||||
//        licenses
 | 
					 | 
				
			||||||
//    )
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    override fun buildMavenGradleConfig(
 | 
					    override fun buildMavenGradleConfig(
 | 
				
			||||||
        mavenConfig: MavenConfig,
 | 
					        mavenConfig: MavenConfig,
 | 
				
			||||||
@@ -49,12 +44,6 @@ object MultiplatformProjectType : ProjectType() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
object JVMProjectType : ProjectType() {
 | 
					object JVMProjectType : ProjectType() {
 | 
				
			||||||
    override val name: String = "JVM"
 | 
					    override val name: String = "JVM"
 | 
				
			||||||
//    override fun buildBintrayGradleConfig(
 | 
					 | 
				
			||||||
//        bintrayConfig: BintrayConfig,
 | 
					 | 
				
			||||||
//        licenses: List<License>
 | 
					 | 
				
			||||||
//    ): String = bintrayConfig.buildJvmOnlyGradleConfig(
 | 
					 | 
				
			||||||
//        licenses
 | 
					 | 
				
			||||||
//    )
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    override fun buildMavenGradleConfig(
 | 
					    override fun buildMavenGradleConfig(
 | 
				
			||||||
        mavenConfig: MavenConfig,
 | 
					        mavenConfig: MavenConfig,
 | 
				
			||||||
@@ -64,6 +53,15 @@ object JVMProjectType : ProjectType() {
 | 
				
			|||||||
    )
 | 
					    )
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					object JSProjectType : ProjectType() {
 | 
				
			||||||
 | 
					    override val name: String = "JS"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    override fun buildMavenGradleConfig(
 | 
				
			||||||
 | 
					        mavenConfig: MavenConfig,
 | 
				
			||||||
 | 
					        licenses: List<License>
 | 
				
			||||||
 | 
					    ): String = mavenConfig.buildJsOnlyMavenConfig(licenses)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@Serializable
 | 
					@Serializable
 | 
				
			||||||
data class Config(
 | 
					data class Config(
 | 
				
			||||||
    val licenses: List<License>,
 | 
					    val licenses: List<License>,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,15 +5,27 @@ import kotlinx.serialization.Serializable
 | 
				
			|||||||
const val defaultProjectName = "\${project.name}"
 | 
					const val defaultProjectName = "\${project.name}"
 | 
				
			||||||
const val defaultProjectDescription = "\${project.name}"
 | 
					const val defaultProjectDescription = "\${project.name}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Serializable
 | 
				
			||||||
 | 
					sealed class GpgSigning {
 | 
				
			||||||
 | 
					    @Serializable
 | 
				
			||||||
 | 
					    object Disabled : GpgSigning()
 | 
				
			||||||
 | 
					    @Serializable
 | 
				
			||||||
 | 
					    object Optional : GpgSigning()
 | 
				
			||||||
 | 
					    @Serializable
 | 
				
			||||||
 | 
					    object Enabled : GpgSigning()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@Serializable
 | 
					@Serializable
 | 
				
			||||||
data class MavenConfig(
 | 
					data class MavenConfig(
 | 
				
			||||||
    val name: String,
 | 
					    val name: String,
 | 
				
			||||||
    val description: String,
 | 
					    val description: String,
 | 
				
			||||||
    val url: String,
 | 
					    val url: String,
 | 
				
			||||||
    val vcsUrl: String,
 | 
					    val vcsUrl: String,
 | 
				
			||||||
    val includeGpgSigning: Boolean = false,
 | 
					 | 
				
			||||||
    val developers: List<Developer>,
 | 
					    val developers: List<Developer>,
 | 
				
			||||||
    val repositories: List<MavenPublishingRepository> = emptyList()
 | 
					    val repositories: List<MavenPublishingRepository> = emptyList(),
 | 
				
			||||||
 | 
					    val gpgSigning: GpgSigning = GpgSigning.Disabled,
 | 
				
			||||||
 | 
					    @Deprecated("Replaced with gpgSigning")
 | 
				
			||||||
 | 
					    val includeGpgSigning: Boolean = false,
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@Serializable
 | 
					@Serializable
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,7 +10,6 @@ kotlin {
 | 
				
			|||||||
    jvm {
 | 
					    jvm {
 | 
				
			||||||
        compilations.main.kotlinOptions {
 | 
					        compilations.main.kotlinOptions {
 | 
				
			||||||
            jvmTarget = "11"
 | 
					            jvmTarget = "11"
 | 
				
			||||||
            useIR = true
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    sourceSets {
 | 
					    sourceSets {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,62 +1,67 @@
 | 
				
			|||||||
package dev.inmo.kmppscriptbuilder.desktop
 | 
					package dev.inmo.kmppscriptbuilder.desktop
 | 
				
			||||||
 | 
					
 | 
				
			||||||
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 androidx.compose.ui.window.Window
 | 
				
			||||||
import dev.inmo.kmppscriptbuilder.desktop.views.*
 | 
					import androidx.compose.ui.window.application
 | 
				
			||||||
 | 
					import dev.inmo.kmppscriptbuilder.desktop.utils.init
 | 
				
			||||||
 | 
					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)
 | 
				
			||||||
//val uncaughtExceptionsFlow: Flow<DefaultErrorHandler.ErrorEvent> = uncaughtExceptionsBC.asFlow()
 | 
					//val uncaughtExceptionsFlow: Flow<DefaultErrorHandler.ErrorEvent> = uncaughtExceptionsBC.asFlow()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fun main(args: Array<String>) = Window(title = "Kotlin Multiplatform Publishing Builder") {
 | 
					fun main(args: Array<String>) = application {
 | 
				
			||||||
    val builder = BuilderView()
 | 
					    Window(onCloseRequest = ::exitApplication, title = "Kotlin Multiplatform Publishing Builder") {
 | 
				
			||||||
    MaterialTheme(
 | 
					        val builder = BuilderView()
 | 
				
			||||||
        Colors(
 | 
					        MaterialTheme(
 | 
				
			||||||
            primary = Color(0x01, 0x57, 0x9b),
 | 
					            Colors(
 | 
				
			||||||
            primaryVariant = Color(0x00, 0x2f, 0x6c),
 | 
					                primary = Color(0x01, 0x57, 0x9b),
 | 
				
			||||||
            secondary = Color(0xb2, 0xeb, 0xf2),
 | 
					                primaryVariant = Color(0x00, 0x2f, 0x6c),
 | 
				
			||||||
            secondaryVariant = Color(0x81, 0xb9, 0xbf),
 | 
					                secondary = Color(0xb2, 0xeb, 0xf2),
 | 
				
			||||||
            background = Color(0xe1, 0xe2, 0xe1),
 | 
					                secondaryVariant = Color(0x81, 0xb9, 0xbf),
 | 
				
			||||||
            surface = Color(0xf5, 0xf5, 0xf6),
 | 
					                background = Color(0xe1, 0xe2, 0xe1),
 | 
				
			||||||
            error = Color(0xb7, 0x1c, 0x1c),
 | 
					                surface = Color(0xf5, 0xf5, 0xf6),
 | 
				
			||||||
            onPrimary = Color.White,
 | 
					                error = Color(0xb7, 0x1c, 0x1c),
 | 
				
			||||||
            onSecondary = Color.Black,
 | 
					                onPrimary = Color.White,
 | 
				
			||||||
            onBackground = Color.Black,
 | 
					                onSecondary = Color.Black,
 | 
				
			||||||
            onSurface = Color.Black,
 | 
					                onBackground = Color.Black,
 | 
				
			||||||
            onError = Color.White,
 | 
					                onSurface = Color.Black,
 | 
				
			||||||
            isLight = MaterialTheme.colors.isLight,
 | 
					                onError = Color.White,
 | 
				
			||||||
        )
 | 
					                isLight = MaterialTheme.colors.isLight,
 | 
				
			||||||
    ) {
 | 
					 | 
				
			||||||
        Box(
 | 
					 | 
				
			||||||
            Modifier.fillMaxSize()
 | 
					 | 
				
			||||||
                .background(color = Color(245, 245, 245))
 | 
					 | 
				
			||||||
        ) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            val stateVertical = rememberScrollState(0)
 | 
					 | 
				
			||||||
            Box(
 | 
					 | 
				
			||||||
                modifier = Modifier
 | 
					 | 
				
			||||||
                    .fillMaxSize()
 | 
					 | 
				
			||||||
                    .verticalScroll(stateVertical)
 | 
					 | 
				
			||||||
            ) {
 | 
					 | 
				
			||||||
                builder.init()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            VerticalScrollbar(
 | 
					 | 
				
			||||||
                modifier = Modifier.align(Alignment.CenterEnd).fillMaxHeight(),
 | 
					 | 
				
			||||||
                adapter = rememberScrollbarAdapter(stateVertical)
 | 
					 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
 | 
					        ) {
 | 
				
			||||||
 | 
					            Box(
 | 
				
			||||||
 | 
					                Modifier.fillMaxSize()
 | 
				
			||||||
 | 
					                    .background(color = Color(245, 245, 245))
 | 
				
			||||||
 | 
					            ) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                val stateVertical = rememberScrollState(0)
 | 
				
			||||||
 | 
					                Box(
 | 
				
			||||||
 | 
					                    modifier = Modifier
 | 
				
			||||||
 | 
					                        .fillMaxSize()
 | 
				
			||||||
 | 
					                        .verticalScroll(stateVertical)
 | 
				
			||||||
 | 
					                ) {
 | 
				
			||||||
 | 
					                    builder.init()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                VerticalScrollbar(
 | 
				
			||||||
 | 
					                    modifier = Modifier.align(Alignment.CenterEnd).fillMaxHeight(),
 | 
				
			||||||
 | 
					                    adapter = rememberScrollbarAdapter(stateVertical)
 | 
				
			||||||
 | 
					                )
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (args.isNotEmpty()) {
 | 
				
			||||||
 | 
					            val config = loadConfigFile(File(args.first()))
 | 
				
			||||||
 | 
					            builder.config = config
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (args.isNotEmpty()) {
 | 
					 | 
				
			||||||
        val config = loadConfigFile(File(args.first()))
 | 
					 | 
				
			||||||
        builder.config = config
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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"
 | 
				
			||||||
                            )
 | 
					                            )
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
@@ -108,4 +100,4 @@ class BuilderView : View() {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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>()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,7 +10,7 @@ class MavenInfoView : VerticalView("Project information") {
 | 
				
			|||||||
    private var projectDescriptionProperty by mutableStateOf("")
 | 
					    private var projectDescriptionProperty by mutableStateOf("")
 | 
				
			||||||
    private var projectUrlProperty by mutableStateOf("")
 | 
					    private var projectUrlProperty by mutableStateOf("")
 | 
				
			||||||
    private var projectVcsUrlProperty by mutableStateOf("")
 | 
					    private var projectVcsUrlProperty by mutableStateOf("")
 | 
				
			||||||
    private var includeGpgSignProperty by mutableStateOf(true)
 | 
					    private var gpgSignProperty by mutableStateOf<GpgSigning>(GpgSigning.Disabled)
 | 
				
			||||||
    private var publishToMavenCentralProperty by mutableStateOf(false)
 | 
					    private var publishToMavenCentralProperty by mutableStateOf(false)
 | 
				
			||||||
    private val developersView = DevelopersView()
 | 
					    private val developersView = DevelopersView()
 | 
				
			||||||
    private val repositoriesView = RepositoriesView()
 | 
					    private val repositoriesView = RepositoriesView()
 | 
				
			||||||
@@ -21,20 +21,24 @@ class MavenInfoView : VerticalView("Project information") {
 | 
				
			|||||||
            projectDescriptionProperty.ifBlank { defaultProjectDescription },
 | 
					            projectDescriptionProperty.ifBlank { defaultProjectDescription },
 | 
				
			||||||
            projectUrlProperty,
 | 
					            projectUrlProperty,
 | 
				
			||||||
            projectVcsUrlProperty,
 | 
					            projectVcsUrlProperty,
 | 
				
			||||||
            includeGpgSignProperty,
 | 
					 | 
				
			||||||
            developersView.developers,
 | 
					            developersView.developers,
 | 
				
			||||||
            repositoriesView.repositories + if (publishToMavenCentralProperty) {
 | 
					            repositoriesView.repositories + if (publishToMavenCentralProperty) {
 | 
				
			||||||
                listOf(SonatypeRepository)
 | 
					                listOf(SonatypeRepository)
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                emptyList()
 | 
					                emptyList()
 | 
				
			||||||
            }
 | 
					            },
 | 
				
			||||||
 | 
					            gpgSignProperty
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        set(value) {
 | 
					        set(value) {
 | 
				
			||||||
            projectNameProperty = value.name
 | 
					            projectNameProperty = value.name
 | 
				
			||||||
            projectDescriptionProperty = value.description
 | 
					            projectDescriptionProperty = value.description
 | 
				
			||||||
            projectUrlProperty = value.url
 | 
					            projectUrlProperty = value.url
 | 
				
			||||||
            projectVcsUrlProperty = value.vcsUrl
 | 
					            projectVcsUrlProperty = value.vcsUrl
 | 
				
			||||||
            includeGpgSignProperty = value.includeGpgSigning
 | 
					            gpgSignProperty = if (value.includeGpgSigning) {
 | 
				
			||||||
 | 
					                GpgSigning.Enabled
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					                value.gpgSigning
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
            publishToMavenCentralProperty = value.repositories.any { it == SonatypeRepository }
 | 
					            publishToMavenCentralProperty = value.repositories.any { it == SonatypeRepository }
 | 
				
			||||||
            developersView.developers = value.developers
 | 
					            developersView.developers = value.developers
 | 
				
			||||||
            repositoriesView.repositories = value.repositories.filter { it != SonatypeRepository }
 | 
					            repositoriesView.repositories = value.repositories.filter { it != SonatypeRepository }
 | 
				
			||||||
@@ -59,11 +63,12 @@ class MavenInfoView : VerticalView("Project information") {
 | 
				
			|||||||
            "Public project VCS URL (with .git)"
 | 
					            "Public project VCS URL (with .git)"
 | 
				
			||||||
        ) { projectVcsUrlProperty = it }
 | 
					        ) { projectVcsUrlProperty = it }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        SwitchWithLabel(
 | 
					
 | 
				
			||||||
            "Include GPG Signing",
 | 
					//        SwitchWithLabel(
 | 
				
			||||||
            includeGpgSignProperty,
 | 
					//            "Include GPG Signing",
 | 
				
			||||||
            placeSwitchAtTheStart = true
 | 
					//            includeGpgSignProperty,
 | 
				
			||||||
        ) { includeGpgSignProperty = it }
 | 
					//            placeSwitchAtTheStart = true
 | 
				
			||||||
 | 
					//        ) { includeGpgSignProperty = it }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        SwitchWithLabel(
 | 
					        SwitchWithLabel(
 | 
				
			||||||
            "Include publication to MavenCentral",
 | 
					            "Include publication to MavenCentral",
 | 
				
			||||||
@@ -73,4 +78,4 @@ class MavenInfoView : VerticalView("Project information") {
 | 
				
			|||||||
        developersView.init()
 | 
					        developersView.init()
 | 
				
			||||||
        repositoriesView.init()
 | 
					        repositoriesView.init()
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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.6.10
 | 
				
			||||||
kotlin_coroutines_version=1.4.3
 | 
					kotlin_coroutines_version=1.6.0
 | 
				
			||||||
kotlin_serialisation_core_version=1.1.0
 | 
					kotlin_serialisation_core_version=1.3.2
 | 
				
			||||||
ktor_version=1.5.2
 | 
					ktor_version=1.6.7
 | 
				
			||||||
micro_utils_version=0.4.36
 | 
					micro_utils_version=0.9.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
compose_version=0.3.2
 | 
					compose_version=1.0.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# ANDROID
 | 
					# ANDROID
 | 
				
			||||||
 | 
					
 | 
				
			||||||
android_minSdkVersion=21
 | 
					android_minSdkVersion=21
 | 
				
			||||||
android_compileSdkVersion=30
 | 
					android_compileSdkVersion=32
 | 
				
			||||||
android_buildToolsVersion=30.0.2
 | 
					android_buildToolsVersion=32.0.0
 | 
				
			||||||
dexcount_version=2.0.0
 | 
					dexcount_version=3.0.1
 | 
				
			||||||
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.6.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Project data
 | 
					# Project data
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								gradle/wrapper/gradle-wrapper.properties
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								gradle/wrapper/gradle-wrapper.properties
									
									
									
									
										vendored
									
									
								
							@@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
 | 
				
			|||||||
distributionPath=wrapper/dists
 | 
					distributionPath=wrapper/dists
 | 
				
			||||||
zipStoreBase=GRADLE_USER_HOME
 | 
					zipStoreBase=GRADLE_USER_HOME
 | 
				
			||||||
zipStorePath=wrapper/dists
 | 
					zipStorePath=wrapper/dists
 | 
				
			||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8-bin.zip
 | 
					distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -48,7 +48,7 @@ class LicensesView(
 | 
				
			|||||||
                    emptyList()
 | 
					                    emptyList()
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
                    licensesTemplates.filter {
 | 
					                    licensesTemplates.filter {
 | 
				
			||||||
                        val lowercasedTitle = it.title.toLowerCase()
 | 
					                        val lowercasedTitle = it.title.lowercase()
 | 
				
			||||||
                        lowercased.all { it in lowercasedTitle }
 | 
					                        lowercased.all { it in lowercasedTitle }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
@@ -57,12 +57,12 @@ class LicensesView(
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        private val searchElement = rootElement.createTextField("Quick add", "Type some license name part to find it").apply {
 | 
					        private val searchElement = rootElement.createTextField("Quick add", "Type some license name part to find it").apply {
 | 
				
			||||||
            oninput = {
 | 
					            oninput = {
 | 
				
			||||||
                changeActor.offer(Unit)
 | 
					                changeActor.trySend(Unit)
 | 
				
			||||||
                false
 | 
					                false
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        private var searchString: String
 | 
					        private var searchString: String
 | 
				
			||||||
            get() = searchElement.value.toLowerCase()
 | 
					            get() = searchElement.value.lowercase()
 | 
				
			||||||
            set(value) {
 | 
					            set(value) {
 | 
				
			||||||
                searchElement.value = value
 | 
					                searchElement.value = value
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@@ -71,7 +71,7 @@ class LicensesView(
 | 
				
			|||||||
            createCommonButton(value.title).onclick = {
 | 
					            createCommonButton(value.title).onclick = {
 | 
				
			||||||
                searchString = ""
 | 
					                searchString = ""
 | 
				
			||||||
                licensesView.licenses += value
 | 
					                licensesView.licenses += value
 | 
				
			||||||
                changeActor.offer(Unit)
 | 
					                changeActor.trySend(Unit)
 | 
				
			||||||
                false
 | 
					                false
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -110,4 +110,4 @@ class LicensesView(
 | 
				
			|||||||
        titleElement.value = to.title
 | 
					        titleElement.value = to.title
 | 
				
			||||||
        urlElement.value = to.url ?: ""
 | 
					        urlElement.value = to.url ?: ""
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,7 @@
 | 
				
			|||||||
package dev.inmo.kmppscriptbuilder.web.views
 | 
					package dev.inmo.kmppscriptbuilder.web.views
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import dev.inmo.kmppscriptbuilder.core.models.*
 | 
					import dev.inmo.kmppscriptbuilder.core.models.*
 | 
				
			||||||
 | 
					import dev.inmo.kmppscriptbuilder.web.utils.ukActive
 | 
				
			||||||
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
 | 
				
			||||||
@@ -10,23 +11,51 @@ class MavenProjectInfoView : View {
 | 
				
			|||||||
    private val descriptionElement = document.getElementById("projectDescriptionInput") as HTMLInputElement
 | 
					    private val descriptionElement = document.getElementById("projectDescriptionInput") as HTMLInputElement
 | 
				
			||||||
    private val urlElement = document.getElementById("projectUrlInput") as HTMLInputElement
 | 
					    private val urlElement = document.getElementById("projectUrlInput") as HTMLInputElement
 | 
				
			||||||
    private val vcsUrlElement = document.getElementById("projectVCSUrlInput") as HTMLInputElement
 | 
					    private val vcsUrlElement = document.getElementById("projectVCSUrlInput") as HTMLInputElement
 | 
				
			||||||
    private val includeGpgElement = document.getElementById("includeGpgSignToggle") as HTMLInputElement
 | 
					    private val disableGpgSigningElement = document.getElementById("disableGpgSigning") as HTMLElement
 | 
				
			||||||
 | 
					    private val optionalGpgSigningElement = document.getElementById("optionalGpgSigning") as HTMLElement
 | 
				
			||||||
 | 
					    private val enableGpgSigningElement = document.getElementById("enableGpgSigning") as HTMLElement
 | 
				
			||||||
    private val includeMavenCentralElement = document.getElementById("includeMavenCentralTargetRepoToggle") as HTMLInputElement
 | 
					    private val includeMavenCentralElement = document.getElementById("includeMavenCentralTargetRepoToggle") as HTMLInputElement
 | 
				
			||||||
    private val developersView = DevelopersView(document.getElementById("developersListDiv") as HTMLElement)
 | 
					    private val developersView = DevelopersView(document.getElementById("developersListDiv") as HTMLElement)
 | 
				
			||||||
    private val repositoriesView = RepositoriesView(document.getElementById("repositoriesListDiv") as HTMLElement)
 | 
					    private val repositoriesView = RepositoriesView(document.getElementById("repositoriesListDiv") as HTMLElement)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private var gpgSignMode: GpgSigning = GpgSigning.Disabled
 | 
				
			||||||
 | 
					        set(value) {
 | 
				
			||||||
 | 
					            field = value
 | 
				
			||||||
 | 
					            when (value) {
 | 
				
			||||||
 | 
					                GpgSigning.Enabled -> {
 | 
				
			||||||
 | 
					                    enableGpgSigningElement.ukActive = true
 | 
				
			||||||
 | 
					                    disableGpgSigningElement.ukActive = false
 | 
				
			||||||
 | 
					                    optionalGpgSigningElement.ukActive = false
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                GpgSigning.Optional -> {
 | 
				
			||||||
 | 
					                    enableGpgSigningElement.ukActive = false
 | 
				
			||||||
 | 
					                    disableGpgSigningElement.ukActive = false
 | 
				
			||||||
 | 
					                    optionalGpgSigningElement.ukActive = true
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                GpgSigning.Disabled -> {
 | 
				
			||||||
 | 
					                    enableGpgSigningElement.ukActive = false
 | 
				
			||||||
 | 
					                    disableGpgSigningElement.ukActive = true
 | 
				
			||||||
 | 
					                    optionalGpgSigningElement.ukActive = false
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    var mavenConfig: MavenConfig
 | 
					    var mavenConfig: MavenConfig
 | 
				
			||||||
        get() = MavenConfig(
 | 
					        get() = MavenConfig(
 | 
				
			||||||
            nameElement.value.ifBlank { defaultProjectName },
 | 
					            nameElement.value.ifBlank { defaultProjectName },
 | 
				
			||||||
            descriptionElement.value.ifBlank { defaultProjectDescription },
 | 
					            descriptionElement.value.ifBlank { defaultProjectDescription },
 | 
				
			||||||
            urlElement.value,
 | 
					            urlElement.value,
 | 
				
			||||||
            vcsUrlElement.value,
 | 
					            vcsUrlElement.value,
 | 
				
			||||||
            includeGpgElement.checked,
 | 
					 | 
				
			||||||
            developersView.developers,
 | 
					            developersView.developers,
 | 
				
			||||||
            repositoriesView.repositories + if (includeMavenCentralElement.checked) {
 | 
					            repositoriesView.repositories + if (includeMavenCentralElement.checked) {
 | 
				
			||||||
                listOf(SonatypeRepository)
 | 
					                listOf(SonatypeRepository)
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                emptyList()
 | 
					                emptyList()
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            when {
 | 
				
			||||||
 | 
					                optionalGpgSigningElement.ukActive -> GpgSigning.Optional
 | 
				
			||||||
 | 
					                enableGpgSigningElement.ukActive -> GpgSigning.Enabled
 | 
				
			||||||
 | 
					                else -> GpgSigning.Disabled
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        set(value) {
 | 
					        set(value) {
 | 
				
			||||||
@@ -34,10 +63,20 @@ class MavenProjectInfoView : View {
 | 
				
			|||||||
            descriptionElement.value = value.description
 | 
					            descriptionElement.value = value.description
 | 
				
			||||||
            urlElement.value = value.url
 | 
					            urlElement.value = value.url
 | 
				
			||||||
            vcsUrlElement.value = value.vcsUrl
 | 
					            vcsUrlElement.value = value.vcsUrl
 | 
				
			||||||
            includeGpgElement.checked = value.includeGpgSigning
 | 
					            gpgSignMode = if (value.includeGpgSigning) {
 | 
				
			||||||
 | 
					                GpgSigning.Enabled
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					                value.gpgSigning
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
            developersView.developers = value.developers
 | 
					            developersView.developers = value.developers
 | 
				
			||||||
            val reposWithoutSonatype = value.repositories.filter { it != SonatypeRepository }
 | 
					            val reposWithoutSonatype = value.repositories.filter { it != SonatypeRepository }
 | 
				
			||||||
            includeMavenCentralElement.checked = value.repositories.size != reposWithoutSonatype.size
 | 
					            includeMavenCentralElement.checked = value.repositories.size != reposWithoutSonatype.size
 | 
				
			||||||
            repositoriesView.repositories = reposWithoutSonatype
 | 
					            repositoriesView.repositories = reposWithoutSonatype
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
}
 | 
					
 | 
				
			||||||
 | 
					    init {
 | 
				
			||||||
 | 
					        enableGpgSigningElement.onclick = { gpgSignMode = GpgSigning.Enabled; Unit }
 | 
				
			||||||
 | 
					        disableGpgSigningElement.onclick = { gpgSignMode = GpgSigning.Disabled; Unit }
 | 
				
			||||||
 | 
					        optionalGpgSigningElement.onclick = { gpgSignMode = GpgSigning.Optional; Unit }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,16 +8,18 @@ import org.w3c.dom.HTMLElement
 | 
				
			|||||||
class ProjectTypeView : View {
 | 
					class ProjectTypeView : View {
 | 
				
			||||||
    private val mppProjectTypeElement = document.getElementById("mppProjectType") as HTMLElement
 | 
					    private val mppProjectTypeElement = document.getElementById("mppProjectType") as HTMLElement
 | 
				
			||||||
    private val jvmProjectTypeElement = document.getElementById("jvmProjectType") as HTMLElement
 | 
					    private val jvmProjectTypeElement = document.getElementById("jvmProjectType") as HTMLElement
 | 
				
			||||||
 | 
					    private val jsProjectTypeElement = document.getElementById("jsProjectType") as HTMLElement
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    var projectType: ProjectType
 | 
					    var projectType: ProjectType
 | 
				
			||||||
        get() = if (jvmProjectTypeElement.ukActive) {
 | 
					        get() = when {
 | 
				
			||||||
            JVMProjectType
 | 
					            jvmProjectTypeElement.ukActive -> JVMProjectType
 | 
				
			||||||
        } else {
 | 
					            jsProjectTypeElement.ukActive -> JSProjectType
 | 
				
			||||||
            MultiplatformProjectType
 | 
					            else -> MultiplatformProjectType
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        set(value) {
 | 
					        set(value) {
 | 
				
			||||||
            mppProjectTypeElement.ukActive = value == MultiplatformProjectType
 | 
					            mppProjectTypeElement.ukActive = value == MultiplatformProjectType
 | 
				
			||||||
            jvmProjectTypeElement.ukActive = value == JVMProjectType
 | 
					            jvmProjectTypeElement.ukActive = value == JVMProjectType
 | 
				
			||||||
 | 
					            jsProjectTypeElement.ukActive = value == JSProjectType
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    init {
 | 
					    init {
 | 
				
			||||||
@@ -29,5 +31,9 @@ class ProjectTypeView : View {
 | 
				
			|||||||
            projectType = JVMProjectType
 | 
					            projectType = JVMProjectType
 | 
				
			||||||
            Unit
 | 
					            Unit
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        jsProjectTypeElement.onclick = {
 | 
				
			||||||
 | 
					            projectType = JSProjectType
 | 
				
			||||||
 | 
					            Unit
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -27,15 +27,11 @@
 | 
				
			|||||||
                <ul class="uk-subnav uk-subnav-pill">
 | 
					                <ul class="uk-subnav uk-subnav-pill">
 | 
				
			||||||
                    <li id="mppProjectType" class="uk-active"><a href="#">Multiplatform</a></li>
 | 
					                    <li id="mppProjectType" class="uk-active"><a href="#">Multiplatform</a></li>
 | 
				
			||||||
                    <li id="jvmProjectType"><a href="#">JVM</a></li>
 | 
					                    <li id="jvmProjectType"><a href="#">JVM</a></li>
 | 
				
			||||||
 | 
					                    <li id="jsProjectType"><a href="#">JS</a></li>
 | 
				
			||||||
                </ul>
 | 
					                </ul>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
            <legend class="uk-legend">Licenses</legend>
 | 
					            <legend class="uk-legend">Licenses</legend>
 | 
				
			||||||
            <div id="licensesListDiv" class="uk-padding-small">
 | 
					            <div id="licensesListDiv" class="uk-padding-small"></div>
 | 
				
			||||||
<!--                <div class="uk-margin uk-width-1-1">-->
 | 
					 | 
				
			||||||
<!--                    <input id="searchFilterInput" class="uk-input uk-width-expand" type="text" placeholder="License search filter">-->
 | 
					 | 
				
			||||||
<!--                </div>-->
 | 
					 | 
				
			||||||
<!--                <button class="uk-button uk-button-primary">Add empty license</button>-->
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            <legend class="uk-legend">Project information</legend>
 | 
					            <legend class="uk-legend">Project information</legend>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -58,7 +54,15 @@
 | 
				
			|||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                <div class="uk-margin">
 | 
					                <div class="uk-margin">
 | 
				
			||||||
                    <label><input id="includeGpgSignToggle" class="uk-checkbox" type="checkbox" checked> Include GPG Signing</label>
 | 
					                    <label>GPG Signing</label>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    <div class="uk-padding-small">
 | 
				
			||||||
 | 
					                        <ul class="uk-subnav uk-subnav-pill">
 | 
				
			||||||
 | 
					                            <li id="disableGpgSigning" class="uk-active" uk-tooltip="title: Signing will not be added"><a href="#">Disabled</a></li>
 | 
				
			||||||
 | 
					                            <li id="optionalGpgSigning" uk-tooltip="title: Signing will be added, but disabled in case of absence 'signatory.keyId'"><a href="#">Optional</a></li>
 | 
				
			||||||
 | 
					                            <li id="enableGpgSigning" uk-tooltip="title: Signing will be always enabled"><a href="#">Enabled</a></li>
 | 
				
			||||||
 | 
					                        </ul>
 | 
				
			||||||
 | 
					                    </div>
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
                <div class="uk-margin">
 | 
					                <div class="uk-margin">
 | 
				
			||||||
                    <label><input id="includeMavenCentralTargetRepoToggle" class="uk-checkbox" type="checkbox"> Include publication to MavenCentral</label>
 | 
					                    <label><input id="includeMavenCentralTargetRepoToggle" class="uk-checkbox" type="checkbox"> Include publication to MavenCentral</label>
 | 
				
			||||||
@@ -78,4 +82,4 @@
 | 
				
			|||||||
    <!-- Internal JS -->
 | 
					    <!-- Internal JS -->
 | 
				
			||||||
    <script src="kmppscriptbuilder.web.js"></script>
 | 
					    <script src="kmppscriptbuilder.web.js"></script>
 | 
				
			||||||
</body>
 | 
					</body>
 | 
				
			||||||
</html>
 | 
					</html>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user