From 5582cb2f40643de2a52203682777ae9f892ccd29 Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Sat, 1 Feb 2025 23:10:23 +0800 Subject: [PATCH 1/3] Add some missing spaces before "(DSL)" --- src/reference/00-Getting-Started/05-Basic-Def.md | 2 +- src/reference/00-Getting-Started/06-Task-Graph.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/reference/00-Getting-Started/05-Basic-Def.md b/src/reference/00-Getting-Started/05-Basic-Def.md index 80ebcddc..da9a37c6 100644 --- a/src/reference/00-Getting-Started/05-Basic-Def.md +++ b/src/reference/00-Getting-Started/05-Basic-Def.md @@ -61,7 +61,7 @@ The key-value pairs are listed under the `.settings(...)` method as follows: ### How build.sbt defines settings `build.sbt` defines subprojects, which holds a sequence of key-value pairs -called *setting expressions* using *build.sbt domain-specific language(DSL)*. +called *setting expressions* using *build.sbt domain-specific language (DSL)*. ```scala ThisBuild / organization := "com.example" diff --git a/src/reference/00-Getting-Started/06-Task-Graph.md b/src/reference/00-Getting-Started/06-Task-Graph.md index 983dfc03..92ca49c4 100644 --- a/src/reference/00-Getting-Started/06-Task-Graph.md +++ b/src/reference/00-Getting-Started/06-Task-Graph.md @@ -335,7 +335,7 @@ Compile / scalaSource := { ### What's the point of the build.sbt DSL? -We use the `build.sbt` domain-specific language(DSL) to construct a DAG of settings and tasks. +We use the `build.sbt` domain-specific language (DSL) to construct a DAG of settings and tasks. The setting expressions encode settings, tasks and the dependencies among them. This structure is common to [Make][Make] (1976), [Ant][Ant] (2000), and [Rake][Rake] (2003). From fc7887dbf21fee35eb24d5138edaa56b0ef35ca0 Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Sat, 1 Feb 2025 23:12:36 +0800 Subject: [PATCH 2/3] Remove a typo period in 02-Plugins.md --- .../02-DetailTopics/05-Plugins-and-Best-Practices/02-Plugins.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reference/02-DetailTopics/05-Plugins-and-Best-Practices/02-Plugins.md b/src/reference/02-DetailTopics/05-Plugins-and-Best-Practices/02-Plugins.md index f74cbd14..01c3a739 100644 --- a/src/reference/02-DetailTopics/05-Plugins-and-Best-Practices/02-Plugins.md +++ b/src/reference/02-DetailTopics/05-Plugins-and-Best-Practices/02-Plugins.md @@ -353,7 +353,7 @@ object Obfuscate { #### Usage example -A build definition that uses the plugin might look like. `obfuscate.sbt`: +A build definition that uses the plugin might look like `obfuscate.sbt`: ```scala obfuscate / obfuscateLiterals := true From d5d3c3fe1c7eea970d4818e43f0f7e80fbe8ef8f Mon Sep 17 00:00:00 2001 From: Yongshun Shreck Ye Date: Sat, 1 Feb 2025 23:23:51 +0800 Subject: [PATCH 3/3] Try fixing the list format in the "Publishing a plugin" section of 02-Plugins.md --- .../05-Plugins-and-Best-Practices/02-Plugins.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/reference/02-DetailTopics/05-Plugins-and-Best-Practices/02-Plugins.md b/src/reference/02-DetailTopics/05-Plugins-and-Best-Practices/02-Plugins.md index 01c3a739..b6478f5e 100644 --- a/src/reference/02-DetailTopics/05-Plugins-and-Best-Practices/02-Plugins.md +++ b/src/reference/02-DetailTopics/05-Plugins-and-Best-Practices/02-Plugins.md @@ -515,17 +515,19 @@ Plugins can be published like any other projects. When publishing your plugin to 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 - + +1. 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 - +1. 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).