Skip to content

Commit ccee521

Browse files
committed
migrate to scala-cli
1 parent bb01773 commit ccee521

File tree

11 files changed

+161
-40
lines changed

11 files changed

+161
-40
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
/config
1010
.agg
1111
/result
12+
.scala-build
1213

1314
# we cannot exclude build.sbt - scala steward wouldn't work without it
1415
#build.sbt

build.sbt

Lines changed: 119 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,17 @@ lazy val `idealingua-v1-model` = crossProject(JVMPlatform, JSPlatform).crossType
153153
"-no-indent",
154154
"-explain",
155155
"-explain-types",
156+
"-explain-cyclic",
156157
"-Xmax-inlines:64",
158+
"-Wenum-comment-discard",
159+
"-Wimplausible-patterns",
160+
"-Wnonunit-statement",
161+
"-WunstableInlineAccessors",
162+
"-Wunused:all",
163+
"-Wvalue-discard",
164+
"-Wconf:any:verbose",
165+
"-Wconf:name=UnusedNonUnitValue:silent",
166+
"-Wconf:name=ValueDiscarding:silent",
157167
"-Wconf:msg=eta-expanded even though:silent"
158168
)
159169
case (_, _) => Seq.empty
@@ -328,7 +338,17 @@ lazy val `idealingua-v1-core` = crossProject(JVMPlatform, JSPlatform).crossType(
328338
"-no-indent",
329339
"-explain",
330340
"-explain-types",
341+
"-explain-cyclic",
331342
"-Xmax-inlines:64",
343+
"-Wenum-comment-discard",
344+
"-Wimplausible-patterns",
345+
"-Wnonunit-statement",
346+
"-WunstableInlineAccessors",
347+
"-Wunused:all",
348+
"-Wvalue-discard",
349+
"-Wconf:any:verbose",
350+
"-Wconf:name=UnusedNonUnitValue:silent",
351+
"-Wconf:name=ValueDiscarding:silent",
332352
"-Wconf:msg=eta-expanded even though:silent"
333353
)
334354
case (_, _) => Seq.empty
@@ -516,7 +536,17 @@ lazy val `idealingua-v1-runtime-rpc-scala` = crossProject(JVMPlatform, JSPlatfor
516536
"-no-indent",
517537
"-explain",
518538
"-explain-types",
539+
"-explain-cyclic",
519540
"-Xmax-inlines:64",
541+
"-Wenum-comment-discard",
542+
"-Wimplausible-patterns",
543+
"-Wnonunit-statement",
544+
"-WunstableInlineAccessors",
545+
"-Wunused:all",
546+
"-Wvalue-discard",
547+
"-Wconf:any:verbose",
548+
"-Wconf:name=UnusedNonUnitValue:silent",
549+
"-Wconf:name=ValueDiscarding:silent",
520550
"-Wconf:msg=eta-expanded even though:silent"
521551
)
522552
case (_, _) => Seq.empty
@@ -709,7 +739,17 @@ lazy val `idealingua-v1-runtime-rpc-http4s` = project.in(file("idealingua-v1/ide
709739
"-no-indent",
710740
"-explain",
711741
"-explain-types",
742+
"-explain-cyclic",
712743
"-Xmax-inlines:64",
744+
"-Wenum-comment-discard",
745+
"-Wimplausible-patterns",
746+
"-Wnonunit-statement",
747+
"-WunstableInlineAccessors",
748+
"-Wunused:all",
749+
"-Wvalue-discard",
750+
"-Wconf:any:verbose",
751+
"-Wconf:name=UnusedNonUnitValue:silent",
752+
"-Wconf:name=ValueDiscarding:silent",
713753
"-Wconf:msg=eta-expanded even though:silent"
714754
)
715755
case (_, _) => Seq.empty
@@ -878,7 +918,17 @@ lazy val `idealingua-v1-transpilers` = crossProject(JVMPlatform, JSPlatform).cro
878918
"-no-indent",
879919
"-explain",
880920
"-explain-types",
921+
"-explain-cyclic",
881922
"-Xmax-inlines:64",
923+
"-Wenum-comment-discard",
924+
"-Wimplausible-patterns",
925+
"-Wnonunit-statement",
926+
"-WunstableInlineAccessors",
927+
"-Wunused:all",
928+
"-Wvalue-discard",
929+
"-Wconf:any:verbose",
930+
"-Wconf:name=UnusedNonUnitValue:silent",
931+
"-Wconf:name=ValueDiscarding:silent",
882932
"-Wconf:msg=eta-expanded even though:silent"
883933
)
884934
case (_, _) => Seq.empty
@@ -1070,7 +1120,17 @@ lazy val `idealingua-v1-test-defs` = project.in(file("idealingua-v1/idealingua-v
10701120
"-no-indent",
10711121
"-explain",
10721122
"-explain-types",
1123+
"-explain-cyclic",
10731124
"-Xmax-inlines:64",
1125+
"-Wenum-comment-discard",
1126+
"-Wimplausible-patterns",
1127+
"-Wnonunit-statement",
1128+
"-WunstableInlineAccessors",
1129+
"-Wunused:all",
1130+
"-Wvalue-discard",
1131+
"-Wconf:any:verbose",
1132+
"-Wconf:name=UnusedNonUnitValue:silent",
1133+
"-Wconf:name=ValueDiscarding:silent",
10741134
"-Wconf:msg=eta-expanded even though:silent"
10751135
)
10761136
case (_, _) => Seq.empty
@@ -1226,7 +1286,17 @@ lazy val `idealingua-v1-runtime-rpc-typescript` = project.in(file("idealingua-v1
12261286
"-no-indent",
12271287
"-explain",
12281288
"-explain-types",
1289+
"-explain-cyclic",
12291290
"-Xmax-inlines:64",
1291+
"-Wenum-comment-discard",
1292+
"-Wimplausible-patterns",
1293+
"-Wnonunit-statement",
1294+
"-WunstableInlineAccessors",
1295+
"-Wunused:all",
1296+
"-Wvalue-discard",
1297+
"-Wconf:any:verbose",
1298+
"-Wconf:name=UnusedNonUnitValue:silent",
1299+
"-Wconf:name=ValueDiscarding:silent",
12301300
"-Wconf:msg=eta-expanded even though:silent"
12311301
)
12321302
case (_, _) => Seq.empty
@@ -1382,7 +1452,17 @@ lazy val `idealingua-v1-runtime-rpc-go` = project.in(file("idealingua-v1/idealin
13821452
"-no-indent",
13831453
"-explain",
13841454
"-explain-types",
1455+
"-explain-cyclic",
13851456
"-Xmax-inlines:64",
1457+
"-Wenum-comment-discard",
1458+
"-Wimplausible-patterns",
1459+
"-Wnonunit-statement",
1460+
"-WunstableInlineAccessors",
1461+
"-Wunused:all",
1462+
"-Wvalue-discard",
1463+
"-Wconf:any:verbose",
1464+
"-Wconf:name=UnusedNonUnitValue:silent",
1465+
"-Wconf:name=ValueDiscarding:silent",
13861466
"-Wconf:msg=eta-expanded even though:silent"
13871467
)
13881468
case (_, _) => Seq.empty
@@ -1538,7 +1618,17 @@ lazy val `idealingua-v1-runtime-rpc-csharp` = project.in(file("idealingua-v1/ide
15381618
"-no-indent",
15391619
"-explain",
15401620
"-explain-types",
1621+
"-explain-cyclic",
15411622
"-Xmax-inlines:64",
1623+
"-Wenum-comment-discard",
1624+
"-Wimplausible-patterns",
1625+
"-Wnonunit-statement",
1626+
"-WunstableInlineAccessors",
1627+
"-Wunused:all",
1628+
"-Wvalue-discard",
1629+
"-Wconf:any:verbose",
1630+
"-Wconf:name=UnusedNonUnitValue:silent",
1631+
"-Wconf:name=ValueDiscarding:silent",
15421632
"-Wconf:msg=eta-expanded even though:silent"
15431633
)
15441634
case (_, _) => Seq.empty
@@ -1702,7 +1792,17 @@ lazy val `idealingua-v1-compiler` = project.in(file("idealingua-v1/idealingua-v1
17021792
"-no-indent",
17031793
"-explain",
17041794
"-explain-types",
1795+
"-explain-cyclic",
17051796
"-Xmax-inlines:64",
1797+
"-Wenum-comment-discard",
1798+
"-Wimplausible-patterns",
1799+
"-Wnonunit-statement",
1800+
"-WunstableInlineAccessors",
1801+
"-Wunused:all",
1802+
"-Wvalue-discard",
1803+
"-Wconf:any:verbose",
1804+
"-Wconf:name=UnusedNonUnitValue:silent",
1805+
"-Wconf:name=ValueDiscarding:silent",
17061806
"-Wconf:msg=eta-expanded even though:silent"
17071807
)
17081808
case (_, _) => Seq.empty
@@ -1722,7 +1822,10 @@ lazy val `idealingua-v1-compiler` = project.in(file("idealingua-v1/idealingua-v1
17221822

17231823
lazy val `idealingua` = (project in file(".agg/idealingua-v1-idealingua"))
17241824
.settings(
1825+
crossScalaVersions := Nil,
1826+
libraryDependencies := Nil,
17251827
publish / skip := true,
1828+
SettingKey[Boolean]("ide-skip-project") := true,
17261829
crossScalaVersions := Nil
17271830
)
17281831
.enablePlugins(IzumiPlugin)
@@ -1745,7 +1848,10 @@ lazy val `idealingua` = (project in file(".agg/idealingua-v1-idealingua"))
17451848

17461849
lazy val `idealingua-jvm` = (project in file(".agg/idealingua-v1-idealingua-jvm"))
17471850
.settings(
1851+
crossScalaVersions := Nil,
1852+
libraryDependencies := Nil,
17481853
publish / skip := true,
1854+
SettingKey[Boolean]("ide-skip-project") := true,
17491855
crossScalaVersions := Nil
17501856
)
17511857
.aggregate(
@@ -1763,7 +1869,10 @@ lazy val `idealingua-jvm` = (project in file(".agg/idealingua-v1-idealingua-jvm"
17631869

17641870
lazy val `idealingua-js` = (project in file(".agg/idealingua-v1-idealingua-js"))
17651871
.settings(
1872+
crossScalaVersions := Nil,
1873+
libraryDependencies := Nil,
17661874
publish / skip := true,
1875+
SettingKey[Boolean]("ide-skip-project") := true,
17671876
crossScalaVersions := Nil
17681877
)
17691878
.aggregate(
@@ -1775,7 +1884,10 @@ lazy val `idealingua-js` = (project in file(".agg/idealingua-v1-idealingua-js"))
17751884

17761885
lazy val `idealingua-v1-jvm` = (project in file(".agg/.agg-jvm"))
17771886
.settings(
1887+
crossScalaVersions := Nil,
1888+
libraryDependencies := Nil,
17781889
publish / skip := true,
1890+
SettingKey[Boolean]("ide-skip-project") := true,
17791891
crossScalaVersions := Nil
17801892
)
17811893
.aggregate(
@@ -1784,7 +1896,10 @@ lazy val `idealingua-v1-jvm` = (project in file(".agg/.agg-jvm"))
17841896

17851897
lazy val `idealingua-v1-js` = (project in file(".agg/.agg-js"))
17861898
.settings(
1899+
crossScalaVersions := Nil,
1900+
libraryDependencies := Nil,
17871901
publish / skip := true,
1902+
SettingKey[Boolean]("ide-skip-project") := true,
17881903
crossScalaVersions := Nil
17891904
)
17901905
.aggregate(
@@ -1793,6 +1908,8 @@ lazy val `idealingua-v1-js` = (project in file(".agg/.agg-js"))
17931908

17941909
lazy val `idealingua-v1` = (project in file("."))
17951910
.settings(
1911+
crossScalaVersions := Nil,
1912+
libraryDependencies := Nil,
17961913
publish / skip := true,
17971914
ThisBuild / scalacOptions ++= Seq(
17981915
s"-Xmacro-settings:sbt-version=${sbtVersion.value}",
@@ -1901,12 +2018,12 @@ lazy val `idealingua-v1` = (project in file("."))
19012018
),
19022019
ThisBuild / scmInfo := Some(ScmInfo(url("https://github.com/7mind/izumi"), "scm:git:https://github.com/7mind/izumi.git")),
19032020
ThisBuild / scalacOptions += s"""-Xmacro-settings:scalatest-version=${V.scalatest}""",
1904-
ThisBuild / scalacOptions += s"""-Xmacro-settings:scalajs-version=1.20.2""",
2021+
ThisBuild / scalacOptions += s"""-Xmacro-settings:scalajs-version=VExpr(PV.scala_js_version)""",
19052022
ThisBuild / scalacOptions += s"""-Xmacro-settings:bundler-version=${"0.21.1"}""",
19062023
ThisBuild / scalacOptions += s"""-Xmacro-settings:sbt-js-version=${"1.0.2"}""",
19072024
ThisBuild / scalacOptions += s"""-Xmacro-settings:crossproject-version=${"1.3.2"}""",
19082025
ThisBuild / scalacOptions += s"-Xmacro-settings:is-ci=${insideCI.value}",
1909-
libraryDependencies += "io.7mind.izumi.sbt" % "sbtgen_2.13" % "0.0.107" % Provided,
2026+
libraryDependencies += "io.7mind.izumi.sbt" % "sbtgen_2.13" % "0.0.112" % Provided,
19102027
ThisBuild / libraryDependencySchemes += "org.scala-lang.modules" %% "scala-xml" % VersionScheme.Always
19112028
)
19122029
.enablePlugins(IzumiPlugin)

deps.lock.json

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -373,10 +373,6 @@
373373
"url": "https://repo1.maven.org/maven2/com/github/sbt/sbt-release_2.12_1.0/1.4.0/sbt-release_2.12_1.0-1.4.0.pom",
374374
"sha256": "1cvr3dcz5y6p0185nzkh2cnbbkl3im4m0rrsy7gi91258cr4qgd8"
375375
},
376-
{
377-
"url": "https://repo1.maven.org/maven2/com/github/scopt/scopt_2.13/4.1.0/scopt_2.13-4.1.0-sources.jar",
378-
"sha256": "0dhaxnmmlxah8ar1llqdmizs2w0glxj9hldfmlh09jf42si58r44"
379-
},
380376
{
381377
"url": "https://repo1.maven.org/maven2/com/github/scopt/scopt_2.13/4.1.0/scopt_2.13-4.1.0.jar",
382378
"sha256": "0azqd377sqajcgcgrb178yzrm4bk88s4w9wlcw20nqvlm6ykfl1f"
@@ -1262,36 +1258,32 @@
12621258
"sha256": "0vam80309lwfk57rnqngbv9zy2ljq8ssmd8ppifv42a3yqwlhcs1"
12631259
},
12641260
{
1265-
"url": "https://repo1.maven.org/maven2/io/7mind/izumi/sbt/sbt-izumi_2.12_1.0/0.0.107/sbt-izumi_2.12_1.0-0.0.107.jar",
1266-
"sha256": "061rbsdscvxsqp9dhsdmngva2fsrpd0spv9hbdrappcikg6pj1cv"
1267-
},
1268-
{
1269-
"url": "https://repo1.maven.org/maven2/io/7mind/izumi/sbt/sbt-izumi_2.12_1.0/0.0.107/sbt-izumi_2.12_1.0-0.0.107.pom",
1270-
"sha256": "1q77gbis15f7lmp9hq9q1rgpcsd3937rf6649hac1ixp66hnhqn1"
1261+
"url": "https://repo1.maven.org/maven2/io/7mind/izumi/sbt/sbt-izumi_2.12_1.0/0.0.112/sbt-izumi_2.12_1.0-0.0.112.jar",
1262+
"sha256": "0f01n0fl074wxjvpgvd5vwlr2qmyhvh77chinxf8gl6v8wpwvnxv"
12711263
},
12721264
{
1273-
"url": "https://repo1.maven.org/maven2/io/7mind/izumi/sbt/sbtgen_2.13/0.0.107/sbtgen_2.13-0.0.107-sources.jar",
1274-
"sha256": "105mc7mbh4gw19i4l985xbc73shb5lm89dymncv7nsw2fyapnahz"
1265+
"url": "https://repo1.maven.org/maven2/io/7mind/izumi/sbt/sbt-izumi_2.12_1.0/0.0.112/sbt-izumi_2.12_1.0-0.0.112.pom",
1266+
"sha256": "1gvmf04izb3l6f9n9260cdk7mf96hdg1mi79bcyl699zgy1mks5l"
12751267
},
12761268
{
1277-
"url": "https://repo1.maven.org/maven2/io/7mind/izumi/sbt/sbtgen_2.13/0.0.107/sbtgen_2.13-0.0.107.jar",
1278-
"sha256": "0s7ywzb5jsdh3jrnsrcilaqgcjfsc2zan6l2hwdq0d291gakfcqx"
1269+
"url": "https://repo1.maven.org/maven2/io/7mind/izumi/sbt/sbtgen_2.13/0.0.112/sbtgen_2.13-0.0.112.jar",
1270+
"sha256": "034krd9br6szqyvn74a2gcwkyi76zaagxv3aqigwi8jx4rd177yk"
12791271
},
12801272
{
1281-
"url": "https://repo1.maven.org/maven2/io/7mind/izumi/sbt/sbtgen_2.13/0.0.107/sbtgen_2.13-0.0.107.pom",
1282-
"sha256": "055dcc930zr50lvdlf9grw89ry0m8pljz46s0v02p6cfhncdygd2"
1273+
"url": "https://repo1.maven.org/maven2/io/7mind/izumi/sbt/sbtgen_2.13/0.0.112/sbtgen_2.13-0.0.112.pom",
1274+
"sha256": "0v3mpd5vwxsxrh4b0arxvg0xhskx03kh66kv2rwg4yj2gsxq2aac"
12831275
},
12841276
{
1285-
"url": "https://repo1.maven.org/maven2/io/7mind/izumi/sbt/sbtmeta_2.13/0.0.107/sbtmeta_2.13-0.0.107-sources.jar",
1286-
"sha256": "0z9sikgid2vksz1bdv0r2xqgy10j5ipjfiqr8lxadqkb0f5l8z84"
1277+
"url": "https://repo1.maven.org/maven2/io/7mind/izumi/sbt/sbtgen_2.13/maven-metadata.xml",
1278+
"sha256": "1qdahhz7gxkmq77kr9i0qwglnigkg80l7ivhjlj5ksxwiiavaysy"
12871279
},
12881280
{
1289-
"url": "https://repo1.maven.org/maven2/io/7mind/izumi/sbt/sbtmeta_2.13/0.0.107/sbtmeta_2.13-0.0.107.jar",
1290-
"sha256": "08biv87fjvy3rhv44ws6y3jvgx9q369wcdx0dzqraa8smc3jw2qa"
1281+
"url": "https://repo1.maven.org/maven2/io/7mind/izumi/sbt/sbtmeta_2.13/0.0.112/sbtmeta_2.13-0.0.112.jar",
1282+
"sha256": "0g8ir22injxvzj13b4ijfqwa4ccs1xlh8pjgi0yk0nkyyl9vwvwc"
12911283
},
12921284
{
1293-
"url": "https://repo1.maven.org/maven2/io/7mind/izumi/sbt/sbtmeta_2.13/0.0.107/sbtmeta_2.13-0.0.107.pom",
1294-
"sha256": "0n6xgyj2smkjc9qada3ybidpcjgc6rjyimkqr99xa5vb526dfwnb"
1285+
"url": "https://repo1.maven.org/maven2/io/7mind/izumi/sbt/sbtmeta_2.13/0.0.112/sbtmeta_2.13-0.0.112.pom",
1286+
"sha256": "19hfhpgxdwsavknlm4v0nshmzvd6aww8smqhscpqh83lcs3naaym"
12951287
},
12961288
{
12971289
"url": "https://repo1.maven.org/maven2/io/airlift/airbase/112/airbase-112.pom",
@@ -2753,6 +2745,10 @@
27532745
"url": "https://repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.18/scala-library-2.13.18.pom",
27542746
"sha256": "07f26k0020azrgjbzjgfvdp6zc5q781s7sjagy2rj8z12j113yy3"
27552747
},
2748+
{
2749+
"url": "https://repo1.maven.org/maven2/org/scala-lang/scala-library/maven-metadata.xml",
2750+
"sha256": "1yhk4y0by3ihx9yi9ymzsjqlzhcmmxd993p4dsc17v4bd7m0j07x"
2751+
},
27562752
{
27572753
"url": "https://repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.20/scala-reflect-2.12.20.jar",
27582754
"sha256": "1yz1h6yb597q8wnpwrsg4grfqdjpnbmjkn9qc3m801d7qz6i86az"

flake.nix

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,12 @@
4747
inherit version;
4848
pname = "idealingua-v1";
4949
src = ./.;
50-
nativeBuildInputs = sbtSetup.nativeBuildInputs ++ [ pkgs.libarchive pkgs.ammonite_2_13 ];
50+
nativeBuildInputs = sbtSetup.nativeBuildInputs ++ [ pkgs.libarchive pkgs.scala-cli ];
5151
inherit (sbtSetup) JAVA_HOME;
5252

5353
buildPhase = ''
5454
${sbtSetup.setupScript}
55-
amm --home $TMPDIR --tmp-output-directory --no-home-predef ./sbtgen.sc
55+
./sbtgen.sc
5656
${pkgs.lib.optionalString pkgs.stdenv.isDarwin ''
5757
HOME="$TMPDIR" \
5858
SBT_OPTS="-Duser.home=$TMPDIR -Dsbt.global.base=$TMPDIR/.sbt -Dsbt.ivy.home=$TMPDIR/.ivy2 -Divy.home=$TMPDIR/.ivy2 -Dsbt.boot.directory=$TMPDIR/.sbt/boot" \
@@ -78,7 +78,7 @@
7878

7979
jdk
8080
coursier
81-
ammonite_2_13
81+
scala-cli
8282
pkgs.buildPackages.sbt
8383

8484
dotnet-sdk_9

lockfile-config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"shell_commands": [
3-
["amm", "--no-home-predef", "./sbtgen.sc"]
3+
["./sbtgen.sc"]
44
],
55
"sbt_runs": [
66
{"args": [";reload plugins; update; reload return"]},

project/plugins.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ addSbtPlugin("org.scala-js" % "sbt-jsdependencies" % "1.0.2")
1515

1616
////////////////////////////////////////////////////////////////////////////////
1717

18-
addSbtPlugin("io.7mind.izumi.sbt" % "sbt-izumi" % "0.0.107")
18+
addSbtPlugin("io.7mind.izumi.sbt" % "sbt-izumi" % "0.0.112")
1919

2020
addSbtPlugin("com.github.sbt" % "sbt-pgp" % PV.sbt_pgp)
2121

project/project/PluginVersions.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)