From 0e288c955cc79e459a3e1a81124d5a7ad0544465 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Fri, 8 May 2020 14:44:41 +0200 Subject: [PATCH] Extras: added publishing tasks to build.gradle.kts --- flatlaf-extras/build.gradle.kts | 114 ++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) diff --git a/flatlaf-extras/build.gradle.kts b/flatlaf-extras/build.gradle.kts index 6fc245b6..9ca14612 100644 --- a/flatlaf-extras/build.gradle.kts +++ b/flatlaf-extras/build.gradle.kts @@ -16,9 +16,123 @@ plugins { `java-library` + `maven-publish` + id( "com.jfrog.bintray" ) + id( "com.jfrog.artifactory" ) } dependencies { implementation( project( ":flatlaf-core" ) ) implementation( "com.formdev:svgSalamander:1.1.2.1" ) } + +tasks { + assemble { + dependsOn( + "sourcesJar", + "javadocJar" + ) + } + + javadoc { + options { + this as StandardJavadocDocletOptions + tags = listOf( "uiDefault", "clientProperty" ) + } + isFailOnError = false + } + + register( "sourcesJar", Jar::class ) { + archiveClassifier.set( "sources" ) + + from( sourceSets.main.get().allJava ) + } + + register( "javadocJar", Jar::class ) { + archiveClassifier.set( "javadoc" ) + + from( javadoc ) + } +} + +publishing { + publications { + create( "maven" ) { + artifactId = "flatlaf-extras" + groupId = "com.formdev" + + from( components["java"] ) + + artifact( tasks["sourcesJar"] ) + artifact( tasks["javadocJar"] ) + + pom { + name.set( "FlatLaf Extras" ) + description.set( "Flat Look and Feel Extras" ) + url.set( "https://github.com/JFormDesigner/FlatLaf" ) + + licenses { + license { + name.set( "The Apache License, Version 2.0" ) + url.set( "https://www.apache.org/licenses/LICENSE-2.0.txt" ) + } + } + + developers { + developer { + name.set( "Karl Tauber" ) + organization.set( "FormDev Software GmbH" ) + organizationUrl.set( "https://www.formdev.com/" ) + } + } + + scm { + url.set( "https://github.com/JFormDesigner/FlatLaf" ) + } + } + } + } +} + +bintray { + user = rootProject.extra["bintray.user"] as String? + key = rootProject.extra["bintray.key"] as String? + + setPublications( "maven" ) + + with( pkg ) { + repo = "flatlaf" + name = "flatlaf-extras" + setLicenses( "Apache-2.0" ) + vcsUrl = "https://github.com/JFormDesigner/FlatLaf" + + with( version ) { + name = project.version.toString() + } + + publish = rootProject.extra["bintray.publish"] as Boolean + dryRun = rootProject.extra["bintray.dryRun"] as Boolean + } +} + +artifactory { + setContextUrl( "https://oss.jfrog.org" ) + + publish( closureOf { + repository( delegateClosureOf { + setProperty( "repoKey", "oss-snapshot-local" ) + setProperty( "username", rootProject.extra["bintray.user"] as String? ) + setProperty( "password", rootProject.extra["bintray.key"] as String? ) + } ) + + defaults( delegateClosureOf { + invokeMethod( "publications", "maven" ) + setProperty( "publishArtifacts", true ) + setProperty( "publishPom", true ) + } ) + } ) + + resolve( delegateClosureOf { + setProperty( "repoKey", "jcenter" ) + } ) +}