Mill is your shiny new Java/Scala build tool! Scared of SBT?
Melancholy over Maven? Grumbling about Gradle? Baffled by Bazel?
Give Mill a try!
Mill aims for simplicity by re-using concepts you are already
familiar with, borrowing ideas from modern tools like Bazel, to let
you build your projects in a way that's simple, fast, and predictable.
Mill has built in support for the Scala programming language, and
can serve as a replacement for SBT, but can also be extended to
support any other language or platform via modules (written in Java
or Scala) or through external subprocesses.
Mk/**java.mk: Convert bsd.java.mk to USES
The following features have been added or changed:
- Instead of USE_JAVA use USES=java. This defaults to
USES=java:build,run if NO_BUILD is undefined. Else it defaults to
USES=java:run
- Instead of USE_ANT=yes use USES=java:ant which also implies
USES=java:build
- Instead of JAVA_BUILD=yes use USES=java:build. Does not imply run or
extract
- Instead of JAVA_EXTRACT=yes use USES=java:extract does not imply
build or run
- Instead of JAVA_RUN=yes use USES=java:run does not imply extract or
build
- Instead of USE_JAVA=<version> use USES=java and JAVA_VERSION=<version>
Approved by: mat (portmgr), glewis
Differential Revision: https://reviews.freebsd.org/D48201
devel/mill: Update to 0.11.6
Changelog: https://mill-build.com/mill/Changelog.html#0-11-6
Changelog
---------
- Make PathRef robust against concurrent filesyste modifications
- Use logger error stream for informational messages
- Harden assembly logic against Zip-Slip vulnerabilities
- Add an option to disable incremental compilation with zinc
- Add check for right Tests traits in ScalaJS and Native
- Attempt to recover from client/server connection errors
- Fix discovery of targets whose names get mangled
- Make mill show skip -j prefixes to ensure machine readability
(Only the first 15 lines of the commit message are shown above )
*/*: Refactor java/openjdk7 removal
- java/openjdk7* has been removed from the tree since 2022-09-03 however
the relevant codebases in bsd.java.mk has not been removed and the
consumers has also not been updated to use the next jdk version. This
commit updates all relevant consumers to use JAVA_VERSION=8 instead of
JAVA_VERSION=1.7
- Since the introduction of jdk version 18 it looks like similar with
jdk version 8(java version string 1.8). This is prone to error as it
looks similar and is only seperated by a '.'. Remove using
JAVA_VERSION with dotted fomat of java version string and update all
consumers to utilize version 8 instead of 1.8.
Approved by: portmgr (blanket)
devel/mill: Update to 0.10.9
ChangeLog: https://github.com/com-lihaoyi/mill/releases
* Fix regular expression in docs
* Use latest Mill version and extend Mima checks
* Update Scala to 2.13.10
* Remove jetty dependencies from Scala.js worker
* Update transitive dependencies
* Switched to external mill-moduledefs dependency
* Don't loose moduleDeps from super traits in PublishModule
* Reformatted sources
* Avoid calling sbt deprecated methods, stop using log4j
* Share all play (test) versions from main builds
* Add actual Mill cli as sysprop and use it in BSP config
* Add JMH contrib module
* GenIdea: Infer more values for Scala language-level
* Catch even more coursier concurrency glitches, some consolidations
* Harden GAV handling in Dep and Artifact
PR: 267852
Reported by: freebsd-ports@jan0sch.de
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
devel/mill: Update to 0.10.3
- Fixed `import $file` for files with hyphens and other symbols in its name
- Fixed an issues with truncated output just before Mill finishes
- Mill commands now support arguments of type `Task[T]`, which can improve
writing re-usable commands, especially, they can be called from othe
tasks more easily
- `JavaModule`: Improved correctness and performance of `compileClasspath`
and `bspCompileClasspath` targets. This fixes an issue with BSP for large
projects. Also, compile-time dependencies no longer sneak into the
classpath transitively.
- `JavaModule`: Added `docJarUseArgsFile` target and fix issue with Windows
command length restrictions in `docJar`
- `BSP` and `Bloop`: Better detect foreign modules
- Various internal API refinements and improvements
- Reorganized integration test suite and build setup
PR: 263314
devel/mill: Update to 0.9.11
Changelog
---------
- BSP: Fixed/improved source item for root project
- Bloop: Prevent compilation during bloop config generation
- GenIdea: Fix content path of root project (mill-build)
- Various version bumps
- Some feature backports from mill 0.10
- New + separator to provide multiple targets (with parameters) via cmdline
- New --import cmdline option to run ad-hoc plugins without editing of build.sc
- import $ivy support $MILL_BIN_PLATFORM variable and a new sort notations for
external plugins
- zinc worker: Updated log4j2 to 2.16.0 to fix Log4Shell (CVE-2021-44228)
vulnerability
PR: 260634
devel/mill Update to 0.9.6
Changelog:
* repl and console targets now support forkArgs and forkEnv
* Support for Scala 3 release candidates and new Scaladoc 3 tool
* Support for Scala.js on Scala 3
* Scala Native improvements
* Test runner now uses an args file to support running tests on Windows
* GenIdea: better supports source jars, full config contributions and
provided/runtime dependencies
* Various dependency updates
* Documentation site reworked to support multiple release versions
* Improved CI setup to better test mill on Windows
PR: 254886
Reported by: freebsd-ports@jan0sch.de (maintainer)
devel/mill: Update to 0.7.1
* GenIdea: Use new content element for each source path
* Respect `skipIdea` in more places
* Fix generator for ivy.xml when using extra publish artifacts
* Fix Sonatype requests retrying too fast
* Made scoverage more robust and better configurable
* Added .mill-version file
* Scala 2.13.2
* Disable client daemon mode in WSL
* Avoid duplicate target with __ and fix resolve __
* try to avoid weird 'Cleaner terminated abnormally' error
* Upgrade coursier
* fix the lineCount task to use correct os methods
* Align JNA API/platform version
(Only the first 15 lines of the commit message are shown above )
devel/mill: Update to 0.5.0
Changelog:
- several bug fixes
- ease declaration of optional dependencies
- use binary version of compiler bridge if available
- add ability to define jar manifest
PR: 239943
Submitted by: Jens Grassel <freebsd-ports@jan0sch.de> (maintainer)
Update to 0.4.0
Changelog:
- Publish compileIvyDeps as provided scope
- Added contrib modules to integrate Bloop, Flyway, Play Framework, Scoverage
- Allow configuration of GPG key names when publishing
- Bump Ammonite version to 1.6.7, making Requests-Scala available to use in your
build.sc
- Support for Scala 2.13.0-RC2
- ScalaFmt support now uses the version specified in .scalafmt.conf
PR: 237993
Submitted by: Jens Grassel <freebsd-ports@jan0sch.de> (maintainer)
Sponsored by: Netzkommune GmbH
New port: devel/mill
Mill is your shiny new Java/Scala build tool! Scared of SBT?
Melancholy over Maven? Grumbling about Gradle? Baffled by Bazel?
Give Mill a try!
Mill aims for simplicity by re-using concepts you are already
familiar with, borrowing ideas from modern tools like Bazel, to let
you build your projects in a way that's simple, fast, and predictable.
Mill has built in support for the Scala programming language, and
can serve as a replacement for SBT, but can also be extended to
support any other language or platform via modules (written in Java
or Scala) or through external subprocesses.
WWW: https://www.lihaoyi.com/mill/
PR: 235861
Submitted by: Jens Grassel <freebsd-ports@jan0sch.de>