Skip to content

Commit fb54c5e

Browse files
committed
Build definition on Mill 0.13
1 parent dda3105 commit fb54c5e

File tree

8 files changed

+62
-32
lines changed

8 files changed

+62
-32
lines changed

.mill-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.12.5
1+
0.13.0-M0-93-a6992e

.scalafix.conf

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,14 @@ rules = [
33
DisableSyntax
44
LeakingImplicitClassVal
55
NoValInForComprehension
6-
ProcedureSyntax
6+
NoAutoTupling
7+
OrganizeImports
8+
RedundantSyntax
79
]
810

11+
OrganizeImports.targetDialect = Auto
912
DisableSyntax.noVars = true
10-
DisableSyntax.noThrows = true
13+
DisableSyntax.noThrows = false
1114
DisableSyntax.noNulls = true
1215
DisableSyntax.noReturns = true
1316
DisableSyntax.noAsInstanceOf = true

.scalafmt.conf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
version = 3.8.6
1+
version = 3.9.0
22
runner.dialect = scala213source3
33
project.git = true
44
maxColumn = 120
55
align.preset = more
66
assumeStandardLibraryStripMargin = true
7-
rewrite.rules = [AvoidInfix, SortImports, RedundantBraces, RedundantParens, SortModifiers]
7+
rewrite.rules = [AvoidInfix, RedundantBraces, RedundantParens, SortModifiers, Imports]
88
rewrite.redundantBraces.stringInterpolation = true
9-
spaces.afterTripleEquals = true
9+
rewrite.imports.sort = original

build.mill

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
1-
import $ivy.`com.goyeau::mill-git::0.2.6`
2-
import $ivy.`com.goyeau::mill-scalafix::0.4.2`
1+
import $repo.`https://oss.sonatype.org/content/repositories/snapshots`
2+
import $ivy.`com.goyeau::mill-git::0.2.7-8-118f733-SNAPSHOT`
3+
import $ivy.`com.goyeau::mill-scalafix::0.5.1-1-e3aa1ee-SNAPSHOT`
34
import $ivy.`org.typelevel::scalac-options:0.1.7`
45
import com.goyeau.mill.git.{GitVersionModule, GitVersionedPublishModule}
56
import com.goyeau.mill.scalafix.StyleModule
6-
import mill._
7+
import mill.*
78
import mill.Task.dest
8-
import mill.scalalib._
9+
import mill.define.Cross
10+
import mill.scalalib.*
911
import mill.scalalib.publish.{Developer, License, PomSettings, VersionControl}
10-
import org.typelevel.scalacoptions.ScalacOptions._
12+
import org.typelevel.scalacoptions.ScalacOptions.*
1113
import org.typelevel.scalacoptions.{ScalaVersion, ScalacOptions}
1214

1315
object `mill-git` extends Cross[MillGitCross]("0.12.0", "0.13.0-M0-93-a6992e")
14-
trait MillGitCross extends Cross.Module[String] with StyleModule with GitVersionedPublishModule {
15-
val millVersion = crossValue
16-
override def scalaVersion = millVersion match {
16+
trait MillGitCross extends Cross.Module[String] with StyleModule with GitVersionedPublishModule:
17+
val millVersion = crossValue
18+
override def scalaVersion = millVersion match
1719
case millVersion if millVersion.startsWith("0.12") => "2.13.16"
1820
case millVersion if millVersion.startsWith("0.13") => "3.6.3"
19-
}
2021
override def scalacOptions = super.scalacOptions() ++ ScalacOptions.tokensForVersion(
2122
ScalaVersion.unsafeFromString(scalaVersion()),
2223
ScalacOptions.default + source3 ++ fatalWarningOptions
@@ -29,24 +30,22 @@ trait MillGitCross extends Cross.Module[String] with StyleModule with GitVersion
2930
)
3031
override def ivyDeps = super.ivyDeps() ++ Agg(ivy"org.eclipse.jgit:org.eclipse.jgit:7.1.0.202411261347-r")
3132

32-
object test extends ScalaTests with TestModule.Munit {
33+
object test extends ScalaTests with TestModule.Munit:
3334
override def ivyDeps = Agg(
3435
ivy"org.scalameta::munit::1.1.0",
3536
ivy"com.lihaoyi::mill-testkit:$millVersion"
3637
)
3738
override def forkEnv = Map("MILL_EXECUTABLE_PATH" -> millExecutable.assembly().path.toString)
3839

3940
// Create a Mill executable configured for testing our plugin
40-
object millExecutable extends JavaModule {
41+
object millExecutable extends JavaModule:
4142
override def ivyDeps = Agg(ivy"com.lihaoyi:mill-dist:$millVersion")
4243
override def mainClass = Some("mill.runner.client.MillClientMain")
43-
override def resources = T {
44+
override def resources = Task:
4445
val p = dest / MillGitCross.this.artifactId()
4546
os.write(p, MillGitCross.this.localClasspath().map(_.path).mkString("\n"), createFolders = true)
4647
Seq(PathRef(dest))
47-
}
48-
}
49-
}
48+
end test
5049

5150
override def artifactName = s"mill-git_mill${millBinaryVersion(millVersion)}"
5251
override def publishVersion = GitVersionModule.version(withSnapshotSuffix = true)()
@@ -58,10 +57,9 @@ trait MillGitCross extends Cross.Module[String] with StyleModule with GitVersion
5857
versionControl = VersionControl.github("joan38", "mill-git"),
5958
developers = Seq(Developer("joan38", "Joan Goyeau", "https://github.com/joan38"))
6059
)
61-
}
60+
end MillGitCross
6261

