diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7c8ed8ce05..fb8de0a8c4 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -34,8 +34,8 @@ repos: hooks: - id: scalafmt name: scalafmt - language: system - entry: scalafmt -i -f + language: system + entry: ./scripts/pre-commit-scalafmt.sh types_or: ["scala"] - repo: local hooks: diff --git a/MODULE.bazel b/MODULE.bazel index 43db817313..6434e961e4 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -295,6 +295,9 @@ maven.install( # Testing "org.scalamock:scalamock_3:7.4.1", + # Developer tools + "org.scalameta:scalafmt-cli_2.13:3.9.9", + # AWS SDK "software.amazon.awssdk:s3-transfer-manager:%s" % AWS_SDK_VERSION, "software.amazon.awssdk:s3:%s" % AWS_SDK_VERSION, diff --git a/maven_install.json b/maven_install.json index 62852e8eac..a30700e727 100755 --- a/maven_install.json +++ b/maven_install.json @@ -57,6 +57,7 @@ "org.json4s:json4s-core_3": 977579605, "org.json4s:json4s-native_3": -123383795, "org.reactivestreams:reactive-streams": 509083534, + "org.scalameta:scalafmt-cli_2.13": 2090201885, "org.scalamock:scalamock_3": -610483078, "org.slf4j:slf4j-api": 1609745898, "org.slf4j:slf4j-simple": 1319506696, @@ -73,9 +74,11 @@ "__RESOLVED_ARTIFACTS_HASH": { "com.amazonaws:aws-lambda-java-core": 930138565, "com.amazonaws:aws-lambda-java-events": 582075020, + "com.facebook:nailgun-server": -1312000310, "com.fasterxml.jackson.core:jackson-annotations": 1276887193, "com.fasterxml.jackson.core:jackson-core": 439118590, "com.fasterxml.jackson.core:jackson-databind": 1897319963, + "com.github.scopt:scopt_2.13": -1791766764, "com.github.stephenc.jcip:jcip-annotations": 2084352561, "com.google.android:annotations": 2096496032, "com.google.api.grpc:proto-google-common-protos": 2069379049, @@ -98,6 +101,8 @@ "com.google.re2j:re2j": -1688126233, "com.google.s2a.proto.v2:s2a-proto": 1518288545, "com.google.truth:truth": -1338076935, + "com.lihaoyi:fansi_2.13": -1754008317, + "com.lihaoyi:sourcecode_2.13": 2142439176, "com.nimbusds:nimbus-jose-jwt": -1437437976, "com.squareup.okhttp3:okhttp": 1262276211, "com.squareup.okhttp3:okhttp-sse": 505395183, @@ -112,9 +117,12 @@ "com.thesamet.scalapb:scalapb-json4s_3": -1395179337, "com.thesamet.scalapb:scalapb-runtime-grpc_3": 1440887312, "com.thesamet.scalapb:scalapb-runtime_3": -298320448, + "com.typesafe:config": 1422037420, "commons-codec:commons-codec": 1208138832, "commons-logging:commons-logging": 1248790901, "dev.dirs:directories": 513669062, + "io.get-coursier:interface": -1651941372, + "io.github.java-diff-utils:java-diff-utils": -2129961455, "io.grpc:grpc-api": 1519481799, "io.grpc:grpc-context": 1273832094, "io.grpc:grpc-protobuf": -1491986464, @@ -150,6 +158,8 @@ "javax.xml.bind:jaxb-api": 238614541, "joda-time:joda-time": -926621536, "junit:junit": -1256429642, + "net.java.dev.jna:jna": -152040143, + "net.java.dev.jna:jna-platform": 1944437013, "org.apache.httpcomponents:httpclient": 546847276, "org.apache.httpcomponents:httpcore": 67453319, "org.checkerframework:checker-qual": 1860567376, @@ -160,6 +170,7 @@ "org.jetbrains.kotlin:kotlin-stdlib-jdk7": 1242909803, "org.jetbrains.kotlin:kotlin-stdlib-jdk8": -597817274, "org.jetbrains:annotations": 554168982, + "org.jline:jline:jar:jdk8": 461866030, "org.json4s:json4s-ast_3": -1000402007, "org.json4s:json4s-core_3": -1662557228, "org.json4s:json4s-jackson-core_3": -1868355082, @@ -168,12 +179,34 @@ "org.jspecify:jspecify": 117231129, "org.ow2.asm:asm": 611381606, "org.reactivestreams:reactive-streams": 1281941191, + "org.scala-lang.modules:scala-collection-compat_2.13": 1776668179, "org.scala-lang.modules:scala-collection-compat_3": 1599811889, + "org.scala-lang:scala-compiler": -936475372, "org.scala-lang:scala-library": -1079389784, + "org.scala-lang:scala-reflect": 1954333033, "org.scala-lang:scala3-library_3": -212752345, + "org.scalameta:common_2.13": -243829407, + "org.scalameta:io_2.13": 650402177, + "org.scalameta:mdoc-parser_2.13": 1311402672, + "org.scalameta:metaconfig-core_2.13": 368113129, + "org.scalameta:metaconfig-pprint_2.13": -1139170883, + "org.scalameta:metaconfig-typesafe-config_2.13": 1445355455, + "org.scalameta:munit-diff_2.13": -1005397188, + "org.scalameta:parsers_2.13": 1949061043, + "org.scalameta:scalafmt-cli_2.13": 26909745, + "org.scalameta:scalafmt-config_2.13": -743884898, + "org.scalameta:scalafmt-core_2.13": -1874378055, + "org.scalameta:scalafmt-dynamic_2.13": 663212802, + "org.scalameta:scalafmt-interfaces": 1918069274, + "org.scalameta:scalafmt-macros_2.13": 318827227, + "org.scalameta:scalafmt-sysops_2.13": -985441237, + "org.scalameta:scalameta_2.13": -1430264142, + "org.scalameta:svm-subs": 444416668, + "org.scalameta:trees_2.13": -2001983361, "org.scalamock:scalamock_3": -1778657085, "org.slf4j:slf4j-api": -771685699, "org.slf4j:slf4j-simple": -776509812, + "org.typelevel:paiges-core_2.13": 884465285, "org.xerial:sqlite-jdbc": 1311600081, "software.amazon.awssdk:annotations": -324257201, "software.amazon.awssdk:apache-client": 2066024214, @@ -237,6 +270,12 @@ }, "version": "3.13.0" }, + "com.facebook:nailgun-server": { + "shasums": { + "jar": "c852b33463ce343d22f45686dad8e2a29f61a105bdfd95c87f22b0520a482f21" + }, + "version": "1.0.1" + }, "com.fasterxml.jackson.core:jackson-annotations": { "shasums": { "jar": "3cacef714a89f3d68b69fa11263afa55a6aa2fdef1fff93ded22caa16b54687c" @@ -255,6 +294,12 @@ }, "version": "2.12.7" }, + "com.github.scopt:scopt_2.13": { + "shasums": { + "jar": "2e5037bda974630b046794274e344273919abf4727acfcd86352617dce68f82b" + }, + "version": "4.1.0" + }, "com.github.stephenc.jcip:jcip-annotations": { "shasums": { "jar": "4fccff8382aafc589962c4edb262f6aa595e34f1e11e61057d1c6a96e8fc7323" @@ -387,6 +432,18 @@ }, "version": "1.4.5" }, + "com.lihaoyi:fansi_2.13": { + "shasums": { + "jar": "fcae26580f7d6e72adbd6e5c504bb1715fbe3f5fb814d70e84bc5427a835e42c" + }, + "version": "0.5.0" + }, + "com.lihaoyi:sourcecode_2.13": { + "shasums": { + "jar": "fbace2b994a7184f6b38ee98630be61f21948008a4a56cd83c7f86c1c1de743d" + }, + "version": "0.4.2" + }, "com.nimbusds:nimbus-jose-jwt": { "shasums": { "jar": "12ae4a3a260095d7aeba2adea7ae396e8b9570db8b7b409e09a824c219cc0444" @@ -471,6 +528,12 @@ }, "version": "1.0.0-alpha.1" }, + "com.typesafe:config": { + "shasums": { + "jar": "8ada4c185ce72416712d63e0b5afdc5f009c0cdf405e5f26efecdf156aa5dfb6" + }, + "version": "1.4.3" + }, "commons-codec:commons-codec": { "shasums": { "jar": "f9f6cb103f2ddc3c99a9d80ada2ae7bf0685111fd6bffccb72033d1da4e6ff23" @@ -489,6 +552,18 @@ }, "version": "26" }, + "io.get-coursier:interface": { + "shasums": { + "jar": "7592fe49c789b55429483185ac22ac6da43680a39c53b818c50bca0fb7dd6a78" + }, + "version": "1.0.28" + }, + "io.github.java-diff-utils:java-diff-utils": { + "shasums": { + "jar": "964c69e3a23a892db2778ae6806aa1d42f81230032bd8e4982dc8620582ee6b7" + }, + "version": "4.15" + }, "io.grpc:grpc-api": { "shasums": { "jar": "45faf2ac1bf2791e8fdabce53684a86b62c99b84cba26fb13a5ba3f4abf80d6c" @@ -674,6 +749,18 @@ }, "version": "4.13.2" }, + "net.java.dev.jna:jna": { + "shasums": { + "jar": "0c8eb7acf67261656d79005191debaba3b6bf5dd60a43735a245429381dbecff" + }, + "version": "4.5.2" + }, + "net.java.dev.jna:jna-platform": { + "shasums": { + "jar": "f1d00c167d8921c6e23c626ef9f1c3ae0be473c95c68ffa012bc7ae55a87e2d6" + }, + "version": "4.5.2" + }, "org.apache.httpcomponents:httpclient": { "shasums": { "jar": "c8bc7e1c51a6d4ce72f40d2ebbabf1c4b68bfe76e732104b04381b493478e9d6" @@ -734,6 +821,12 @@ }, "version": "13.0" }, + "org.jline:jline": { + "shasums": { + "jdk8": "9d165aff3d714a455de2e711dc90df09fdb0a0969a1cd4d52aa72a44cb545db0" + }, + "version": "3.27.1" + }, "org.json4s:json4s-ast_3": { "shasums": { "jar": "d899bf87f5a9b0ce73f2dcde2029a1e18b6c5557abd08ee45d26845c3d22a583" @@ -782,24 +875,150 @@ }, "version": "1.0.4" }, + "org.scala-lang.modules:scala-collection-compat_2.13": { + "shasums": { + "jar": "40f141575b57796bf0c1e4b5f0974d91e3a6dee6ecea47ceed62c0efa1298234" + }, + "version": "2.13.0" + }, "org.scala-lang.modules:scala-collection-compat_3": { "shasums": { "jar": "af81a8bc7d85d2e02ad4448a83ed5f9fe08f64e3d47ca9c050a8c33e19aa4018" }, "version": "2.12.0" }, + "org.scala-lang:scala-compiler": { + "shasums": { + "jar": "f59982714591e321ba9c087af2c8666e2f5fb92b11a0cef72c2c5e9b342152d3" + }, + "version": "2.13.16" + }, "org.scala-lang:scala-library": { "shasums": { "jar": "1ebb2b6f9e4eb4022497c19b1e1e825019c08514f962aaac197145f88ed730f1" }, "version": "2.13.16" }, + "org.scala-lang:scala-reflect": { + "shasums": { + "jar": "fb49ccd9cac7464486ab993cda20a3c1569d8ef26f052e897577ad2a4970fb1d" + }, + "version": "2.13.16" + }, "org.scala-lang:scala3-library_3": { "shasums": { "jar": "cf4ddaf76c0ce71cf68ca5d2dc7bad46c5a921aaf18909317ddc9ba6e67fb12b" }, "version": "3.3.6" }, + "org.scalameta:common_2.13": { + "shasums": { + "jar": "14979d0e1bfc001070114b7fa74d1df3425bc22a6c115f6e9810cff34c48db69" + }, + "version": "4.13.9" + }, + "org.scalameta:io_2.13": { + "shasums": { + "jar": "259b68fcc1a8138a1460e74574d2691bb89b7c93723a87a3afd2ff58187c063b" + }, + "version": "4.13.9" + }, + "org.scalameta:mdoc-parser_2.13": { + "shasums": { + "jar": "d1462cf777c227a9a751ae9aae3cb7ab7c3fc1f70689f35eafe58746e33566cc" + }, + "version": "2.6.4" + }, + "org.scalameta:metaconfig-core_2.13": { + "shasums": { + "jar": "c0b789c2d4468238fc325ef0a17f1a029b3635ff12b510bde03dd577a1281278" + }, + "version": "0.15.0" + }, + "org.scalameta:metaconfig-pprint_2.13": { + "shasums": { + "jar": "357e65682c00db62978f0dd21fea01f13a5f0fb31b45308ad74b136b1ec4f021" + }, + "version": "0.15.0" + }, + "org.scalameta:metaconfig-typesafe-config_2.13": { + "shasums": { + "jar": "2ae5a8ecba43fb809696e419f1f98739e419534cc25918e2d8949a2d2727327e" + }, + "version": "0.15.0" + }, + "org.scalameta:munit-diff_2.13": { + "shasums": { + "jar": "645b14049ca4197cee5a1179c8f73916407c59396684cb176575eb8769ef9ec0" + }, + "version": "1.1.0" + }, + "org.scalameta:parsers_2.13": { + "shasums": { + "jar": "c882279263ff0221049ca52c58b707e1cc7d7e91387d6e31a59b3d53870955a3" + }, + "version": "4.13.9" + }, + "org.scalameta:scalafmt-cli_2.13": { + "shasums": { + "jar": "66b1fefb84272c09e5eeda42c17e71742664b002733c5ee0e39644ff3ca4ddc3" + }, + "version": "3.9.9" + }, + "org.scalameta:scalafmt-config_2.13": { + "shasums": { + "jar": "c3b40339a52c44bf6364c081ea079d283733556fe94f95d23d881ca811521352" + }, + "version": "3.9.9" + }, + "org.scalameta:scalafmt-core_2.13": { + "shasums": { + "jar": "a943ed40928c0146cb5b3751f1cb5958f6581b09859eb477a3fae59e4b4fda73" + }, + "version": "3.9.9" + }, + "org.scalameta:scalafmt-dynamic_2.13": { + "shasums": { + "jar": "4ce4d68b734ddddd01b71bce14f8e6c813f66bc2f039b24d5328a1db3741d96e" + }, + "version": "3.9.9" + }, + "org.scalameta:scalafmt-interfaces": { + "shasums": { + "jar": "cbfeec751f9d65fc051de9d443151aab46fa97fb3f175a87b7edfcf6572d9b50" + }, + "version": "3.9.9" + }, + "org.scalameta:scalafmt-macros_2.13": { + "shasums": { + "jar": "363fb96be632f5a0fc19c79401300e13381947382c7854da780fed2ad7f13433" + }, + "version": "3.9.9" + }, + "org.scalameta:scalafmt-sysops_2.13": { + "shasums": { + "jar": "ebbd33adb038a7a97ec2724ef634443596b23899b476725fd2b881ba463d4bca" + }, + "version": "3.9.9" + }, + "org.scalameta:scalameta_2.13": { + "shasums": { + "jar": "4cb2268018d01648953d9818882b35cb0722d6e2dadbe09c6670e1e8065ea784" + }, + "version": "4.13.9" + }, + "org.scalameta:svm-subs": { + "shasums": { + "jar": "b31eb8ef90bec4c22a8ec858f5bd007bd46ce80c3dcef9dce238c6f9dd15c1a4" + }, + "version": "101.0.0" + }, + "org.scalameta:trees_2.13": { + "shasums": { + "jar": "d293bf99287edc442bfc4305c7388ce35f60c65a3c8143d9e7d6f736c6c1ec3d" + }, + "version": "4.13.9" + }, "org.scalamock:scalamock_3": { "shasums": { "jar": "9a421b4eb47cbef8394998ec864eea21c1c3e43b1b80966efd493cd06e7b4516" @@ -818,6 +1037,12 @@ }, "version": "2.0.16" }, + "org.typelevel:paiges-core_2.13": { + "shasums": { + "jar": "ffbd59d3648e71c5b8f4474a54121fb3512707e7901245831669aa9e85f3bbf0" + }, + "version": "0.4.4" + }, "org.xerial:sqlite-jdbc": { "shasums": { "jar": "6dc7464e3803648d3ff18a7359bab6adf079fcd8495b18991f6f5edcb8ac6e3b" @@ -1021,10 +1246,17 @@ "com.amazonaws:aws-lambda-java-events": [ "joda-time:joda-time" ], + "com.facebook:nailgun-server": [ + "net.java.dev.jna:jna", + "net.java.dev.jna:jna-platform" + ], "com.fasterxml.jackson.core:jackson-databind": [ "com.fasterxml.jackson.core:jackson-annotations", "com.fasterxml.jackson.core:jackson-core" ], + "com.github.scopt:scopt_2.13": [ + "org.scala-lang:scala-library" + ], "com.google.api.grpc:proto-google-common-protos": [ "com.google.protobuf:protobuf-java" ], @@ -1092,6 +1324,13 @@ "org.jspecify:jspecify", "org.ow2.asm:asm" ], + "com.lihaoyi:fansi_2.13": [ + "com.lihaoyi:sourcecode_2.13", + "org.scala-lang:scala-library" + ], + "com.lihaoyi:sourcecode_2.13": [ + "org.scala-lang:scala-library" + ], "com.nimbusds:nimbus-jose-jwt": [ "com.github.stephenc.jcip:jcip-annotations" ], @@ -1153,6 +1392,9 @@ "org.scala-lang.modules:scala-collection-compat_3", "org.scala-lang:scala3-library_3" ], + "io.get-coursier:interface": [ + "org.slf4j:slf4j-api" + ], "io.grpc:grpc-api": [ "com.google.code.findbugs:jsr305", "com.google.errorprone:error_prone_annotations", @@ -1311,6 +1553,9 @@ "junit:junit": [ "org.hamcrest:hamcrest-core" ], + "net.java.dev.jna:jna-platform": [ + "net.java.dev.jna:jna" + ], "org.apache.httpcomponents:httpclient": [ "commons-codec:commons-codec", "commons-logging:commons-logging", @@ -1348,18 +1593,117 @@ "org.json4s:json4s-native-core_3", "org.scala-lang:scala3-library_3" ], + "org.scala-lang.modules:scala-collection-compat_2.13": [ + "org.scala-lang:scala-library" + ], "org.scala-lang.modules:scala-collection-compat_3": [ "org.scala-lang:scala3-library_3" ], + "org.scala-lang:scala-compiler": [ + "io.github.java-diff-utils:java-diff-utils", + "org.jline:jline:jar:jdk8", + "org.scala-lang:scala-library", + "org.scala-lang:scala-reflect" + ], + "org.scala-lang:scala-reflect": [ + "org.scala-lang:scala-library" + ], "org.scala-lang:scala3-library_3": [ "org.scala-lang:scala-library" ], + "org.scalameta:common_2.13": [ + "com.lihaoyi:sourcecode_2.13", + "org.scala-lang:scala-library" + ], + "org.scalameta:io_2.13": [ + "org.scala-lang:scala-library" + ], + "org.scalameta:mdoc-parser_2.13": [ + "org.scala-lang:scala-library" + ], + "org.scalameta:metaconfig-core_2.13": [ + "org.scala-lang.modules:scala-collection-compat_2.13", + "org.scala-lang:scala-library", + "org.scala-lang:scala-reflect", + "org.scalameta:metaconfig-pprint_2.13", + "org.typelevel:paiges-core_2.13" + ], + "org.scalameta:metaconfig-pprint_2.13": [ + "com.lihaoyi:fansi_2.13", + "org.scala-lang:scala-compiler", + "org.scala-lang:scala-library", + "org.scala-lang:scala-reflect" + ], + "org.scalameta:metaconfig-typesafe-config_2.13": [ + "com.typesafe:config", + "org.scala-lang:scala-library", + "org.scalameta:metaconfig-core_2.13" + ], + "org.scalameta:munit-diff_2.13": [ + "org.scala-lang:scala-library" + ], + "org.scalameta:parsers_2.13": [ + "org.scala-lang:scala-library", + "org.scalameta:trees_2.13" + ], + "org.scalameta:scalafmt-cli_2.13": [ + "com.facebook:nailgun-server", + "com.github.scopt:scopt_2.13", + "org.scala-lang:scala-library", + "org.scalameta:munit-diff_2.13", + "org.scalameta:scalafmt-core_2.13", + "org.scalameta:scalafmt-dynamic_2.13", + "org.scalameta:scalafmt-interfaces", + "org.scalameta:svm-subs" + ], + "org.scalameta:scalafmt-config_2.13": [ + "org.scala-lang:scala-library", + "org.scalameta:metaconfig-core_2.13", + "org.scalameta:metaconfig-typesafe-config_2.13" + ], + "org.scalameta:scalafmt-core_2.13": [ + "org.scala-lang:scala-library", + "org.scalameta:mdoc-parser_2.13", + "org.scalameta:scalafmt-config_2.13", + "org.scalameta:scalafmt-macros_2.13", + "org.scalameta:scalafmt-sysops_2.13" + ], + "org.scalameta:scalafmt-dynamic_2.13": [ + "com.typesafe:config", + "io.get-coursier:interface", + "org.scala-lang:scala-library", + "org.scalameta:scalafmt-interfaces", + "org.scalameta:scalafmt-sysops_2.13" + ], + "org.scalameta:scalafmt-macros_2.13": [ + "org.scala-lang:scala-library", + "org.scala-lang:scala-reflect", + "org.scalameta:scalameta_2.13" + ], + "org.scalameta:scalafmt-sysops_2.13": [ + "org.scala-lang:scala-library" + ], + "org.scalameta:scalameta_2.13": [ + "org.scala-lang:scala-library", + "org.scalameta:parsers_2.13" + ], + "org.scalameta:svm-subs": [ + "org.scala-lang:scala-library" + ], + "org.scalameta:trees_2.13": [ + "org.scala-lang:scala-library", + "org.scalameta:common_2.13", + "org.scalameta:io_2.13" + ], "org.scalamock:scalamock_3": [ "org.scala-lang:scala3-library_3" ], "org.slf4j:slf4j-simple": [ "org.slf4j:slf4j-api" ], + "org.typelevel:paiges-core_2.13": [ + "org.scala-lang:scala-library" + ], "org.xerial:sqlite-jdbc": [ "org.slf4j:slf4j-api" ], @@ -1610,6 +1954,10 @@ "com.amazonaws.services.lambda.runtime.events.models.kinesis", "com.amazonaws.services.lambda.runtime.events.models.s3" ], + "com.facebook:nailgun-server": [ + "com.facebook.nailgun", + "com.facebook.nailgun.builtins" + ], "com.fasterxml.jackson.core:jackson-annotations": [ "com.fasterxml.jackson.annotation" ], @@ -1651,6 +1999,9 @@ "com.fasterxml.jackson.databind.type", "com.fasterxml.jackson.databind.util" ], + "com.github.scopt:scopt_2.13": [ + "scopt" + ], "com.github.stephenc.jcip:jcip-annotations": [ "net.jcip.annotations" ], @@ -1811,6 +2162,12 @@ "com.google.truth:truth": [ "com.google.common.truth" ], + "com.lihaoyi:fansi_2.13": [ + "fansi" + ], + "com.lihaoyi:sourcecode_2.13": [ + "sourcecode" + ], "com.nimbusds:nimbus-jose-jwt": [ "com.nimbusds.jose", "com.nimbusds.jose.crypto", @@ -1926,6 +2283,11 @@ "scalapb.options", "scalapb.textformat" ], + "com.typesafe:config": [ + "com.typesafe.config", + "com.typesafe.config.impl", + "com.typesafe.config.parser" + ], "commons-codec:commons-codec": [ "org.apache.commons.codec", "org.apache.commons.codec.binary", @@ -1942,6 +2304,132 @@ "dev.dirs:directories": [ "dev.dirs" ], + "io.get-coursier:interface": [ + "coursierapi", + "coursierapi.error", + "coursierapi.internal.jniutils", + "coursierapi.shaded.commonscompress", + "coursierapi.shaded.commonscompress.archivers", + "coursierapi.shaded.commonscompress.archivers.tar", + "coursierapi.shaded.commonscompress.archivers.zip", + "coursierapi.shaded.commonscompress.compressors", + "coursierapi.shaded.commonscompress.compressors.bzip2", + "coursierapi.shaded.commonscompress.compressors.deflate64", + "coursierapi.shaded.commonscompress.compressors.lzw", + "coursierapi.shaded.commonscompress.compressors.xz", + "coursierapi.shaded.commonscompress.compressors.zstandard", + "coursierapi.shaded.commonscompress.utils", + "coursierapi.shaded.commonsio", + "coursierapi.shaded.commonsio.build", + "coursierapi.shaded.commonsio.file", + "coursierapi.shaded.commonsio.file.attribute", + "coursierapi.shaded.commonsio.filefilter", + "coursierapi.shaded.commonsio.function", + "coursierapi.shaded.commonsio.input", + "coursierapi.shaded.commonsio.output", + "coursierapi.shaded.compress", + "coursierapi.shaded.compress.snappy", + "coursierapi.shaded.concurrentrefhashmap", + "coursierapi.shaded.coursier", + "coursierapi.shaded.coursier.cache", + "coursierapi.shaded.coursier.cache.internal", + "coursierapi.shaded.coursier.cache.loggers", + "coursierapi.shaded.coursier.cache.shaded.dirs", + "coursierapi.shaded.coursier.cache.shaded.dirs.impl", + "coursierapi.shaded.coursier.cache.shaded.dirs.jni", + "coursierapi.shaded.coursier.complete", + "coursierapi.shaded.coursier.core", + "coursierapi.shaded.coursier.core.compatibility", + "coursierapi.shaded.coursier.core.shaded.fastparse", + "coursierapi.shaded.coursier.core.shaded.fastparse.internal", + "coursierapi.shaded.coursier.core.shaded.sourcecode", + "coursierapi.shaded.coursier.credentials", + "coursierapi.shaded.coursier.error", + "coursierapi.shaded.coursier.error.conflict", + "coursierapi.shaded.coursier.graph", + "coursierapi.shaded.coursier.internal", + "coursierapi.shaded.coursier.internal.api", + "coursierapi.shaded.coursier.ivy", + "coursierapi.shaded.coursier.jniutils", + "coursierapi.shaded.coursier.jvm", + "coursierapi.shaded.coursier.jvm.util", + "coursierapi.shaded.coursier.maven", + "coursierapi.shaded.coursier.params", + "coursierapi.shaded.coursier.params.rule", + "coursierapi.shaded.coursier.parse", + "coursierapi.shaded.coursier.paths", + "coursierapi.shaded.coursier.util", + "coursierapi.shaded.coursier.util.shaded.org.jsoup", + "coursierapi.shaded.coursier.util.shaded.org.jsoup.helper", + "coursierapi.shaded.coursier.util.shaded.org.jsoup.internal", + "coursierapi.shaded.coursier.util.shaded.org.jsoup.nodes", + "coursierapi.shaded.coursier.util.shaded.org.jsoup.parser", + "coursierapi.shaded.coursier.util.shaded.org.jsoup.select", + "coursierapi.shaded.dependency", + "coursierapi.shaded.dependency.parser", + "coursierapi.shaded.isterminal", + "coursierapi.shaded.jsoniter", + "coursierapi.shaded.lang3", + "coursierapi.shaded.lang3.function", + "coursierapi.shaded.org.fusesource.jansi.internal", + "coursierapi.shaded.plexus.archiver", + "coursierapi.shaded.plexus.archiver.tar", + "coursierapi.shaded.plexus.archiver.util", + "coursierapi.shaded.plexus.archiver.zip", + "coursierapi.shaded.plexus.components.io.attributes", + "coursierapi.shaded.plexus.components.io.filemappers", + "coursierapi.shaded.plexus.components.io.fileselectors", + "coursierapi.shaded.plexus.components.io.resources", + "coursierapi.shaded.plexus.util", + "coursierapi.shaded.plexus.util.cli", + "coursierapi.shaded.scala", + "coursierapi.shaded.scala.cli.commands", + "coursierapi.shaded.scala.cli.config", + "coursierapi.shaded.scala.collection", + "coursierapi.shaded.scala.collection.concurrent", + "coursierapi.shaded.scala.collection.convert", + "coursierapi.shaded.scala.collection.generic", + "coursierapi.shaded.scala.collection.immutable", + "coursierapi.shaded.scala.collection.mutable", + "coursierapi.shaded.scala.concurrent", + "coursierapi.shaded.scala.concurrent.duration", + "coursierapi.shaded.scala.concurrent.impl", + "coursierapi.shaded.scala.math", + "coursierapi.shaded.scala.ref", + "coursierapi.shaded.scala.reflect", + "coursierapi.shaded.scala.runtime", + "coursierapi.shaded.scala.sys", + "coursierapi.shaded.scala.sys.process", + "coursierapi.shaded.scala.util", + "coursierapi.shaded.scala.util.control", + "coursierapi.shaded.scala.util.hashing", + "coursierapi.shaded.scala.util.matching", + "coursierapi.shaded.scala.xml", + "coursierapi.shaded.scala.xml.dtd", + "coursierapi.shaded.scala.xml.dtd.impl", + "coursierapi.shaded.scala.xml.factory", + "coursierapi.shaded.scala.xml.parsing", + "coursierapi.shaded.windowsansi", + "coursierapi.shaded.xz", + "coursierapi.shaded.xz.check", + "coursierapi.shaded.xz.common", + "coursierapi.shaded.xz.delta", + "coursierapi.shaded.xz.index", + "coursierapi.shaded.xz.lz", + "coursierapi.shaded.xz.lzma", + "coursierapi.shaded.xz.rangecoder", + "coursierapi.shaded.xz.simple", + "coursierapi.shaded.zstd", + "coursierapi.shaded.zstd.util" + ], + "io.github.java-diff-utils:java-diff-utils": [ + "com.github.difflib", + "com.github.difflib.algorithm", + "com.github.difflib.algorithm.myers", + "com.github.difflib.patch", + "com.github.difflib.text", + "com.github.difflib.unifieddiff" + ], "io.grpc:grpc-api": [ "io.grpc" ], @@ -2171,6 +2659,25 @@ "org.junit.runners.parameterized", "org.junit.validator" ], + "net.java.dev.jna:jna": [ + "com.sun.jna", + "com.sun.jna.ptr", + "com.sun.jna.win32" + ], + "net.java.dev.jna:jna-platform": [ + "com.sun.jna.platform", + "com.sun.jna.platform.dnd", + "com.sun.jna.platform.mac", + "com.sun.jna.platform.unix", + "com.sun.jna.platform.unix.solaris", + "com.sun.jna.platform.win32", + "com.sun.jna.platform.win32.COM", + "com.sun.jna.platform.win32.COM.tlb", + "com.sun.jna.platform.win32.COM.tlb.imp", + "com.sun.jna.platform.win32.COM.util", + "com.sun.jna.platform.win32.COM.util.annotation", + "com.sun.jna.platform.wince" + ], "org.apache.httpcomponents:httpclient": [ "org.apache.http.auth", "org.apache.http.auth.params", @@ -2307,6 +2814,46 @@ "org.intellij.lang.annotations", "org.jetbrains.annotations" ], + "org.jline:jline:jar:jdk8": [ + "org.jline.builtins", + "org.jline.builtins.ssh", + "org.jline.builtins.telnet", + "org.jline.console", + "org.jline.console.impl", + "org.jline.jansi", + "org.jline.jansi.io", + "org.jline.keymap", + "org.jline.nativ", + "org.jline.reader", + "org.jline.reader.impl", + "org.jline.reader.impl.completer", + "org.jline.reader.impl.history", + "org.jline.style", + "org.jline.terminal", + "org.jline.terminal.impl", + "org.jline.terminal.impl.exec", + "org.jline.terminal.impl.jansi", + "org.jline.terminal.impl.jansi.freebsd", + "org.jline.terminal.impl.jansi.linux", + "org.jline.terminal.impl.jansi.osx", + "org.jline.terminal.impl.jansi.solaris", + "org.jline.terminal.impl.jansi.win", + "org.jline.terminal.impl.jna", + "org.jline.terminal.impl.jna.freebsd", + "org.jline.terminal.impl.jna.linux", + "org.jline.terminal.impl.jna.osx", + "org.jline.terminal.impl.jna.solaris", + "org.jline.terminal.impl.jna.win", + "org.jline.terminal.impl.jni", + "org.jline.terminal.impl.jni.freebsd", + "org.jline.terminal.impl.jni.linux", + "org.jline.terminal.impl.jni.osx", + "org.jline.terminal.impl.jni.solaris", + "org.jline.terminal.impl.jni.win", + "org.jline.terminal.spi", + "org.jline.utils", + "org.jline.widget" + ], "org.json4s:json4s-ast_3": [ "org.json4s", "org.json4s.prefs" @@ -2335,12 +2882,85 @@ "org.reactivestreams:reactive-streams": [ "org.reactivestreams" ], + "org.scala-lang.modules:scala-collection-compat_2.13": [ + "scala.collection.compat", + "scala.collection.compat.immutable", + "scala.util.control.compat", + "scala.util.matching.compat" + ], "org.scala-lang.modules:scala-collection-compat_3": [ "scala.collection.compat", "scala.collection.compat.immutable", "scala.util.control.compat", "scala.util.matching.compat" ], + "org.scala-lang:scala-compiler": [ + "com.github.difflib", + "com.github.difflib.algorithm", + "com.github.difflib.algorithm.myers", + "com.github.difflib.patch", + "com.github.difflib.text", + "com.github.difflib.unifieddiff", + "scala.reflect.macros.compiler", + "scala.reflect.macros.contexts", + "scala.reflect.macros.runtime", + "scala.reflect.macros.util", + "scala.reflect.quasiquotes", + "scala.reflect.reify", + "scala.reflect.reify.codegen", + "scala.reflect.reify.phases", + "scala.reflect.reify.utils", + "scala.tools.asm", + "scala.tools.asm.commons", + "scala.tools.asm.signature", + "scala.tools.asm.tree", + "scala.tools.asm.tree.analysis", + "scala.tools.asm.util", + "scala.tools.nsc", + "scala.tools.nsc.ast", + "scala.tools.nsc.ast.parser", + "scala.tools.nsc.ast.parser.xml", + "scala.tools.nsc.backend", + "scala.tools.nsc.backend.jvm", + "scala.tools.nsc.backend.jvm.analysis", + "scala.tools.nsc.backend.jvm.opt", + "scala.tools.nsc.classpath", + "scala.tools.nsc.doc", + "scala.tools.nsc.doc.base", + "scala.tools.nsc.doc.base.comment", + "scala.tools.nsc.doc.doclet", + "scala.tools.nsc.doc.html", + "scala.tools.nsc.doc.html.page", + "scala.tools.nsc.doc.html.page.diagram", + "scala.tools.nsc.doc.model", + "scala.tools.nsc.doc.model.diagram", + "scala.tools.nsc.fsc", + "scala.tools.nsc.interactive", + "scala.tools.nsc.interactive.tests", + "scala.tools.nsc.interactive.tests.core", + "scala.tools.nsc.interpreter", + "scala.tools.nsc.interpreter.jline", + "scala.tools.nsc.interpreter.shell", + "scala.tools.nsc.io", + "scala.tools.nsc.javac", + "scala.tools.nsc.plugins", + "scala.tools.nsc.profile", + "scala.tools.nsc.reporters", + "scala.tools.nsc.settings", + "scala.tools.nsc.symtab", + "scala.tools.nsc.symtab.classfile", + "scala.tools.nsc.tasty", + "scala.tools.nsc.tasty.bridge", + "scala.tools.nsc.transform", + "scala.tools.nsc.transform.async", + "scala.tools.nsc.transform.patmat", + "scala.tools.nsc.typechecker", + "scala.tools.nsc.typechecker.splain", + "scala.tools.nsc.util", + "scala.tools.reflect", + "scala.tools.tasty", + "scala.tools.util" + ], "org.scala-lang:scala-library": [ "scala", "scala.annotation", @@ -2373,6 +2993,21 @@ "scala.util.hashing", "scala.util.matching" ], + "org.scala-lang:scala-reflect": [ + "scala.reflect.api", + "scala.reflect.internal", + "scala.reflect.internal.annotations", + "scala.reflect.internal.pickling", + "scala.reflect.internal.settings", + "scala.reflect.internal.tpe", + "scala.reflect.internal.transform", + "scala.reflect.internal.util", + "scala.reflect.io", + "scala.reflect.macros", + "scala.reflect.macros.blackbox", + "scala.reflect.macros.whitebox", + "scala.reflect.runtime" + ], "org.scala-lang:scala3-library_3": [ "scala", "scala.annotation", @@ -2391,6 +3026,117 @@ "scala.util", "scala.util.control" ], + "org.scalameta:common_2.13": [ + "org.scalameta", + "org.scalameta.adt", + "org.scalameta.collections", + "org.scalameta.data", + "org.scalameta.explore", + "org.scalameta.internal", + "org.scalameta.invariants", + "org.scalameta.overload", + "org.scalameta.tests", + "scala.meta.classifiers", + "scala.meta.common", + "scala.meta.internal", + "scala.meta.internal.classifiers", + "scala.meta.internal.platform", + "scala.meta.internal.prettyprinters", + "scala.meta.internal.tokens", + "scala.meta.internal.transversers", + "scala.meta.internal.trees", + "scala.meta.prettyprinters" + ], + "org.scalameta:io_2.13": [ + "scala.meta.internal.io", + "scala.meta.io" + ], + "org.scalameta:mdoc-parser_2.13": [ + "mdoc.parser" + ], + "org.scalameta:metaconfig-core_2.13": [ + "metaconfig", + "metaconfig.annotation", + "metaconfig.error", + "metaconfig.generic", + "metaconfig.internal" + ], + "org.scalameta:metaconfig-pprint_2.13": [ + "metaconfig.pprint" + ], + "org.scalameta:metaconfig-typesafe-config_2.13": [ + "metaconfig", + "metaconfig.typesafeconfig" + ], + "org.scalameta:munit-diff_2.13": [ + "munit.diff", + "munit.diff.console" + ], + "org.scalameta:parsers_2.13": [ + "scala.meta.internal.parsers", + "scala.meta.internal.quasiquotes", + "scala.meta.parsers", + "scala.meta.quasiquotes", + "scala.meta.transversers" + ], + "org.scalameta:scalafmt-cli_2.13": [ + "org.scalafmt.cli" + ], + "org.scalameta:scalafmt-config_2.13": [ + "org.scalafmt.config" + ], + "org.scalameta:scalafmt-core_2.13": [ + "org.scalafmt", + "org.scalafmt.config", + "org.scalafmt.internal", + "org.scalafmt.rewrite", + "org.scalafmt.util" + ], + "org.scalameta:scalafmt-dynamic_2.13": [ + "org.scalafmt.dynamic", + "org.scalafmt.dynamic.exceptions", + "org.scalafmt.dynamic.utils" + ], + "org.scalameta:scalafmt-interfaces": [ + "org.scalafmt.interfaces" + ], + "org.scalameta:scalafmt-macros_2.13": [ + "org.scalafmt.config" + ], + "org.scalameta:scalafmt-sysops_2.13": [ + "org.scalafmt", + "org.scalafmt.sysops" + ], + "org.scalameta:scalameta_2.13": [ + "scala.meta", + "scala.meta.contrib", + "scala.meta.contrib.equality", + "scala.meta.contrib.implicits", + "scala.meta.contrib.instances" + ], + "org.scalameta:svm-subs": [ + "scala.meta.internal.svm_subs" + ], + "org.scalameta:trees_2.13": [ + "scala.meta", + "scala.meta.contrib", + "scala.meta.dialects", + "scala.meta.inputs", + "scala.meta.internal", + "scala.meta.internal.dialects", + "scala.meta.internal.inputs", + "scala.meta.internal.parsers", + "scala.meta.internal.prettyprinters", + "scala.meta.internal.tokenizers", + "scala.meta.internal.tokens", + "scala.meta.internal.trees", + "scala.meta.shaded.internal.fastparse", + "scala.meta.shaded.internal.fastparse.internal", + "scala.meta.shaded.internal.geny", + "scala.meta.tokenizers", + "scala.meta.tokens", + "scala.meta.trees" + ], "org.scalamock:scalamock_3": [ "org.scalamock", "org.scalamock.clazz", @@ -2415,6 +3161,9 @@ "org.slf4j:slf4j-simple": [ "org.slf4j.simple" ], + "org.typelevel:paiges-core_2.13": [ + "org.typelevel.paiges" + ], "org.xerial:sqlite-jdbc": [ "org.sqlite", "org.sqlite.core", @@ -2734,9 +3483,11 @@ "https://repo1.maven.org/maven2/": [ "com.amazonaws:aws-lambda-java-core", "com.amazonaws:aws-lambda-java-events", + "com.facebook:nailgun-server", "com.fasterxml.jackson.core:jackson-annotations", "com.fasterxml.jackson.core:jackson-core", "com.fasterxml.jackson.core:jackson-databind", + "com.github.scopt:scopt_2.13", "com.github.stephenc.jcip:jcip-annotations", "com.google.android:annotations", "com.google.api.grpc:proto-google-common-protos", @@ -2759,6 +3510,8 @@ "com.google.re2j:re2j", "com.google.s2a.proto.v2:s2a-proto", "com.google.truth:truth", + "com.lihaoyi:fansi_2.13", + "com.lihaoyi:sourcecode_2.13", "com.nimbusds:nimbus-jose-jwt", "com.squareup.okhttp3:okhttp", "com.squareup.okhttp3:okhttp-sse", @@ -2773,9 +3526,12 @@ "com.thesamet.scalapb:scalapb-json4s_3", "com.thesamet.scalapb:scalapb-runtime-grpc_3", "com.thesamet.scalapb:scalapb-runtime_3", + "com.typesafe:config", "commons-codec:commons-codec", "commons-logging:commons-logging", "dev.dirs:directories", + "io.get-coursier:interface", + "io.github.java-diff-utils:java-diff-utils", "io.grpc:grpc-api", "io.grpc:grpc-context", "io.grpc:grpc-protobuf", @@ -2811,6 +3567,8 @@ "javax.xml.bind:jaxb-api", "joda-time:joda-time", "junit:junit", + "net.java.dev.jna:jna", + "net.java.dev.jna:jna-platform", "org.apache.httpcomponents:httpclient", "org.apache.httpcomponents:httpcore", "org.checkerframework:checker-qual", @@ -2821,6 +3579,7 @@ "org.jetbrains.kotlin:kotlin-stdlib-jdk7", "org.jetbrains.kotlin:kotlin-stdlib-jdk8", "org.jetbrains:annotations", + "org.jline:jline:jar:jdk8", "org.json4s:json4s-ast_3", "org.json4s:json4s-core_3", "org.json4s:json4s-jackson-core_3", @@ -2829,12 +3588,34 @@ "org.jspecify:jspecify", "org.ow2.asm:asm", "org.reactivestreams:reactive-streams", + "org.scala-lang.modules:scala-collection-compat_2.13", "org.scala-lang.modules:scala-collection-compat_3", + "org.scala-lang:scala-compiler", "org.scala-lang:scala-library", + "org.scala-lang:scala-reflect", "org.scala-lang:scala3-library_3", + "org.scalameta:common_2.13", + "org.scalameta:io_2.13", + "org.scalameta:mdoc-parser_2.13", + "org.scalameta:metaconfig-core_2.13", + "org.scalameta:metaconfig-pprint_2.13", + "org.scalameta:metaconfig-typesafe-config_2.13", + "org.scalameta:munit-diff_2.13", + "org.scalameta:parsers_2.13", + "org.scalameta:scalafmt-cli_2.13", + "org.scalameta:scalafmt-config_2.13", + "org.scalameta:scalafmt-core_2.13", + "org.scalameta:scalafmt-dynamic_2.13", + "org.scalameta:scalafmt-interfaces", + "org.scalameta:scalafmt-macros_2.13", + "org.scalameta:scalafmt-sysops_2.13", + "org.scalameta:scalameta_2.13", + "org.scalameta:svm-subs", + "org.scalameta:trees_2.13", "org.scalamock:scalamock_3", "org.slf4j:slf4j-api", "org.slf4j:slf4j-simple", + "org.typelevel:paiges-core_2.13", "org.xerial:sqlite-jdbc", "software.amazon.awssdk:annotations", "software.amazon.awssdk:apache-client", @@ -2902,11 +3683,47 @@ "com.google.auto.value.processor.AutoValueProcessor" ] }, + "io.get-coursier:interface": { + "coursierapi.shaded.coursier.jniutils.NativeApi": [ + "coursierapi.internal.jniutils.ApiInternalNativeApi" + ] + }, "io.netty:netty-common": { "reactor.blockhound.integration.BlockHoundIntegration": [ "io.netty.util.internal.Hidden$NettyBlockHoundIntegration" ] }, + "org.jline:jline:jar:jdk8": { + "org/": [], + "org/jline/": [], + "org/jline/terminal/": [], + "org/jline/terminal/provider/": [], + "org/jline/terminal/provider/exec": [ + "class=org.jline.terminal.impl.exec.ExecTerminalProvider" + ], + "org/jline/terminal/provider/ffm": [ + "class=org.jline.terminal.impl.ffm.FfmTerminalProvider" + ], + "org/jline/terminal/provider/jansi": [ + "class=org.jline.terminal.impl.jansi.JansiTerminalProvider" + ], + "org/jline/terminal/provider/jna": [ + "class=org.jline.terminal.impl.jna.JnaTerminalProvider" + ], + "org/jline/terminal/provider/jni": [ + "class=org.jline.terminal.impl.jni.JniTerminalProvider" + ] + }, + "org.scala-lang:scala-compiler": { + "javax.script.ScriptEngineFactory": [ + "scala.tools.nsc.interpreter.shell.Scripted$Factory" + ] + }, + "org.scalameta:scalafmt-dynamic_2.13": { + "org.scalafmt.interfaces.Scalafmt": [ + "org.scalafmt.dynamic.ScalafmtDynamic" + ] + }, "org.slf4j:slf4j-simple": { "org.slf4j.spi.SLF4JServiceProvider": [ "org.slf4j.simple.SimpleServiceProvider" diff --git a/scripts/pre-commit-gazelle.sh b/scripts/pre-commit-gazelle.sh index 1ad3b04df2..7ec153d070 100755 --- a/scripts/pre-commit-gazelle.sh +++ b/scripts/pre-commit-gazelle.sh @@ -4,8 +4,10 @@ set -e +export PATH="/opt/homebrew/bin:/usr/local/bin:$PATH" + # Run gazelle -bazel run //:gazelle 2>/dev/null +bazel run //:gazelle # Check if any BUILD files were modified if ! git diff --quiet -- '*.bazel' '**/BUILD' 'WORKSPACE*'; then diff --git a/scripts/pre-commit-scalafmt.sh b/scripts/pre-commit-scalafmt.sh new file mode 100755 index 0000000000..366df7a2ec --- /dev/null +++ b/scripts/pre-commit-scalafmt.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# Pre-commit hook wrapper for scalafmt. +# Runs the repository-pinned scalafmt CLI through Bazel. + +set -e + +export PATH="/opt/homebrew/bin:/usr/local/bin:$PATH" + +if [ "$#" -eq 0 ]; then + exit 0 +fi + +repo_root="$(git rev-parse --show-toplevel)" +files=() +for file in "$@"; do + case "$file" in + /*) files+=("$file") ;; + *) files+=("$repo_root/$file") ;; + esac +done + +bazel run //tools:scalafmt -- --config "$repo_root/.scalafmt.conf" -i "${files[@]}" diff --git a/tools/BUILD.bazel b/tools/BUILD.bazel index f612a2f6b9..096a54258a 100644 --- a/tools/BUILD.bazel +++ b/tools/BUILD.bazel @@ -72,6 +72,15 @@ declare_deps_provider( ], ) +java_binary( + name = "scalafmt", + main_class = "org.scalafmt.cli.Cli", + visibility = ["//visibility:public"], + runtime_deps = [ + "@maven//:org_scalameta_scalafmt_cli_2_13", + ], +) + declare_deps_provider( name = "custom_compile_deps", deps_id = "scalapb_compile_deps",