Commit Graph

17422 Commits

Author SHA1 Message Date
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
eugene yokota c57c466c10
Merge pull request #411 from mdedetrich/add-apache-maven-snapshot-repository
Add Apache Maven Snapshots Repository
2023-02-20 10:51:09 -05:00
eugene yokota e9a997fecd
Merge pull request #410 from armanbilge/feature/pom-release-notes-key
Add `POM_RELEASE_NOTES_KEY`
2023-02-20 10:50:56 -05:00
eugene yokota b5527cb358
Merge pull request #7153 from sbt/dependabot/github_actions/olafurpg/setup-scala-14
Bump olafurpg/setup-scala from 13 to 14
2023-02-20 10:40:54 -05:00
dependabot[bot] f9637e047f
Bump olafurpg/setup-scala from 13 to 14
Bumps [olafurpg/setup-scala](https://github.com/olafurpg/setup-scala) from 13 to 14.
- [Release notes](https://github.com/olafurpg/setup-scala/releases)
- [Commits](https://github.com/olafurpg/setup-scala/compare/v13...v14)

---
updated-dependencies:
- dependency-name: olafurpg/setup-scala
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-20 04:56:46 +00:00
Matthew de Detrich 63d3dccb9e
Add Apache Maven Snapshots Repository 2023-02-18 10:44:25 +01:00
adpi2 71d4f2c969
Update coursier to 2.1.0-RC6 (#445) 2023-02-16 14:53:04 +01:00
Arman Bilge 11ea11e382
Fix
Co-authored-by: Marco Zühlke <mzuehlke@gmail.com>
2023-02-12 22:54:19 -08:00
Arman Bilge 3cee90bd55 Add `POM_RELEASE_NOTES_KEY` 2023-02-13 04:05:10 +00:00
Arman Bilge 3cde7f8e07 Missing comma 2023-02-12 23:27:14 +00:00
Arman Bilge 3ce8008ae7 WIP support for `releaseNotesURL` 2023-02-10 06:19:39 +00:00
adpi2 78f9b318e2
Merge pull request #7142 from adpi2/bsp-java-diags
Fix forwarding Java diagnostics through BSP
2023-02-06 11:06:01 +01:00
Adrien Piquerez ecc4469c3e Test diagnostics from Java 2023-01-27 12:10:32 +01:00
Adrien Piquerez 799adcda2b Some refacto of BuildServerTest
Generate BSP ids automatically
2023-01-27 10:22:23 +01:00
Adrien Piquerez 9b4d5a5a5a Fix reporting Java diagnostics through BSP
Java diagnostics don't have a pointer but we should report them.
Copied implementation from Bloop to translate the position of an
xsbti.Problem to a BSP range.
2023-01-27 10:21:44 +01:00
Eugene Yokota b4564306d6 Move the project scripted tests to project1 2023-01-26 15:12:19 -05:00
Scala Steward e311405bab
Update sbt, scripted-plugin to 1.8.2 (#442) 2023-01-23 09:56:16 +01:00
Scala Steward 7e9f890e7c
Update scalatest to 3.2.15 (#443) 2023-01-23 09:56:08 +01:00
Scala Steward 990dea4606
Update coursier to 2.1.0-RC5 (#444) 2023-01-23 09:55:50 +01:00