A modern replacement for the Bash system shell. Provides a systems shell in
the high-level Scala language, letting you seamlessly mix system operations
with real code without the hassle or the frustration of trying to write
complex code in Bash.
Ammonite lets you use the Scala language for scripting purposes: in a
Read-Evaluate-Print-Loop (REPL), as scripts, as a library to use
in existing projects, or as a standalone systems shell.
WWW: https://ammonite.io/
To use ammonite as a shell you must(!) setup a configuration file
~/.ammonite/predef.sc with a least the following minimal content:
interp.load.ivy(
"com.lihaoyi" %% "ammonite-ops" % ammonite.Constants.version
)
interp.load.ivy(
"com.lihaoyi" %
s"ammonite-shell_${scala.util.Properties.versionNumberString}" %
ammonite.Constants.version
)
// This @ is necessary for Ammonite to process the `interp.load.ivy`
// before continuing.
@
val shellSession = ammonite.shell.ShellSession()
import shellSession._
import ammonite.ops._
import ammonite.shell._
ammonite.shell.Configure(interp, repl, wd)
shells/ammonite: Update to 2.5.1 and MOVE
The authors removed the shell functionality but it is still a good dev-tool.
Changelog
---------
* Added support for Scala 2.13.8
* Re-added old Main entry point for better compatibility with Ammonite 2.4 and
older
* Dropped built-in support for shell operations
* move from shells/ammonite to devel/ammonite
PR: 261191
Reported by: freebsd-ports@jan0sch.de (maintainer)
shells/ammonite: Update to 2.4.0
* Bump version of uPickle to 1.4.0
* Internal preparation for basic Scala 3 support
PR: 256602
Approved by: maintainer
shells/ammonite: Update to 2.1.4
From ChangeLog (https://ammonite.io/#2.1.4):
* Handle SIGINT When Reading User Input
* rebootstrap mill
* Ensure -Ymacro-annotations works fine
* Fix 2.12.1 compilation
* several fixes and support for Coursier and BSP
* switch to Scala 2.13 ammonite version for the port
PR: 246522
Submitted by: reebsd-ports@jan0sch.de (maintainer)
Update to 2.0.1
Changelog:
* Bump PPrint to 0.5.7, FastParse to 2.2.2, uPickle to 0.9.6, Requests to 0.4.7
* Fix @main method handling in scripts run via --class-based
* Bump OS-Lib, uPickle and Requests-Scala versions, for compatibility with the
geny.Writable interface
PR: 242956
Submitted by: Jens Grassel <freebsd-ports@jan0sch.de> (maintainer)
Sponsored by: Netzkommune GmbH
Upgrade shell/ammonite from v1.6.4 to v1.6.5
Changelog : http://ammonite.io/#1.6.5
- Don't keep resolutions involving snapshot artifacts or
version intervals in the resolution cache of Ammonite
- Switch to coursier 1.1.0-M13
- Fix various issues with class-based wrapper (--class-based)
PR: 236821
Submitted by: Jens Grassel <freebsd-ports@jan0sch.de> (maintainer)
New port: shells/ammonite
A modern replacement for the Bash system shell. Provides a systems shell in
the high-level Scala language, letting you seamlessly mix system operations
with real code without the hassle or the frustration of trying to write
complex code in Bash.
Ammonite lets you use the Scala language for scripting purposes: in a
Read-Evaluate-Print-Loop (REPL), as scripts, as a library to use
in existing projects, or as a standalone systems shell.
WWW: https://ammonite.io/
PR: 235759
Submitted by: Jens Grassel <jan0sch@mykolab.com>