Commit Graph

11566 Commits

Author SHA1 Message Date
Eugene Yokota 31a6c60df3 Banner 2022-07-02 19:07:34 -04:00
eugene yokota 6d0ef2093d
Merge pull request #6943 from raboof/more-appropriate-error-when-no-versions-match
Show a more appropriate message when no Scala versions matches
2022-06-28 09:26:06 -04:00
Arnout Engelen 697e3bce51
Show a more appropriate message when no Scala versions matches
When switching scala versions with a wildcard, and no subproject
has a matching version to switch to, show a more appropriate error
message
2022-06-28 14:43:06 +02:00
eugene yokota 789ca334d7
Merge pull request #6942 from raboof/more-useful-logging-for-flexible-version-switch 2022-06-28 07:52:54 -04:00
Arnout Engelen 6a79bdb461
Show a more useful log message when doing a flexible version switch
Suggested by @SethTisue in https://github.com/sbt/sbt/pull/6894#issuecomment-1168042209

Will show multiple lines when different versions are selected for different subprojects.

When no subprojects have a matching Scala version you will get a
'Switch failed' exception anyway, so in that case there is no
change in behavior.
2022-06-28 07:59:13 +02:00
Eugene Yokota 498493599f 1.7.0-RC1 2022-06-27 04:08:31 -04:00
Eugene Yokota bec2be707a Fix sbtn building 2022-06-27 03:09:43 -04:00
eugene yokota 7cc6ad3d00
Merge pull request #6939 from eed3si9n/wip/cross-fix
[1.7.x] Filter incompatible Scala 3 projects in cross switch commands, take 2
2022-06-27 00:08:29 -04:00
eugene yokota 910ab1951f
Merge pull request #6846 from Nirvikalpa108/fix-deadlock
[1.7.x] Attempts to fix sbt#6810 - deadlock issue
2022-06-26 22:50:22 -04:00
Rui Gonçalves 705d3d58ce Filter incompatible Scala 3 projects in cross switch commands 2022-06-26 22:46:37 -04:00
eugene yokota c975982b41
Merge pull request #6938 from eed3si9n/wip/ipcsocket-1.5.0
[1.7.x] ipcsocket 1.5.0
2022-06-26 15:07:24 -04:00
Eugene Yokota 0598c9fdc1 ipcsocket 1.5.0
This bumps to ipcsocket 1.5.0, which fixes the temp directory cleanup
bug.
Fixes https://github.com/sbt/sbt/issues/6931
Fixes https://github.com/sbt/sbt/issues/6173
2022-06-26 14:37:12 -04:00
eugene yokota f9609bfc1a
Merge pull request #6937 from eed3si9n/wip/graal
[1.7.x] Build Graal native image using sbt-native-image
2022-06-26 14:32:45 -04:00
Eugene Yokota 21e5838cfd Build Graal native image using sbt-native-image 2022-06-26 13:25:58 -04:00
eugene yokota 105d13e15f
Merge pull request #6936 from raboof/fuzzy-switch-semantic-instead-of-glob
More flexible Scala version switch
2022-06-26 11:02:29 -04:00
Arnout Engelen 8973fce1fa
More flexible Scala version switch
By using SemanticSelector instead of custom globbing.

Follow-up on https://github.com/sbt/sbt/pull/6894,
fixes https://github.com/sbt/sbt/issues/6934
2022-06-26 12:43:41 +02:00
eugene yokota 1db7dd328a
Merge pull request #6935 from eed3si9n/wip/temp-directories
[1.7.x] Fix sbt trying to delete /tmp on ARM Macs
2022-06-25 20:23:39 -04:00
eugene yokota 2fc446b395
Merge pull request #6933 from adpi2/backport-6929
[1.7.x] Backport #6929: Fix publishing BSP diagnostics
2022-06-25 19:06:47 -04:00
Eugene Yokota 87dc5da93a Fix sbt trying to delete /tmp on ARM Macs
Problem
-------
There's a bug in ipcsocket cleanup logic that effectively
tries to wipe out /tmp.

Workaround
----------
We should fix the underlying bug, but we can start by
explicitly configuring the temp directories ipcsocket uses.

