Commit Graph

17940 Commits

Author SHA1 Message Date
eugene yokota 48cacd312e
Merge pull request #7226 from eed3si9n/wip/bump 2023-04-30 11:09:40 -04:00
Eugene Yokota f98c4fff3b Update modules 2023-04-30 00:56:11 -04:00
eugene yokota 2035d9fb30
Merge pull request #7225 from eed3si9n/wip/coursier
Update to lm-coursier-shaded 2.1.0
2023-04-29 23:34:35 -04:00
Eugene Yokota 7dd69e702b Update to lm-coursier-shaded 2.1.0 2023-04-29 23:10:35 -04:00
eugene yokota 6aa29b5d91
Merge pull request #7224 from eed3si9n/wip/launcher
Update to launcher 1.4.2
2023-04-29 22:35:40 -04:00
Eugene Yokota 5c8826a394 Update to launcher 1.4.2 2023-04-29 22:07:08 -04:00
eugene yokota e37518ed83
Merge pull request #454 from eed3si9n/wip/bump
Update coursier to 2.1.2
2023-04-29 21:42:41 -04:00
Eugene Yokota 83b0cb81ba Update coursier to 2.1.2
**Problem**
Coursier bump PR is currently failing due to shading of zstd.

**Solution**
1. Rather than updating the shading rule, this excludes zstd out of the
   transitive since we likely won't need it.
2. Update coursier to 2.1.2.
2023-04-29 19:16:07 -04:00
eugene yokota 0abc01f5cb
Merge pull request #452 from coursier/dependabot/github_actions/coursier/setup-action-1.3.2
Bump coursier/setup-action from 1.3.0 to 1.3.2
2023-04-29 18:42:47 -04:00
eugene yokota 84f18156bf
Merge pull request #7171 from liang3zy22/sbtusageinfo
Update usage info in sbt for java-home
2023-04-27 16:40:19 -04:00
Liang Yan 80fe184273 Update usage info in sbt for java-home
Signed-off-by: Liang Yan <ckgppl_yan@sina.cn>
2023-04-27 07:53:45 +08:00
eugene yokota df738abbbd
Merge pull request #7215 from dragos/expose/external-hooks-public
Expose RunProfiler to the build
2023-04-25 11:49:28 -04:00
adpi2 b404431de4
Merge pull request #414 from eed3si9n/wip/integrationtest
Deprecate IntegrationTest
2023-04-25 12:07:11 +02:00
Iulian Dragos 6dfebc689b
Add a key for Zinc listeners.
Expose what the incremental compiler is doing behind the scenes. The RunProfiler interface has been part of Zinc for a while, but this allows the build itself, or an Sbt plugin, to hook their own implementation.

