Skip to content

Commit

Permalink
simplify.
Browse files Browse the repository at this point in the history
  • Loading branch information
portlek committed Aug 26, 2024
1 parent 937dec8 commit e6cf760
Show file tree
Hide file tree
Showing 8 changed files with 42 additions and 51 deletions.
4 changes: 2 additions & 2 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import net.infumia.gradle.spotless
import net.infumia.gradle.applySpotless

plugins { java }

subprojects { apply<JavaPlugin>() }

spotless()
applySpotless()
28 changes: 6 additions & 22 deletions buildSrc/src/main/kotlin/net/infumia/gradle/common.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ package net.infumia.gradle
import org.gradle.api.Project
import org.gradle.api.plugins.JavaPlugin
import org.gradle.api.plugins.JavaPluginExtension
import org.gradle.api.tasks.bundling.Jar
import org.gradle.jvm.toolchain.JavaLanguageVersion
import org.gradle.jvm.toolchain.JvmVendorSpec
import org.gradle.kotlin.dsl.*
import org.jetbrains.dokka.gradle.DokkaPlugin

fun Project.applyCommon(javaVersion: Int = 8, sources: Boolean = true, javadoc: Boolean = true) {
fun Project.applyCommon(javaVersion: Int = 8) {
apply<JavaPlugin>()

if (name.contains("kotlin")) {
Expand All @@ -19,25 +19,9 @@ fun Project.applyCommon(javaVersion: Int = 8, sources: Boolean = true, javadoc:
repositories.mavenCentral()

extensions.configure<JavaPluginExtension> {
toolchain { languageVersion = JavaLanguageVersion.of(javaVersion) }
}

if (javadoc) {
val javadocJar by
tasks.creating(Jar::class) {
dependsOn("javadoc")
archiveClassifier.set("javadoc")
from(javadoc)
}
}

if (sources) {
val sourceSets = extensions.getByType<JavaPluginExtension>().sourceSets
val sourcesJar by
tasks.creating(Jar::class) {
dependsOn("classes")
archiveClassifier.set("sources")
from(sourceSets["main"].allSource)
}
toolchain {
languageVersion = JavaLanguageVersion.of(javaVersion)
vendor = JvmVendorSpec.ADOPTIUM
}
}
}
43 changes: 25 additions & 18 deletions buildSrc/src/main/kotlin/net/infumia/gradle/publish.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,28 @@ package net.infumia.gradle
import com.vanniktech.maven.publish.MavenPublishBaseExtension
import com.vanniktech.maven.publish.MavenPublishPlugin
import com.vanniktech.maven.publish.SonatypeHost
import com.vanniktech.maven.publish.tasks.JavadocJar
import org.gradle.api.Project
import org.gradle.api.plugins.JavaPluginExtension
import org.gradle.api.tasks.bundling.Jar
import org.gradle.kotlin.dsl.*

fun Project.publish(
moduleName: String? = null,
javaVersion: Int = 8,
sources: Boolean = true,
javadoc: Boolean = true
) {
applyCommon(javaVersion, sources, javadoc)
fun Project.applyPublish(moduleName: String? = null, javaVersion: Int = 8) {
applyCommon(javaVersion)
apply<MavenPublishPlugin>()

val projectName = "lock${if (moduleName == null) "" else "-$moduleName"}"
val signRequired = project.hasProperty("sign-required")

val sourceSets = extensions.getByType<JavaPluginExtension>().sourceSets
tasks.register("sourcesJar", Jar::class) {
dependsOn("classes")
archiveClassifier = "sources"
from(sourceSets["main"].allSource)
}

tasks.withType<JavadocJar> { afterEvaluate { archiveBaseName = name } }

extensions.configure<MavenPublishBaseExtension> {
coordinates(project.group.toString(), projectName, project.version.toString())
publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL, true)
Expand All @@ -26,26 +33,26 @@ fun Project.publish(
}

pom {
name.set(projectName)
description.set("")
url.set("https://github.com/Infumia/lock")
name = projectName
description = ""
url = "https://github.com/Infumia/lock"
licenses {
license {
name.set("MIT License")
url.set("https://mit-license.org/license.txt")
name = "MIT License"
url = "https://mit-license.org/license.txt"
}
}
developers {
developer {
id.set("portlek")
name.set("Hasan Demirtaş")
email.set("[email protected]")
id = "portlek"
name = "Hasan Demirtaş"
email = "[email protected]"
}
}
scm {
connection.set("scm:git:git://github.com/infumia/lock.git")
developerConnection.set("scm:git:ssh://github.com/infumia/lock.git")
url.set("https://github.com/infumia/lock/")
connection = "scm:git:git://github.com/infumia/lock.git"
developerConnection = "scm:git:ssh://github.com/infumia/lock.git"
url = "https://github.com/infumia/lock/"
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion buildSrc/src/main/kotlin/net/infumia/gradle/spotless.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import com.diffplug.gradle.spotless.SpotlessPlugin
import org.gradle.api.Project
import org.gradle.kotlin.dsl.*

fun Project.spotless() {
fun Project.applySpotless() {
val subProjects = subprojects.map { it.projectDir.toRelativeString(projectDir) }

repositories.mavenCentral()
Expand Down
4 changes: 2 additions & 2 deletions common/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import net.infumia.gradle.publish
import net.infumia.gradle.applyPublish

publish()
applyPublish()

dependencies {}
4 changes: 2 additions & 2 deletions kotlin/coroutines/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import net.infumia.gradle.publish
import net.infumia.gradle.applyPublish

publish("kotlin-coroutines")
applyPublish("kotlin-coroutines")

dependencies {
compileOnly(project(":common"))
Expand Down
4 changes: 2 additions & 2 deletions kotlin/extensions/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import net.infumia.gradle.publish
import net.infumia.gradle.applyPublish

publish("kotlin")
applyPublish("kotlin")

dependencies { compileOnly(project(":common")) }
4 changes: 2 additions & 2 deletions redis/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import net.infumia.gradle.publish
import net.infumia.gradle.applyPublish

publish("redis")
applyPublish("redis")

dependencies {
compileOnly(project(":common"))
Expand Down

0 comments on commit e6cf760

Please sign in to comment.