diff --git a/.mill-version b/.mill-version index 5746d36d5..ac454c6a1 100644 --- a/.mill-version +++ b/.mill-version @@ -1 +1 @@ -0.11.12 \ No newline at end of file +0.12.0 diff --git a/build.sc b/build.sc index 3763f887a..cac003c33 100644 --- a/build.sc +++ b/build.sc @@ -190,6 +190,8 @@ trait AmmInternalModule extends CrossSbtModule with Bloop.Module { trait AmmTests extends super.Tests with TestModule.Utest { def ivyDeps = super.ivyDeps() ++ Agg(Deps.utest) def forkArgs = Seq("-Xmx2g", "-Dfile.encoding=UTF8") + def testForkGrouping = discoveredTestClasses().grouped(1).toSeq + def testSandboxWorkingDir = false } def allBoundIvyDeps = T { transitiveIvyDeps() ++ scalaLibraryIvyDeps().map(bindDependency()) } def sources = T.sources { @@ -909,6 +911,7 @@ def publishDocs(skipDeploy: Boolean = false): Command[Unit] = { "sbt", "readme/run" ).call( + cwd = T.workspace, env = Map( "AMMONITE_ASSEMBLY" -> ammoniteAssembly().path.toString, "CONSTANTS_FILE" -> generateConstantsFile(returnDirectory = false).toString @@ -969,6 +972,7 @@ def publishDocs(skipDeploy: Boolean = false): Command[Unit] = { "sbt", "readme/run" ).call( + cwd = T.workspace, env = Map( "AMMONITE_ASSEMBLY" -> ammoniteAssembly().path.toString, "CONSTANTS_FILE" -> constantsFile.toString diff --git a/mill b/mill index d400d4288..d03a045cb 100755 --- a/mill +++ b/mill @@ -3,10 +3,13 @@ # This is a wrapper script, that automatically download mill from GitHub release pages # You can give the required mill version with MILL_VERSION env variable # If no version is given, it falls back to the value of DEFAULT_MILL_VERSION -DEFAULT_MILL_VERSION=0.10.7 set -e +if [ -z "${DEFAULT_MILL_VERSION}" ] ; then + DEFAULT_MILL_VERSION=0.11.12 +fi + if [ -z "$MILL_VERSION" ] ; then if [ -f ".mill-version" ] ; then MILL_VERSION="$(head -n 1 .mill-version 2> /dev/null)" @@ -37,7 +40,7 @@ if [ ! -s "$MILL_EXEC_PATH" ] ; then fi DOWNLOAD_FILE=$MILL_EXEC_PATH-tmp-download MILL_VERSION_TAG=$(echo $MILL_VERSION | sed -E 's/([^-]+)(-M[0-9]+)?(-.*)?/\1\2/') - MILL_DOWNLOAD_URL="https://github.com/lihaoyi/mill/releases/download/${MILL_VERSION_TAG}/$MILL_VERSION${ASSEMBLY}" + MILL_DOWNLOAD_URL="https://repo1.maven.org/maven2/com/lihaoyi/mill-dist/$MILL_VERSION/mill-dist-$MILL_VERSION.jar" curl --fail -L -o "$DOWNLOAD_FILE" "$MILL_DOWNLOAD_URL" chmod +x "$DOWNLOAD_FILE" mv "$DOWNLOAD_FILE" "$MILL_EXEC_PATH" @@ -45,7 +48,20 @@ if [ ! -s "$MILL_EXEC_PATH" ] ; then unset MILL_DOWNLOAD_URL fi +if [ -z "$MILL_MAIN_CLI" ] ; then + MILL_MAIN_CLI="${0}" +fi + +MILL_FIRST_ARG="" + + # first arg is a long flag for "--interactive" or starts with "-i" +if [ "$1" = "--bsp" ] || [ "${1#"-i"}" != "$1" ] || [ "$1" = "--interactive" ] || [ "$1" = "--no-server" ] || [ "$1" = "--repl" ] || [ "$1" = "--help" ] ; then + # Need to preserve the first position of those listed options + MILL_FIRST_ARG=$1 + shift +fi + unset MILL_DOWNLOAD_PATH unset MILL_VERSION -exec $MILL_EXEC_PATH "$@" +exec $MILL_EXEC_PATH $MILL_FIRST_ARG -D "mill.main.cli=${MILL_MAIN_CLI}" "$@"