Skip to content

Commit 92df69c

Browse files
committed
Clarify that non-artifact-producing modules need publish / skip := true
We missed this in guardian/permissions#203 - adding a new subproject that _didn't_ produce a Maven artifact, `sbt-version-policy` needs to be told to ignore the subproject when performing the automated compatibility assessment, otherwise it will attempt to download the prior version of that subproject (which definitely doesn't exist). See also: * guardian/permissions#233
1 parent 86ff207 commit 92df69c

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

docs/configuration.md

+7-6
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ library.
9393
`1.4.7` release. The workflow will automatically update the `version` during each release, as appropriate.
9494

9595
[Example `build.sbt`](https://github.com/guardian/etag-caching/blob/main/build.sbt)
96-
* Artifact-producing modules
96+
* **Artifact-producing modules** - any module (project or subproject) that creates an artifact for Maven Central
9797
* `organization` - this dictates the [groupId](https://maven.apache.org/guides/mini/guide-naming-conventions.html) of
9898
your artifacts, and can be either the same as your Sonatype account profile name (eg `com.gu` for the Guardian),
9999
or a dot-suffixed version of it (eg `com.gu.foobar`) if your project ('foobar') releases multiple artifacts
@@ -108,13 +108,14 @@ library.
108108
but while this can be a relatively new version of Java, in order for your compiled code to support
109109
_older_ versions of Java, and avoid `UnsupportedClassVersionError` errors, you'll
110110
need to set this flag. See also [Scala/Java compatibility](https://docs.scala-lang.org/overviews/jdk-compatibility/overview.html).
111-
* Top-level 'release' module - if your project has a [multi-module](https://www.scala-sbt.org/1.x/docs/Multi-Project.html)
111+
* **Non-artifact-producing modules** - any module that _doesn't_ make an artifact to publish to Maven Central
112+
(often, the 'root' project in a multi-project build)
113+
* `publish / skip := true` (rather than other legacy hacks like `publishArtifact := false`). This setting is
114+
respected by `sbt-version-policy` - it won't attempt to calculate compatibility on a module that doesn't
115+
publish artifacts.
116+
* **Top-level 'release' module** - if your project has a [multi-module](https://www.scala-sbt.org/1.x/docs/Multi-Project.html)
112117
build this could be called 'root', or, if your project only has one module, it and your
113118
artifact-producing module could be the same thing, and just use top-level settings.
114-
* `publish / skip := true` (rather than other legacy hacks like `publishArtifact := false`) for
115-
sbt modules that don't generate artifacts (often, the 'root' project in a multi-project build). This
116-
setting is respected by `sbt-version-policy` - it won't attempt to calculate compatibility on a module
117-
that doesn't publish artifacts.
118119
* In `releaseProcess`, you'll want _fewer_ steps than
119120
[the old list specified by `sbt-sonatype`](https://github.com/xerial/sbt-sonatype?tab=readme-ov-file#using-with-sbt-release-plugin),
120121
now just:

0 commit comments

Comments
 (0)