Commit Graph

17847 Commits

Author SHA1 Message Date
Eugene Yokota 26917d7de4 1.9.0-RC1 2023-05-01 01:39:32 -04:00
eugene yokota d8725e245e
Merge pull request #7228 from eed3si9n/wip/new
sbt new, a text-based adventure
2023-05-01 00:27:47 -04:00
eugene yokota c41a4e0d66
Merge pull request #455 from coursier/dependabot/github_actions/coursier/setup-action-1.3.3
Bump coursier/setup-action from 1.3.2 to 1.3.3
2023-05-01 00:21:19 -04:00
Eugene Yokota a033c37d6e sbt new, a text-based adventure
**Problem**
You want to get started with sbt, and you don't know
which template to get started with.

**Solution**
This implements an interactive menu on `sbt new` command
when invoked without an argument to list template candidates.

The first option is `scala/toolkit.local`, which locally creates
an sbt build without calling out to Giter8 (GitHub).
2023-04-30 23:36:06 -04:00
dependabot[bot] a810143b95
Bump coursier/setup-action from 1.3.2 to 1.3.3
Bumps [coursier/setup-action](https://github.com/coursier/setup-action) from 1.3.2 to 1.3.3.
- [Release notes](https://github.com/coursier/setup-action/releases)
- [Commits](https://github.com/coursier/setup-action/compare/v1.3.2...v1.3.3)

---
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-05-01 01:58:00 +00:00
eugene yokota d23649f778
Merge pull request #7227 from yoshinorin/chore/use-sonatypeOssRepos
Use `sonatypeOssRepos` instead of `sonatypeRepo`
2023-04-30 12:51:16 -04:00
yoshinorin e590740467
Use `sonatypeOssRepos` instead of `sonatypeRepo` 2023-05-01 00:11:33 +09:00
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