You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
You can shorten or simplify a Scala CLI command by using an `@argument` file to specify a text file that contains compiler arguments.
15
+
```text title=args.txt
16
+
-d
17
+
outputDirectory
18
+
```
19
+
The feature may help to work around the [Windows command line character limit](https://learn.microsoft.com/en-us/troubleshoot/windows-client/shell-experience/command-line-string-limitation),
20
+
among other things, making sure your scripts run on any operating system of your choice.
21
+
```bash
22
+
scala-cli run -e 'println("Hey, I am using an @args file!")' @args.txt
23
+
```
24
+
The feature works similarly to the [command-line argument files feature of Java 9](https://docs.oracle.com/javase/9/tools/java.htm#JSWOR-GUID-4856361B-8BFD-4964-AE84-121F5F6CF111)
25
+
and fixes backwards compatibility with the old `scala` runner (pre-Scala-3.5.0).
26
+
27
+
Added by [@kasiaMarek](https://github.com/kasiaMarek) in [#3012](https://github.com/VirtusLab/scala-cli/pull/3012)
28
+
29
+
### Explicitly enable or disable multithreading in Scala Native
30
+
It is now possible to explicitly enable or disable multithreading in Scala Native builds.
31
+
You can do it by setting the `//> using nativeMultithreading` directive:
32
+
```scala title=native_multithreading.sc
33
+
//> using platform native
34
+
//> using nativeMultithreading
35
+
import scala.concurrent._
36
+
import scala.concurrent.duration._
37
+
import ExecutionContext.Implicits.global
38
+
val promise = Promise[Int]()
39
+
val thread = new Thread(new Runnable {
40
+
def run(): Unit = {
41
+
Thread.sleep(100)
42
+
promise.success(42)
43
+
}
44
+
})
45
+
thread.start()
46
+
val result = Await.result(promise.future, 2.seconds)
47
+
println(result)
48
+
```
49
+
Or the `--native-multithreading` command line option:
50
+
```bash
51
+
scala-cli run native_multithreading.sc --native --native-multithreading
52
+
```
53
+
Added by [@Gedochao](https://github.com/Gedochao) in [#3011.](https://github.com/VirtusLab/scala-cli/pull/3011.)
54
+
55
+
### Features
56
+
* Add a command line option & directive for enabling/disabling Scala Native multithreading by [@Gedochao](https://github.com/Gedochao) in [#3011](https://github.com/VirtusLab/scala-cli/pull/3011)
57
+
* feat: allow to pass scalac options using files by [@kasiaMarek](https://github.com/kasiaMarek) in [#3012](https://github.com/VirtusLab/scala-cli/pull/3012)
58
+
59
+
### Fixes
60
+
* fix for 2954 running script in root dir by [@philwalk](https://github.com/philwalk) in [#2988](https://github.com/VirtusLab/scala-cli/pull/2988)
61
+
* Pass `javaHome` to Bloop by [@kasiaMarek](https://github.com/kasiaMarek) in [#2985](https://github.com/VirtusLab/scala-cli/pull/2985)
62
+
* bugfix: Print info diagnostics by [@tgodzik](https://github.com/tgodzik) in [#2990](https://github.com/VirtusLab/scala-cli/pull/2990)
63
+
* Ensure BSP respects --power mode by [@Gedochao](https://github.com/Gedochao) in [#2997](https://github.com/VirtusLab/scala-cli/pull/2997)
64
+
* Add Scala to pure Java test builds by [@Gedochao](https://github.com/Gedochao) in [#3009](https://github.com/VirtusLab/scala-cli/pull/3009)
65
+
* Fix --offline mode for scala-cli as scala installation via coursier by [@Gedochao](https://github.com/Gedochao) in [#3029](https://github.com/VirtusLab/scala-cli/pull/3029)
66
+
67
+
### Documentation changes
68
+
* Fix typo in docs by [@ghostdogpr](https://github.com/ghostdogpr) in [#2996](https://github.com/VirtusLab/scala-cli/pull/2996)
69
+
* docs: remove `.` from command snippet by [@spaceunifyfifty](https://github.com/spaceunifyfifty) in [#2998](https://github.com/VirtusLab/scala-cli/pull/2998)
70
+
71
+
### Updates
72
+
* Update scala-cli.sh launcher for 1.4.0 by [@github-actions](https://github.com/features/actions) in [#2992](https://github.com/VirtusLab/scala-cli/pull/2992)
73
+
* Update winget-releaser to latest by [@vedantmgoyal9](https://github.com/vedantmgoyal9) in [#2991](https://github.com/VirtusLab/scala-cli/pull/2991)
74
+
* Update ammonite to 3.0.0-M2-13-23a8ef64 by [@scala-steward](https://github.com/scala-steward) in [#2989](https://github.com/VirtusLab/scala-cli/pull/2989)
75
+
* Update Scala 3 Next RC to 3.5.0-RC2 by [@scala-steward](https://github.com/scala-steward) in [#2981](https://github.com/VirtusLab/scala-cli/pull/2981)
76
+
* chore: Bump outdated `javac-semanticdb` plugin to 0.10.0 by [@tgodzik](https://github.com/tgodzik) in [#3004](https://github.com/VirtusLab/scala-cli/pull/3004)
77
+
* Update Scala 3 Next RC to 3.5.0-RC3 by [@scala-steward](https://github.com/scala-steward) in [#3002](https://github.com/VirtusLab/scala-cli/pull/3002)
78
+
* Update sbt to 1.10.1 by [@scala-steward](https://github.com/scala-steward) in [#3015](https://github.com/VirtusLab/scala-cli/pull/3015)
79
+
* Bump Scala 3 Next RC to 3.5.0-RC4 by [@Gedochao](https://github.com/Gedochao) in [#3018](https://github.com/VirtusLab/scala-cli/pull/3018)
80
+
* Swap `scalameta` `trees` for `semanticdb-shared` & bump `scalameta` to 4.9.8 by [@Gedochao](https://github.com/Gedochao) in [#3017](https://github.com/VirtusLab/scala-cli/pull/3017)
81
+
* Update Scala 3 Next RC to 3.5.1-RC1 by [@scala-steward](https://github.com/scala-steward) in [#3027](https://github.com/VirtusLab/scala-cli/pull/3027)
82
+
83
+
## New Contributors
84
+
* [@vedantmgoyal9](https://github.com/vedantmgoyal9) made their first contribution in [#2991](https://github.com/VirtusLab/scala-cli/pull/2991)
85
+
* [@ghostdogpr](https://github.com/ghostdogpr) made their first contribution in [#2996](https://github.com/VirtusLab/scala-cli/pull/2996)
86
+
* [@spaceunifyfifty](https://github.com/spaceunifyfifty) made their first contribution in [#2998](https://github.com/VirtusLab/scala-cli/pull/2998)
0 commit comments