We expose a list of such listeners to avoid plugins stepping on each other and replacing an existing listener.
2023-04-25 12:00:02 +02:00
Eugene Yokota 7d052bde8f Deprecate IntegrationTest
We plan to remove IntegrationTest configuration.
See https://eed3si9n.com/sbt-drop-custom-config/ for details.
2023-04-24 01:14:49 -04:00
dependabot[bot] 005f2137d1
Bump coursier/setup-action from 1.3.0 to 1.3.2
Bumps [coursier/setup-action](https://github.com/coursier/setup-action) from 1.3.0 to 1.3.2.
- [Release notes](https://github.com/coursier/setup-action/releases)
- [Commits](https://github.com/coursier/setup-action/compare/v1.3.0...v1.3.2)

---
updated-dependencies:
- dependency-name: coursier/setup-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-24 01:57:16 +00:00
Iulian Dragos 9301bc2589
Make externalHooks public
This key has been added in 4061dabf4d but it is only available to Sbt itself. Since ExternalHooks is a Java interface, defined in Zinc for a while and fairly stable, I think this should be safe to do.

My main  motivation is to allow installing an InvalidationProfiler from an Sbt plugin, thus gaining access to zinc recompilation decisions. See related PR https://github.com/sbt/zinc/pull/1181
2023-04-18 15:13:09 +03:00
adpi2 e1b0b25418
Merge pull request #7201 from adpi2/sbt-plugin-toggle
[1.9.x] Add `sbtPluginPublishLegacyMavenStyle` to publish to Artifactory
2023-04-12 09:55:13 +02:00
eugene yokota 0078228039
Merge pull request #7213 from adpi2/fix-7210
[1.9.x] Fix cross-publish sbt plugin to Maven
2023-04-11 14:19:01 -04:00
Adrien Piquerez 9e0a728c58 Add sbtPluginPublishLegacyMavenStyle to publish to Artifactory
Artifactory rejects the legacy artifacts of sbt plugin.
It is now possible to publish to Artifactory
by turning `sbtPluginPublishLegacyMavenStyle` off.
2023-04-11 16:56:24 +02:00
Adrien Piquerez 5436ed5ef8 Fix cross-publish sbt plugin to Maven 2023-04-11 11:43:44 +02:00
eugene yokota 48dc7b24ea
Merge pull request #413 from nrinaudo/7195-maven-settings 2023-04-09 13:27:58 -04:00
Nicolas Rinaudo e8cce49ba6 Expand properties found in maven settings 2023-04-09 15:46:23 +02:00
Scala Steward 8a921c6872
Update sbt-mima-plugin to 1.1.2 (#448) 2023-03-31 19:15:52 +02:00
adpi2 60ea2a5334
Merge pull request #7191 from adpi2/fix-deadlock
[1.9.x] Fix dead lock between `LoggerContext` and `Terminal`
2023-03-28 16:25:36 +02:00
Adrien Piquerez da4ce68142 Fix dead lock between LoggerContext and Terminal 2023-03-28 14:08:15 +02:00
Eugene Yokota 6fee91bbff Don't apply platform substitution to % 2023-03-12 19:06:18 -04:00
Eugene Yokota 72af500294 Subsume platform cross building
Problem
-------
In sbt 1, platform cross building is implemented using in the user-land
using `%%%` operator, which clevery handles both Scala cross building
and appending platform suffix like sjs1.
However, in general symbolic `%%%` is confusing, and hard to explain.

Solution
--------
In sbt 2, we should subsume the idea of platform cross building,
so `%%` can act as the current `%%%` operator.
This adds a new setting called `platform`, which defaults to
`Platform.jvm` by default.
When a subprojects sets it to `Platform.sjs1`, `ModuleID`s defined using
`%%` operator will inject the platform suffix `_sjs1` **in addition**
to the Scala binary suffix `_2.13` etc.

Note: Explicit JVM dependencies will now require `.platform(Platform.jvm)`.
2023-03-12 13:38:56 -04:00
Eugene Yokota 47ef80eadf Subsume platform cross building
Problem
In sbt 1, platform cross building is implemented using in the user-land
using `%%%` operator, which clevery handles both Scala cross building
and appending platform suffix like sjs1.
However, in general symbolic `%%%` is confusing, and hard to explain.

Solution
In sbt 2, we should subsume the idea of platform cross building,
so `%%` can act as the current `%%%` operator.
This adds a new field called `platformOpt` to `ModuleID`, which
by default will be set to `None`.
`ScalaModuleInfo` will also add a new field called `platform`,
which can be set to `None`, `Some(sjs1)` etc.
As part of module transformation (like adding `_2.13`), the library
management engine can transform `ModuleID` to `sjs1` etc.
`("com.github.scopt" %% "scopt" % "4.1.0").platform(jvm)` will
explicitly use the JVM version of dependency (equivalent to today's `%%`).
2023-03-12 03:25:29 -04:00
Eugene Yokota f0c54a9fe9 Make some tests working 2023-03-12 03:25:29 -04:00
Eugene Yokota 5581b0c31c Cast module 2023-03-12 03:25:29 -04:00
Eugene Yokota dbaa34bdac Interpret bare settings are common settings
See https://eed3si9n.com/simplifying-sbt-with-common-settings/

Problem
-------
The behavior of bare settings is confusing in a multi-project build.
This is partly due to the fact that to use `ThisBuild` scoping
the build user needs to be aware of the task implementation,
and know if the task is already defined at project level.

Solution
--------
This changes the interpretation of the baresettings to be common
settings, which works similar to the way `ThisBuild` behaves in sbt 1.x,
but since this would be a simple append at project-level, it should
work for any tasks or settings.
2023-03-11 17:02:07 -05:00
Eugene Yokota 32ac1ef7da Formatting 2023-03-11 17:02:07 -05:00
eugene yokota 4a470dcd17
Merge pull request #7148 from armanbilge/feature/release-notes-url
Add `releaseNotesURL` setting
2023-03-07 10:37:46 -05:00
eugene yokota 28d5ba894f
Merge pull request #7169 from mdedetrich/improve-grammer-in-key-description 2023-03-04 09:24:14 -05:00
Matthew de Detrich 714e4175b3
Improve grammar on skip key description 2023-03-04 09:19:17 +01:00
eugene yokota 51da437f22
Merge pull request #7165 from mdedetrich/make-skip-work-on-publish-local
Make skip work on publishLocal
2023-03-03 22:01:28 -05:00
Matthew de Detrich 2a332a56a9
Make skip work on publishLocal 2023-03-03 16:09:44 +01:00
Arman Bilge 414c3a4358 Add test for `apiURL` 2023-02-28 18:08:29 +00:00
Arman Bilge 1a2b2467b4 Add test for `releaseNotesURL` 2023-02-28 18:05:27 +00:00
eugene yokota 894789cd36
Merge pull request #7096 from adpi2/sbt-plugins-maven-path
[1.9.x] Smooth transition to valid Maven pattern of sbt plugins
2023-02-28 11:00:18 -05:00
Arman Bilge ed29e35f41 Bump lm, use release notes key 2023-02-28 06:08:13 +00:00
Vedant c13e05a493
Create winget.yml 2023-02-27 14:57:36 +05:30
Adrien Piquerez ada716fc1f Bump librarymanagement to 1.9.0-M1 2023-02-27 09:42:36 +01:00
adpi2 67ee08e964
Merge pull request #409 from adpi2/sbt-plugins-maven-path
Try resolve sbt plugin from valid Maven pattern
2023-02-23 09:13:28 +01:00
Adrien Piquerez d05913f3b9 Bump lm-coursier-shaded to 2.0.16 2023-02-22 10:09:26 +01:00
Adrien Piquerez 8020ec4d7c Smooth transition to valid Maven pattern of sbt plugin
For an sbt plugin, we publish two POM files, the legacy one, and the
new Maven compatible one. The name of the new POM file contains the sbt
cross-version _2.12_1.0. The format of the new POM file is also slightly
different, because we append the sbt cross-version to all artifactIds of
sbt plugins. Hence Maven can resolve the new sbt plugin POM and its
dependencies.

When resolving an sbt plugin, we first try to resolve the new Maven POM
and if it fails we fallback on the legacy one. When parsing the new POM
format, we remove the sbt cross-version from all artifact IDs so that
there is no mismatch between old and new format of dependencies.
2023-02-22 10:09:26 +01:00
Adrien Piquerez 8e64caae8f Add scripted to test the sbt plugin resolution
As of sbt 1.9, we publish deprecated and valid poms. In this test
we check that sbt resolve the valid pom of an sbt plugin and fallback
to the deprecated pom if the valid pom cannot be found.
2023-02-22 10:09:26 +01:00
eugene yokota a326ee19c6
Merge pull request #7154 from mzuehlke/replace_olafurpg-setup-scala
Replace olafurpg/setup-scala with actions/setup-java
2023-02-21 00:08:52 -05:00
Marco Zühlke 8e4e2067fc Replace olafurpg/setup-scala with actions/setup-java
https://github.com/olafurpg/setup-scala/releases/tag/v14 is deprecated and migration to actions/setup-java is encouraged.
That action is already used in `ci.yml`
2023-02-20 21:14:51 +01:00