diff --git a/README.md b/README.md
index 828db9d..b80f99c 100644
--- a/README.md
+++ b/README.md
@@ -1,71 +1,18 @@
-Librarian is a library to help building Kotlin libraries.
+[![Slack](https://img.shields.io/static/v1?label=gradle-community&message=gradleup&color=A97BFF&logo=slack&style=flat-square)](https://gradle-community.slack.com/archives/C07GJEMUZDH)
-Features:
+[![Maven Central](https://img.shields.io/maven-central/v/com.gradleup.librarian/librarian-gradle-plugin?style=flat-square)](https://central.sonatype.com/namespace/com.gradleup.librarian)
+[![OSS Snapshots](https://img.shields.io/nexus/s/com.gradleup.librarian/librarian-gradle-plugin?server=https%3A%2F%2Foss.sonatype.org&label=oss-snapshots&style=flat-square)](https://oss.sonatype.org/content/repositories/snapshots/com/gradleup/librarian/)
-- Java/Kotlin compatibility flags
-- [Maven Central](https://central.sonatype.com/) publishing
-- [Dokkatoo](https://github.com/adamko-dev/dokkatoo) configuration
-- [BCV](https://github.com/Kotlin/binary-compatibility-validator) configuration
-- Maven pom compatibility for KMP projects
-- [Maven sympathy for transitive dependencies](https://jakewharton.com/nonsensical-maven-is-still-a-gradle-problem/)
-- Autogenerated lib version constant
+
-## Quickstart
+## 🚀 Librarian
-Work in progress...
+An opiniated toolkit to help you build libraries.
-Add `librarian` to your Gradle buildscript classpath:
+## 📚 Documentation
-```kotlin
-plugins {
- id("com.gradleup.librarian").version("0.0.6")
-}
-```
-
-Call `librarianRoot` in your root module:
-
-```kotlin
-librarianRoot()
-```
-
-And `librarianModule` in each library module:
-
-```kotlin
-librarianModule()
-```
-
-Librarian uses Gradle properties for configuration options and environment variables for secrets:
-
-```properties
-# gradle properties
-
-# compatibility
-librarian.javaCompatibility=8
-librarian.kotlinCompatibility=2.0.0
-
-# kdoc
-librarian.kdoc.aggregator=kdoc
-librarian.kdoc.olderVersions=
-
-# version
-librarian.version.packageName=com.apollographql.mockserver
-
-# publishing
-librarian.sonatype.backend=S01
-librarian.pom.groupId=com.apollographql.mockserver
-librarian.pom.version=0.0.1
-librarian.pom.description=Apollo Mockserver
-librarian.pom.vcsUrl=https://github.com/apollographql/apollo-kotlin-mockserver
-librarian.pom.developer=Apollo Kotlin Mockserver contributors
-librarian.pom.license=MIT License
-librarian.pom.licenseUrl=https://raw.githubusercontent.com/apollographql/apollo-kotlin-mockserver/main/LICENSE
-```
-
-```shell
-export LIBRARIAN_SIGNING_PRIVATE_KEY=your_gpg_key
-export LIBRARIAN_SIGNING_PRIVATE_KEY_PASSWORD=your_gpg_key_password
-
-export LIBRARIAN_SONATYPE_USERNAME=your_sonatype_username
-export LIBRARIAN_SONATYPE_PASSWORD=your_sonatype_password
-```
+See the project website for documentation:
+[https://gradleup.github.io/librarian/](https://apollographql.github.io/librarian/)
+The Kdoc API reference can be found at:
+[https://gradleup.github.io/librarian/kdoc](https://apollographql.github.io/librarian/kdoc)
diff --git a/Writerside/topics/welcome.md b/Writerside/topics/welcome.md
index 54ed57e..eeddf47 100644
--- a/Writerside/topics/welcome.md
+++ b/Writerside/topics/welcome.md
@@ -57,7 +57,6 @@ pom.description=Librarian
pom.vcsUrl=https://github.com/gradleup/librarian
pom.developer=GradleUp authors
pom.license=MIT License
-pom.licenseUrl=https://raw.githubusercontent.com/gradleup/librarian/main/LICENSE
# Optional: publish to Google Cloud Storage
gcs.bucket=gradleup
diff --git a/librarian-cli/src/main/kotlin/com/gradleup/librarian/cli/command/Create.kt b/librarian-cli/src/main/kotlin/com/gradleup/librarian/cli/command/Create.kt
index bf52413..70912a4 100644
--- a/librarian-cli/src/main/kotlin/com/gradleup/librarian/cli/command/Create.kt
+++ b/librarian-cli/src/main/kotlin/com/gradleup/librarian/cli/command/Create.kt
@@ -85,7 +85,6 @@ internal class Create : CliktCommand() {
sonatypeBackend = backend,
groupId = groupId,
projectUrl = repository.url(),
- licenseUrl = repository.rawUrl("LICENSE"),
license = SupportedLicense.MIT,
pomDescription = pomDescription,
pomDeveloper = pomDeveloper
diff --git a/librarian-cli/src/main/kotlin/com/gradleup/librarian/cli/command/Init.kt b/librarian-cli/src/main/kotlin/com/gradleup/librarian/cli/command/Init.kt
index 9b9e02b..6851302 100644
--- a/librarian-cli/src/main/kotlin/com/gradleup/librarian/cli/command/Init.kt
+++ b/librarian-cli/src/main/kotlin/com/gradleup/librarian/cli/command/Init.kt
@@ -97,7 +97,6 @@ internal class Init : CliktCommand(invokeWithoutSubcommand = true) {
val pomDescription = KInquirer.promptInput("Maven pom description")
val pomDeveloper = KInquirer.promptInput("Maven pom developer", defaultDevelopers)
val projectUrl = gitHubRepository?.url() ?: KInquirer.promptInput("Maven pom project url")
- val licenseUrl = gitHubRepository?.rawUrl("LICENSE") ?: KInquirer.promptInput("Maven pom license url")
val sonatypeBackend = KInquirer.promptList("Sonatype backend", SonatypeBackend.entries.map { it.name })
val javaCompatibility = KInquirer.promptInput("Java compatibility", "8")
val kotlinCompatibility = KInquirer.promptInput("Kotlin compatibility", kotlinPluginVersion)
@@ -109,7 +108,6 @@ internal class Init : CliktCommand(invokeWithoutSubcommand = true) {
groupId = groupId,
projectUrl = projectUrl,
license = license,
- licenseUrl = licenseUrl,
pomDescription = pomDescription,
pomDeveloper = pomDeveloper
)
diff --git a/librarian-core/api/librarian-core.api b/librarian-core/api/librarian-core.api
index b8381e5..d797706 100644
--- a/librarian-core/api/librarian-core.api
+++ b/librarian-core/api/librarian-core.api
@@ -145,7 +145,7 @@ public final class com/gradleup/librarian/core/tooling/init/Gradle_wrapperKt {
public final class com/gradleup/librarian/core/tooling/init/LibrarianKt {
public static final fun getModulePropertiesFilename ()Ljava/lang/String;
public static final fun getRootPropertiesFilename ()Ljava/lang/String;
- public static final fun initLibrarian (Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;Lcom/gradleup/librarian/core/tooling/init/SonatypeBackend;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/gradleup/librarian/core/tooling/init/SupportedLicense;Ljava/lang/String;Ljava/lang/String;)V
+ public static final fun initLibrarian (Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;Lcom/gradleup/librarian/core/tooling/init/SonatypeBackend;Ljava/lang/String;Ljava/lang/String;Lcom/gradleup/librarian/core/tooling/init/SupportedLicense;Ljava/lang/String;Ljava/lang/String;)V
public static final fun toBaseUrl (Lcom/gradleup/librarian/core/tooling/init/SonatypeBackend;)Ljava/lang/String;
}
@@ -197,8 +197,8 @@ public final class com/gradleup/librarian/core/tooling/init/SonatypeRelease : ja
public final class com/gradleup/librarian/core/tooling/init/SupportedLicense : java/lang/Enum {
public static final field MIT Lcom/gradleup/librarian/core/tooling/init/SupportedLicense;
- public final fun getDisplayName ()Ljava/lang/String;
public static fun getEntries ()Lkotlin/enums/EnumEntries;
+ public final fun getSpdxIdentifier ()Ljava/lang/String;
public static fun valueOf (Ljava/lang/String;)Lcom/gradleup/librarian/core/tooling/init/SupportedLicense;
public static fun values ()[Lcom/gradleup/librarian/core/tooling/init/SupportedLicense;
}
diff --git a/librarian-core/src/main/kotlin/com/gradleup/librarian/core/tooling/init/librarian.kt b/librarian-core/src/main/kotlin/com/gradleup/librarian/core/tooling/init/librarian.kt
index 5178219..f140f3d 100644
--- a/librarian-core/src/main/kotlin/com/gradleup/librarian/core/tooling/init/librarian.kt
+++ b/librarian-core/src/main/kotlin/com/gradleup/librarian/core/tooling/init/librarian.kt
@@ -12,7 +12,6 @@ fun Path.initLibrarian(
sonatypeBackend: SonatypeBackend,
groupId: String,
projectUrl: String,
- licenseUrl: String,
license: SupportedLicense,
pomDescription: String,
pomDeveloper: String
@@ -31,8 +30,7 @@ fun Path.initLibrarian(
pom.description=$pomDescription
pom.vcsUrl=$projectUrl
pom.developer=$pomDeveloper
- pom.license=${license.displayName}
- pom.licenseUrl=${licenseUrl}
+ pom.license=${license.spdxIdentifier}
""".trimIndent()
)
}
diff --git a/librarian-core/src/main/kotlin/com/gradleup/librarian/core/tooling/init/license.kt b/librarian-core/src/main/kotlin/com/gradleup/librarian/core/tooling/init/license.kt
index bb626a3..3542397 100644
--- a/librarian-core/src/main/kotlin/com/gradleup/librarian/core/tooling/init/license.kt
+++ b/librarian-core/src/main/kotlin/com/gradleup/librarian/core/tooling/init/license.kt
@@ -17,8 +17,8 @@ fun String.toSupportedLicense(): SupportedLicense {
// See https://spdx.org/licenses/
-enum class SupportedLicense(val displayName: String) {
- MIT("MIT License")
+enum class SupportedLicense(val spdxIdentifier: String) {
+ MIT("MIT")
}
fun Path.initLicense(license: SupportedLicense, year: String, copyright: String) {
diff --git a/librarian-gradle-plugin/api/librarian-gradle-plugin.api b/librarian-gradle-plugin/api/librarian-gradle-plugin.api
index e11f4a9..8460a47 100644
--- a/librarian-gradle-plugin/api/librarian-gradle-plugin.api
+++ b/librarian-gradle-plugin/api/librarian-gradle-plugin.api
@@ -29,8 +29,9 @@ public final class com/gradleup/librarian/gradle/DokkatooKt {
}
public final class com/gradleup/librarian/gradle/Gcp {
- public fun (Ljava/lang/String;)V
- public final fun getBucketUrl ()Ljava/lang/String;
+ public fun (Ljava/lang/String;Ljava/lang/String;)V
+ public final fun getBucket ()Ljava/lang/String;
+ public final fun getPrefix ()Ljava/lang/String;
}
public abstract class com/gradleup/librarian/gradle/GeneratePluginVersion : org/gradle/api/DefaultTask {
@@ -94,13 +95,12 @@ public final class com/gradleup/librarian/gradle/ModuleKt {
}
public final class com/gradleup/librarian/gradle/PomMetadata {
- public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+ public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
public final fun getArtifactId ()Ljava/lang/String;
public final fun getDescription ()Ljava/lang/String;
public final fun getDeveloper ()Ljava/lang/String;
public final fun getGroupId ()Ljava/lang/String;
public final fun getLicense ()Ljava/lang/String;
- public final fun getLicenseUrl ()Ljava/lang/String;
public final fun getVcsUrl ()Ljava/lang/String;
public final fun getVersion ()Ljava/lang/String;
}
@@ -111,10 +111,10 @@ public final class com/gradleup/librarian/gradle/Project_kotlinKt {
}
public final class com/gradleup/librarian/gradle/PublishingKt {
- public static final fun Gcp (Ljava/util/Properties;)Lcom/gradleup/librarian/gradle/Gcp;
+ public static final fun Gcs (Ljava/util/Properties;)Lcom/gradleup/librarian/gradle/Gcp;
public static final fun PomMetadata (Lorg/gradle/api/Project;Ljava/lang/String;Ljava/util/Properties;)Lcom/gradleup/librarian/gradle/PomMetadata;
public static final fun configurePom (Lorg/gradle/api/Project;Lcom/gradleup/librarian/gradle/PomMetadata;)V
- public static final fun configurePublishing (Lorg/gradle/api/Project;ZZLcom/gradleup/librarian/gradle/PomMetadata;Lcom/gradleup/librarian/gradle/Signing;Lcom/gradleup/librarian/gradle/Gcp;)V
+ public static final fun configurePublishing (Lorg/gradle/api/Project;ZZLcom/gradleup/librarian/gradle/PomMetadata;Lcom/gradleup/librarian/gradle/Signing;)V
public static final fun createMissingPublications (Lorg/gradle/api/Project;Ljava/lang/String;)V
public static synthetic fun createMissingPublications$default (Lorg/gradle/api/Project;Ljava/lang/String;ILjava/lang/Object;)V
}
diff --git a/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/publishing.kt b/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/publishing.kt
index 9b6e4ca..c472ad2 100644
--- a/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/publishing.kt
+++ b/librarian-gradle-plugin/src/main/kotlin/com/gradleup/librarian/gradle/publishing.kt
@@ -57,7 +57,6 @@ fun PomMetadata(project: Project, artifactId: String, properties: Properties): P
description = properties.getRequiredProperty("pom.description"),
vcsUrl = properties.getRequiredProperty("pom.vcsUrl"),
developer = properties.getRequiredProperty("pom.developer"),
- licenseUrl = properties.getRequiredProperty("pom.licenseUrl"),
license = properties.getRequiredProperty("pom.license"),
)
}
@@ -78,7 +77,6 @@ class PomMetadata(
val vcsUrl: String,
val developer: String,
val license: String,
- val licenseUrl: String,
)
fun Project.configurePublishing(
@@ -264,8 +262,12 @@ fun Project.configurePom(
}
it.licenses {
it.license {
+ /**
+ * We set the license name to the SPDX identifier
+ * We omit the licenseUrl to play nice with licensee
+ * See https://github.com/cashapp/licensee/issues/374
+ */
it.name.set(pomMetadata.license)
- it.url.set(pomMetadata.licenseUrl)
}
}
it.developers {
diff --git a/librarian-gradle-plugin/testProjects/simple/librarian.root.properties b/librarian-gradle-plugin/testProjects/simple/librarian.root.properties
index 5334a92..4dad63a 100644
--- a/librarian-gradle-plugin/testProjects/simple/librarian.root.properties
+++ b/librarian-gradle-plugin/testProjects/simple/librarian.root.properties
@@ -13,4 +13,3 @@ pom.description=librarian
pom.vcsUrl=https://github.com/GradleUp/librarian
pom.developer=librarian authors
pom.license=MIT License
-pom.licenseUrl=https://raw.githubusercontent.com/GradleUp/librarian/main/LICENSE
\ No newline at end of file