diff --git a/1.x/docs/Combined+Pages+Pdf.md b/1.x/docs/Combined+Pages+Pdf.md index 8bde56b0e..7891252d0 100644 --- a/1.x/docs/Combined+Pages+Pdf.md +++ b/1.x/docs/Combined+Pages+Pdf.md @@ -19721,6 +19721,28 @@ libraryDependencies ++= Seq.empty ``` +### Publishing a plugin + +Plugins can be published like any other projects. When publishing your plugin to a Maven-layout repository, use sbt 1.9.x or above. + +However, there is one caveat if you attempt to publish your plugin to a repository that follows the Maven layout. + +If your artifacts repository expect artifacts to be compliant with Maven layout and rejects artifacts that do not adhere to it you can: +1. (recommended) If you and consumers of your plugin use sbt 1.9.x or above + + Since sbt 1.9, it tries to publish any plugin with both the new and legacy Maven style (for backward compatibility). The legacy Maven style is not fully compatible with Maven layout. + You need to disable it with: + `sbtPluginPublishLegacyMavenStyle := false` + Notice that you won't be able to consume this plugin with sbt older than 1.9, as it can only resolve the legacy Maven style (or you need to use the trick described in [sbt-vspp](https://github.com/esbeetee/sbt-vspp)). +3. If you use sbt < 1.9.x + + You can use https://github.com/esbeetee/sbt-vspp/ +5. If you cannot use sbt 1.9.x and you cannot/don't want to use sbt-vspp + + There should be an option like `Suppress POM Consistency Checks` in your artifactory settings that will allow you to submit artifacts even if they don't fully follow Maven layout. + +You can find more details about this in the [following issue](https://github.com/sbt/sbt/issues/3410). + ### Best Practices If you're a plugin writer, please consult the [Plugins Best Practices][Plugins-Best-Practices] diff --git a/1.x/docs/Combined+Pages.html b/1.x/docs/Combined+Pages.html index e0e50da70..f54033ba8 100644 --- a/1.x/docs/Combined+Pages.html +++ b/1.x/docs/Combined+Pages.html @@ -12185,7 +12185,20 @@

Contents

Seq("org.example" % "windows-only" % "1.0") else Seq.empty -

Best Practices 

If you’re a plugin writer, please consult the Plugins Best Practices +

Publishing a plugin 

Plugins can be published like any other projects. When publishing your plugin to a Maven-layout repository, use sbt 1.9.x or above. +

However, there is one caveat if you attempt to publish your plugin to a repository that follows the Maven layout. +

If your artifacts repository expect artifacts to be compliant with Maven layout and rejects artifacts that do not adhere to it you can: +1. (recommended) If you and consumers of your plugin use sbt 1.9.x or above +

Since sbt 1.9, it tries to publish any plugin with both the new and legacy Maven style (for backward compatibility). The legacy Maven style is not fully compatible with Maven layout. + You need to disable it with: + sbtPluginPublishLegacyMavenStyle := false + Notice that you won’t be able to consume this plugin with sbt older than 1.9, as it can only resolve the legacy Maven style (or you need to use the trick described in sbt-vspp). +3. If you use sbt < 1.9.x +

You can use https://github.com/esbeetee/sbt-vspp/ +5. If you cannot use sbt 1.9.x and you cannot/don’t want to use sbt-vspp +

There should be an option like Suppress POM Consistency Checks in your artifactory settings that will allow you to submit artifacts even if they don’t fully follow Maven layout. +

You can find more details about this in the following issue. +

Best Practices 

If you’re a plugin writer, please consult the Plugins Best Practices page; it contains a set of guidelines to help you ensure that your plugin is consistent and plays well with other plugins.

For cross building sbt plugins see also Cross building plugins. diff --git a/1.x/docs/Combined+Pages.md b/1.x/docs/Combined+Pages.md index 6d80c74dd..6f53a4bf1 100644 --- a/1.x/docs/Combined+Pages.md +++ b/1.x/docs/Combined+Pages.md @@ -19716,6 +19716,28 @@ libraryDependencies ++= Seq.empty ``` +### Publishing a plugin + +Plugins can be published like any other projects. When publishing your plugin to a Maven-layout repository, use sbt 1.9.x or above. + +However, there is one caveat if you attempt to publish your plugin to a repository that follows the Maven layout. + +If your artifacts repository expect artifacts to be compliant with Maven layout and rejects artifacts that do not adhere to it you can: +1. (recommended) If you and consumers of your plugin use sbt 1.9.x or above + + Since sbt 1.9, it tries to publish any plugin with both the new and legacy Maven style (for backward compatibility). The legacy Maven style is not fully compatible with Maven layout. + You need to disable it with: + `sbtPluginPublishLegacyMavenStyle := false` + Notice that you won't be able to consume this plugin with sbt older than 1.9, as it can only resolve the legacy Maven style (or you need to use the trick described in [sbt-vspp](https://github.com/esbeetee/sbt-vspp)). +3. If you use sbt < 1.9.x + + You can use https://github.com/esbeetee/sbt-vspp/ +5. If you cannot use sbt 1.9.x and you cannot/don't want to use sbt-vspp + + There should be an option like `Suppress POM Consistency Checks` in your artifactory settings that will allow you to submit artifacts even if they don't fully follow Maven layout. + +You can find more details about this in the [following issue](https://github.com/sbt/sbt/issues/3410). + ### Best Practices If you're a plugin writer, please consult the [Plugins Best Practices][Plugins-Best-Practices] diff --git a/1.x/docs/Contents+in+Depth.html b/1.x/docs/Contents+in+Depth.html index 36eb61bca..fc8731416 100644 --- a/1.x/docs/Contents+in+Depth.html +++ b/1.x/docs/Contents+in+Depth.html @@ -221,7 +221,7 @@

Contents

  • Using a library in a build definition example -
  • Best Practices
  • Plugins Best Practices
  • Plugins Best Practices
  • Plugins Best Practices
  • Plugins Best Practices