63-
def millBinaryVersion(millVersion: String) = millVersion match {
62+
def millBinaryVersion(millVersion: String) = millVersion match
6463
case version if version.startsWith("0.12") => "0.11" // 0.12.x is binary compatible with 0.11.x
6564
case version if version.startsWith("0.13") => "0.13.0-M0"
6665
case _ => throw new IllegalArgumentException(s"Unsupported Mill version: $millVersion")
67-
}

mill

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
set -e
1515

1616
if [ -z "${DEFAULT_MILL_VERSION}" ] ; then
17-
DEFAULT_MILL_VERSION=0.12.5
17+
DEFAULT_MILL_VERSION=0.13.0-M0
1818
fi
1919

2020

@@ -101,7 +101,31 @@ if [ -z "${MILL_VERSION}" ] ; then
101101
fi
102102
fi
103103

104-
MILL="${MILL_DOWNLOAD_PATH}/${MILL_VERSION}"
104+
MILL_NATIVE_SUFFIX="-native"
105+
FULL_MILL_VERSION=$MILL_VERSION
106+
ARTIFACT_SUFFIX=""
107+
case "$MILL_VERSION" in
108+
*"$MILL_NATIVE_SUFFIX")
109+
MILL_VERSION=${MILL_VERSION%"$MILL_NATIVE_SUFFIX"}
110+
if [ "$(expr substr $(uname -s) 1 5 2>/dev/null)" = "Linux" ]; then
111+
if [ "$(uname -m)" = "aarch64" ]; then
112+
ARTIFACT_SUFFIX="-native-linux-aarch64"
113+
else
114+
ARTIFACT_SUFFIX="-native-linux-amd64"
115+
fi
116+
elif [ "$(uname)" = "Darwin" ]; then
117+
if [ "$(uname -m)" = "arm64" ]; then
118+
ARTIFACT_SUFFIX="-native-mac-aarch64"
119+
else
120+
ARTIFACT_SUFFIX="-native-mac-amd64"
121+
fi
122+
else
123+
echo "This native mill launcher supports only Linux and macOS." 1>&2
124+
exit 1
125+
fi
126+
esac
127+
128+
MILL="${MILL_DOWNLOAD_PATH}/${FULL_MILL_VERSION}"
105129

106130
try_to_use_system_mill() {
107131
if [ "$(uname)" != "Linux" ]; then
@@ -200,7 +224,7 @@ if [ ! -s "${MILL}" ] ; then
200224
DOWNLOAD_FILE=$(mktemp mill.XXXXXX)
201225

202226
if [ "$DOWNLOAD_FROM_MAVEN" = "1" ] ; then
203-
DOWNLOAD_URL="https://repo1.maven.org/maven2/com/lihaoyi/mill-dist/${MILL_VERSION}/mill-dist-${MILL_VERSION}.jar"
227+
DOWNLOAD_URL="https://repo1.maven.org/maven2/com/lihaoyi/mill-dist${ARTIFACT_SUFFIX}/${MILL_VERSION}/mill-dist${ARTIFACT_SUFFIX}-${MILL_VERSION}.jar"
204228
else
205229
MILL_VERSION_TAG=$(echo "$MILL_VERSION" | sed -E 's/([^-]+)(-M[0-9]+)?(-.*)?/\1\2/')
206230
DOWNLOAD_URL="${GITHUB_RELEASE_CDN}${MILL_REPO_URL}/releases/download/${MILL_VERSION_TAG}/${MILL_VERSION}${DOWNLOAD_SUFFIX}"

mill-git/src/com/goyeau/mill/git/GitTaggedDockerModule.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.goyeau.mill.git
22

3-
import mill._
3+
import mill.*
44
import mill.contrib.docker.DockerModule
55
import mill.scalalib.JavaModule
66

mill-git/src/com/goyeau/mill/git/GitVersionModule.scala

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
package com.goyeau.mill.git
22

33
import mill.*
4-
import mill.api.Result
54
import mill.Task.workspace
6-
import mill.define.{Command, Discover, ExternalModule}
5+
import mill.api.Result
6+
import mill.define.Command
7+
import mill.define.Discover
8+
import mill.define.ExternalModule
79
import org.eclipse.jgit.api.Git
810
import org.eclipse.jgit.lib.RepositoryBuilder
911
import os.*
10-
import scala.util.{Failure as TryFailure, Success as TrySuccess, Try}
12+
13+
import scala.util.Failure as TryFailure
14+
import scala.util.Success as TrySuccess
15+
import scala.util.Try
1116

1217
object GitVersionModule extends ExternalModule {
1318

mill-git/src/com/goyeau/mill/git/GitVersionedPublishModule.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.goyeau.mill.git
22

3-
import mill._
3+
import mill.*
44
import mill.scalalib.PublishModule
55

66
trait GitVersionedPublishModule extends PublishModule {

0 commit comments

Comments
 (0)