Skip to content

Commit

Permalink
try new publish
Browse files Browse the repository at this point in the history
  • Loading branch information
Vacxe committed Nov 20, 2023
1 parent e2cc549 commit bd2a11e
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 44 deletions.
44 changes: 2 additions & 42 deletions buildSrc/src/main/kotlin/Deployment.kt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
@file:Suppress("DEPRECATION")

import com.android.build.gradle.LibraryExtension
import com.android.build.gradle.internal.api.DefaultAndroidSourceDirectorySet
import com.android.build.gradle.internal.tasks.factory.dependsOn
import org.gradle.api.Action
import org.gradle.api.Project
import org.gradle.api.plugins.JavaPluginConvention
Expand Down Expand Up @@ -59,52 +59,12 @@ object Deployment {

project.plugins.apply("maven-publish")

val (component, additionalArtifacts) = when {
project.extensions.findByType(LibraryExtension::class) != null -> {
val android = project.extensions.findByType(LibraryExtension::class)!!
val main = android.sourceSets.getByName("main")
val sourcesJar by project.tasks.creating(Jar::class) {
archiveClassifier.set("sources")
from((main.kotlin as DefaultAndroidSourceDirectorySet).srcDirs)
}
val javadocJar by project.tasks.creating(Jar::class) {
archiveClassifier.set("javadoc")
val dokka = project.tasks.findByName("dokkaJavadoc") as DokkaTask
from(dokka.outputDirectory)
dependsOn(dokka)
}

Pair(project.components["release"], listOf(sourcesJar, javadocJar))
}
project.the(JavaPluginConvention::class) != null -> {
val javaPlugin = project.the(JavaPluginConvention::class)

val sourcesJar by project.tasks.creating(Jar::class) {
archiveClassifier.set("sources")
from(javaPlugin.sourceSets["main"].allSource)
}
val javadocJar by project.tasks.creating(Jar::class) {
archiveClassifier.set("javadoc")
from(javaPlugin.docsDir)
dependsOn("javadoc")
}

Pair(project.components["java"], listOf(sourcesJar, javadocJar))
}
else -> {
throw RuntimeException("Unknown plugin")
}
}

project.configure<PublishingExtension> {
publications {
create("default", MavenPublication::class.java) {
groupId = PackageInfo.groupId
customizePom(pom)
additionalArtifacts.forEach {
artifact(it)
}
from(component)
from(project.components["release"])
}
}
repositories {
Expand Down
7 changes: 7 additions & 0 deletions compose/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,13 @@ android {
kotlin {
jvmToolchain(17)
}

publishing {
singleVariant("release") {
withJavadocJar()
withSourcesJar()
}
}
}

dependencies {
Expand Down
4 changes: 2 additions & 2 deletions sample/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -53,11 +53,11 @@ android {

sourceSets {
getByName("main") {
kotlin.srcDirs("src/main/kotlin")
java.srcDir("src/main/kotlin")
res.srcDir("src/main/res")
}
getByName("androidTest") {
kotlin.srcDirs("src/androidTest/kotlin")
java.srcDir("src/androidTest/kotlin")
}
}
}
Expand Down

0 comments on commit bd2a11e

Please sign in to comment.