Ref https://github.com/sbt/sbt/issues/6931
2022-06-25 18:58:19 -04:00
Kamil Podsiadlo 7921cab7e3 fix: publishing bsp diagnostics
* do not publish bsp diagnostics if there were and there are no problems
* publish diagnostics if problems needs to be updated
2022-06-25 11:14:51 +02:00
eugene yokota 4a006cb79d
Merge pull request #6932 from eed3si9n/bport/6894
[1.7.x] Add support for wildcards in Scala version switch
2022-06-24 12:40:16 -04:00
Arnout Engelen cd915845db Add support for wildcards in Scala version switch
Picking from the `crossScalaVersions`

As discussed in https://github.com/sbt/sbt/discussions/6893
2022-06-24 01:41:38 -04:00
eugene yokota 99a1baa7a8
Merge pull request #6930 from sbt/eed3si9n-patch-1
Turn off Nightly
2022-06-19 21:41:13 -04:00
eugene yokota ac8a17d2a3
Turn off Nightly 2022-06-19 21:09:49 -04:00
eugene yokota f816aed059
Merge pull request #6924 from sbt/dependabot/github_actions/actions/cache-3.0.4
Bump actions/cache from 2.1.6 to 3.0.4
2022-06-13 13:41:40 -04:00
eugene yokota e8fcfd6152
Merge pull request #6923 from sbt/dependabot/github_actions/actions/setup-java-3
Bump actions/setup-java from 2 to 3
2022-06-13 13:41:22 -04:00
eugene yokota 203ec0dafa
Merge pull request #6922 from sbt/dependabot/github_actions/actions/setup-python-4
Bump actions/setup-python from 2 to 4
2022-06-13 13:41:07 -04:00
Eugene Yokota 171383f2ad Fix javadoc 2022-06-13 03:17:44 -04:00
eugene yokota 26cef6dcc2
Merge pull request #6921 from sbt/dependabot/github_actions/actions/checkout-3
Bump actions/checkout from 2 to 3
2022-06-13 03:04:31 -04:00
dependabot[bot] eb98dbf9c0
Bump actions/cache from 2.1.6 to 3.0.4
Bumps [actions/cache](https://github.com/actions/cache) from 2.1.6 to 3.0.4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v2.1.6...v3.0.4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 06:08:40 +00:00
dependabot[bot] 913a4789f3
Bump actions/setup-java from 2 to 3
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 2 to 3.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/v2...v3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 06:08:38 +00:00
dependabot[bot] 3376448701
Bump actions/setup-python from 2 to 4
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 4.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v2...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 06:08:36 +00:00
dependabot[bot] 4be80a8fa0
Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 06:08:33 +00:00
eugene yokota 290925fd99
Merge pull request #6916 from eed3si9n/wip/revert-6814
[1.7.x] Revert "Add support for scala-output-version flag in Scala 3"
2022-06-13 01:57:48 -04:00
eugene yokota a4b05466c4
Merge pull request #6917 from eed3si9n/wip/bump-scala
[1.7.x] Bump to Scala 2.12.16
2022-06-13 01:49:22 -04:00
Eugene Yokota d9e43ecfdf Revert "Add support for scala-output-version flag in Scala 3"
This reverts commit 1e89d71311.
2022-06-13 01:28:37 -04:00
Eugene Yokota d5889d3ce3 Bump to Scala 2.12.16 2022-06-13 01:27:24 -04:00
eugene yokota 6afc6b53be
Merge pull request #6919 from eed3si9n/wip/lm
[1.7.x] lm 1.7.0-M1
2022-06-13 01:25:32 -04:00
Eugene Yokota c04b2a4f73 lm 1.7.0-M1
This removes OkHttp dependency.
This also removes an experimental feature to customize HTTP for Ivy called
CustomHttp we added in sbt 1.3.0.
Since LM got switched to Coursier in 1.3.0, I don't think we advertized
CustomHttp.
2022-06-13 00:52:32 -04:00
eugene yokota 1b4b9f3618
Merge pull request #6907 from eed3si9n/bport/6887
[1.7.x] Use XDG_RUNTIME_DIR environment variable to choose the path used for the creation of sockets
2022-05-29 01:51:37 -04:00
Alonso Montero 120014bd65 Use XDG_RUNTIME_DIR environment variable to choose the path used for the creation of sockets (#6887)
The `XDG_RUNTIME_DIR` environment variable will be used to choose the base directory in which the sockets will be created by **sbt**. This can help when issues such as #6777 appear. There are other related issues, such as #6101, [Metals issue #2235](https://github.com/scalameta/metals/issues/2235), [Che issue #18394](https://github.com/eclipse/che/issues/18394). Those are closed issues, but there are some cases in which the solution does not work (such as the case in #6777). Furthermore, the solution given seems more like a workaround than an actual fix.

**What causes this issue?**
At least in my case, the **ServerAlreadyBootingException** is thrown after **sbt** tries to create a Unix domain socket and fails. In my specific environment, I was not able to create the sockets in some directories because they were mounted on an NFS. This prevented me from using any automated sbt command on any of those directories (Metals uses sbt under the hood, and it was not able to start because of the ServerAlreadyBootingException), which in turn resulted in me not being able to use Metals on a project that was created on any of those directories. 

**How is the issue solved in this PR?**
If the `XDG_RUNTIME_DIR` environment variable is set, then sockets will be created in a folder with a hashed name, inside the directory `XDG_RUNTIME_DIR/.sbt/`. If this variable is not set, everything works exactly the same as always.

Let's see an example:

1. My environment variable `XDG_RUNTIME_DIR` is set to /home/alonso/.runtime-dir`
2. I create my project in `/home/alonso/workspace/hello-world`
3. I run `sbt compile`
4. The socket is created in `/home/alonso/.runtime-dir/.sbt/sbt-socket102030405060/sbt-load.sock`. The number **102030405060** is a hash that is computed from the base directory of the project (it is actually the same hash that is produced in order to create sockets in Windows) and it will be different depending on the location of the project
5. The sbt command executed correctly, which would not have happened if the socket had been created in the `home/alonso/workspace` directory or any of its subdirectories (in this example, `/home/BlackDiamond/workspace` corresponds to a network file share)

Co-authored-by: Alonso Montero <lumontero@mobilize.net>
2022-05-28 23:38:56 -04:00
eugene yokota 359dbed6a8
Merge pull request #6902 from unkarjedy/oldshell-fix-1.7.x
"oldshell" command should use `OldShell` on failure instead of `Shell`
2022-05-25 12:18:33 -04:00
dmitrii.naumenko 9565e33ea8 "oldshell" command should use `OldShell` on failure instead of `Shell`
following up https://github.com/sbt/sbt/pull/3098
2022-05-23 19:58:41 +03:00
Eugene Yokota 053834aea0 Zinc 1.7.0-M2 2022-04-17 23:26:40 -04:00
eugene yokota 1ec23fa616
Merge pull request #6883 from eed3si9n/bport/6870
[1.7.x] Backport 6870, 6880, and 6882
2022-04-17 19:35:54 -04:00
Philippus 11275f604c Fix typos 2022-04-17 18:32:38 -04:00
Philippus 20a9269e79 Add SBTN_AUTO_COMPLETE environment variable 2022-04-17 18:32:30 -04:00
xuwei-k 45518c7f24 Update semanticdbVersion 2022-04-17 18:32:14 -04:00
Ethan Atkins ca7c872e27 Restore watchOnTermination
At some point the watchOnTermination callback stopped working. I'm not
exactly sure how or why that happened but it is fairly straightforward
to restore. The one tricky thing was that the callback has the signature
(Watch.Action, _, _, _) => State, which requires propagating the action
to the failWatch command. The easiest way to do this was to add a
mutable field to the ContinuousState. This is rather ugly and reflects
some poor design choices but a more comprehensive refactor is out of
the scope of this fix.

This commit adds a scripted test that ensures that the callback is
invoked both in the successful and unsuccessful watch cases. In each
case the callback deletes a file and we ensure that the file is indeed
absent after the watch exits.
2022-04-17 18:31:54 -04:00
Ethan Atkins 64c7071ff2 Move on-termination test 2022-04-17 18:31:45 -04:00