├── .gitignore ├── .scalafmt.conf ├── CODE_OF_CONDUCT.md ├── LICENSE ├── NOTICE ├── README.md ├── advance ├── artifactory ├── artifactory-lightbend.xml └── artifactory-scala-ci.xml ├── community.conf ├── core.conf ├── core ├── acyclic.conf ├── genjavadoc.conf ├── kind-projector.conf ├── scalafix.conf ├── scalafmt.conf ├── scalameta.conf ├── silencer.conf └── wartremover.conf ├── narrow ├── nightly.properties ├── proj ├── advxml.conf ├── airframe.conf ├── akka-http-cors.conf ├── akka-http-json.conf ├── akka-http-session.conf ├── akka-http-webgoat.conf ├── akka-http.conf ├── akka-management.conf ├── akka-persistence-cassandra.conf ├── akka-persistence-jdbc.conf ├── akka-streams-tcp-chat.conf ├── akka.conf ├── algebird.conf ├── algebra.conf ├── alpakka-kafka.conf ├── americium.conf ├── ammonite.conf ├── atto.conf ├── avro4s.conf ├── base64.conf ├── better-files.conf ├── better-monadic-for.conf ├── better-tostring.conf ├── bijection.conf ├── blaze.conf ├── boopickle.conf ├── breeze.conf ├── cachecontrol.conf ├── case-app.conf ├── cask.conf ├── castor.conf ├── catbird.conf ├── cats-effect-cps.conf ├── cats-effect-testing.conf ├── cats-effect-tutorial.conf ├── cats-effect.conf ├── cats-mtl.conf ├── cats-parse.conf ├── cats-retry.conf ├── cats-testkit-scalatest.conf ├── cats-time.conf ├── cats.conf ├── chimney.conf ├── circe-config.conf ├── circe-generic-extras.conf ├── circe-jackson.conf ├── circe.conf ├── ciris.conf ├── claimant.conf ├── coulomb.conf ├── curryhoward.conf ├── data-class.conf ├── decline.conf ├── difflicious.conf ├── diffx.conf ├── dijon.conf ├── discipline-munit.conf ├── discipline-scalatest.conf ├── discipline-specs2.conf ├── discipline.conf ├── dispatch.conf ├── doobie.conf ├── doodle.conf ├── droste.conf ├── eff.conf ├── enumeratum.conf ├── euler.conf ├── expecty.conf ├── expression-evaluator.conf ├── fabric.conf ├── fansi.conf ├── fast-string-interpolator.conf ├── fastparse.conf ├── fastscala.conf ├── fetch.conf ├── finagle.conf ├── finch.conf ├── formless.conf ├── fpinscala.conf ├── fs2-chat.conf ├── fs2.conf ├── geny.conf ├── giter8.conf ├── github4s.conf ├── grizzled.conf ├── hasher.conf ├── http4s-jwt-auth.conf ├── http4s-parboiled2.conf ├── http4s.conf ├── implicitbox.conf ├── ip4s.conf ├── jackson-module-scala.conf ├── jardiff.conf ├── jawn-fs2.conf ├── jawn.conf ├── json4s.conf ├── jsoniter-scala.conf ├── jwt-scala.conf ├── kafka.conf ├── kamon.conf ├── kits.conf ├── kittens.conf ├── lagom.conf ├── libra.conf ├── lift-json.conf ├── lightbend-emoji.conf ├── lila-ws.conf ├── log4cats.conf ├── log4s.conf ├── machinist.conf ├── macrolizer.conf ├── macwire.conf ├── magnolia.conf ├── mainargs.conf ├── mdoc.conf ├── metaconfig.conf ├── metals.conf ├── metrics-scala.conf ├── mima.conf ├── minitest.conf ├── mockito-scala.conf ├── moduload.conf ├── monix-bio.conf ├── monix-nio.conf ├── monix.conf ├── monocle.conf ├── mouse.conf ├── multibot.conf ├── munit-cats-effect.conf ├── munit-snapshot.conf ├── munit.conf ├── natchez.conf ├── nscala-time.conf ├── os-lib.conf ├── paiges.conf ├── parboiled.conf ├── parboiled2.conf ├── parsley.conf ├── pascal.conf ├── pass4s.conf ├── perfolation.conf ├── pfps-shopping-cart.conf ├── play-file-watch.conf ├── play-json.conf ├── play-webgoat.conf ├── play-ws.conf ├── playframework.conf ├── portable-scala-reflect.conf ├── pprint.conf ├── prog-scala-examples.conf ├── pureconfig.conf ├── quicklens.conf ├── redis4cats.conf ├── refined.conf ├── requests-scala.conf ├── runtime-scaladoc-reader.conf ├── sbinary.conf ├── sbt-io.conf ├── scaffeine.conf ├── scala-async.conf ├── scala-collection-compat.conf ├── scala-collection-contrib.conf ├── scala-collection-laws.conf ├── scala-common.conf ├── scala-commons.conf ├── scala-hedgehog.conf ├── scala-java-time.conf ├── scala-java8-compat.conf ├── scala-js-stubs.conf ├── scala-library-next.conf ├── scala-logging.conf ├── scala-newtype.conf ├── scala-parallel-collections.conf ├── scala-parser-combinators.conf ├── scala-pet-store.conf ├── scala-records.conf ├── scala-sculpt.conf ├── scala-ssh.conf ├── scala-stm.conf ├── scala-supertagged.conf ├── scala-swing.conf ├── scala-typed-holes.conf ├── scala-xml.conf ├── scalac-options.conf ├── scalacheck-effect.conf ├── scalacheck-shapeless.conf ├── scalacheck.conf ├── scalachess.conf ├── scaladex.conf ├── scalafix-rules.conf ├── scalafx.conf ├── scalaj-http.conf ├── scalajson.conf ├── scalalib.conf ├── scalamock.conf ├── scalapb.conf ├── scalaprops.conf ├── scalariform.conf ├── scalasql.conf ├── scalastyle.conf ├── scalatags.conf ├── scalatest.conf ├── scalatestplus-testng.conf ├── scalikejdbc.conf ├── scallop.conf ├── scapegoat.conf ├── scastie.conf ├── scodec-bits.conf ├── scodec-cats.conf ├── scodec-stream.conf ├── scodec.conf ├── sconfig.conf ├── scopt.conf ├── scoverage.conf ├── scribe.conf ├── scrooge.conf ├── shapeless-java-records.conf ├── shapeless.conf ├── singleton-ops.conf ├── sjson-new.conf ├── skunk.conf ├── slick.conf ├── sourcecode.conf ├── specs2.conf ├── spire.conf ├── spliff.conf ├── spray-json.conf ├── squants.conf ├── ssl-config.conf ├── sttp-model.conf ├── sttp-shared.conf ├── sttp.conf ├── treehugger.conf ├── tsec.conf ├── tut.conf ├── twiddles.conf ├── twirl.conf ├── twitter-util.conf ├── twotails.conf ├── typename.conf ├── unfiltered.conf ├── unindent.conf ├── unique.conf ├── unused-code.conf ├── upickle.conf ├── utest.conf ├── vault.conf ├── verify.conf ├── weaver-test.conf └── zinc.conf ├── projs.conf ├── report ├── resolvers.conf ├── run └── scripts ├── jobs └── integrate │ └── community-build └── log4j.properties /.gitignore: -------------------------------------------------------------------------------- 1 | .scala-build/ 2 | .dbuild/ 3 | .ivy2/ 4 | .m2/ 5 | /clones-*/ 6 | /dbuild-*/ 7 | /target-*/ 8 | /.config/ 9 | /.npm/ 10 | /dbuild-*.tgz 11 | /.gnupg/ 12 | /Library/Caches/ 13 | /logs/ 14 | /project/ 15 | /report.html 16 | /.scala/ 17 | /.bsp/ 18 | -------------------------------------------------------------------------------- /.scalafmt.conf: -------------------------------------------------------------------------------- 1 | version = 3.3.1 2 | runner.dialect = scala3 3 | maxColumn = 100 4 | newlines.source = keep 5 | newlines.alwaysBeforeElseAfterCurlyIf = true 6 | indentOperator.excludeRegex = "^$" 7 | danglingParentheses.defnSite = false 8 | danglingParentheses.callSite = false 9 | rewrite.trailingCommas.style = keep 10 | binPack.literalsExclude = [] 11 | binPack.literalsIncludeSimpleExpr = true 12 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | all repositories in these organizations: 2 | 3 | * [scala](https://github.com/scala) 4 | * [scalacenter](https://github.com/scalacenter) 5 | * [lampepfl](https://github.com/lampepfl) 6 | 7 | are covered by the Scala Code of Conduct: https://scala-lang.org/conduct/ 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2013-2024 Lightbend, Inc. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Scala 2 Community Build 2 | 3 | In the 2.13.x branch of this repository we build and test a large 4 | corpus of open-source Scala 2.13 projects. Everything is built from 5 | source using Akka's [dbuild](https://github.com/lightbend-labs/dbuild) 6 | tool. 7 | 8 | This project is maintained by the Scala team at Akka Inc., as part of 9 | our overall maintenance of the Scala compiler and standard library. 10 | 11 | **How big is it?** 12 | The 2.13 build contains **over 2 million lines** of Scala code 13 | from **250 repos**, and it takes about **14 hours** to run, 14 | as of September 2023. 15 | 16 | **Why do this?** The main goal is to guard against regressions in new 17 | versions of Scala (language, standard library, and modules). This complements 18 | the regression test suite we maintain in [scala/scala](https://github.com/scala/scala). 19 | It's also a service to the open source community, providing early notice of 20 | issues and incompatibilities. 21 | 22 | **Can I run it myself?** Sure, just clone the repo and `./run`. 23 | 24 | ## Scala 3? 25 | 26 | here: [VirtusLab/community-build3](https://github.com/VirtusLab/community-build3) 27 | 28 | ## News 29 | 30 | * August 31, 2021: [Scala 2.13 community build radically simplified](https://contributors.scala-lang.org/t/scala-2-13-community-build-radically-simplified/5244) 31 | * February 20, 2020: [Scala 2 community build reaches goals](https://www.scala-lang.org/2020/02/20/community-build.html) 32 | * January 13, 2020: [2.13.x build gets big upgrade](https://contributors.scala-lang.org/t/community-build-progress-report-august-2019/3573/9) 33 | * October 17, 2019: [Maintainability improvements made](https://contributors.scala-lang.org/t/community-build-progress-report-august-2019/3573/8) 34 | * August 4, 2019: [Community build progress report](https://contributors.scala-lang.org/t/community-build-progress-report-august-2019/3573/6) 35 | * January 31, 2019: [Community build progress report](https://contributors.scala-lang.org/t/community-build-progress-report/2792) 36 | * January 18, 2019: [Scala community build grows, adds Scala 2.13 and JDK 11](https://www.scala-lang.org/2019/01/18/community-build.html) 37 | * January 16, 2018: [Community build grows to 141 projects, 2.8 million lines of code](http://scala-lang.org/2018/01/16/community-build-growth.html) 38 | 39 | ## Read more 40 | 41 | [Further documentation is in the wiki](https://github.com/scala/community-builds/wiki). 42 | -------------------------------------------------------------------------------- /advance: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/env -S scala shebang --quiet 2 | 3 | // to advance all projects: 4 | // % ./advance 5 | // to advance just selected ones: 6 | // % ./advance scalacheck scalatest specs2 7 | 8 | // "scala" is handled specially and updates nightly.properties 9 | 10 | //> using scala 3.7.0-RC3 11 | //> using option -source:future 12 | //> using dep org.scala-lang.modules::scala-parallel-collections:1.1.0 13 | //> using dep com.lihaoyi::os-lib:0.11.3 14 | 15 | import scala.collection.parallel.CollectionConverters.* // for .par 16 | 17 | def munge(l: String, replacement: String): String = 18 | if (l.startsWith(""" uri: "https://github""")) 19 | then s""" uri: "$replacement"""" 20 | else l 21 | 22 | def getSha(repo: String, ref: String): String = 23 | if (ref.matches("\\p{XDigit}{40}")) 24 | then ref 25 | else 26 | import scala.sys.process.* 27 | val cmd = s"git ls-remote $repo $ref" 28 | def matches(s: String) = 29 | s.containsSlice("refs/heads/") || s.containsSlice("refs/tags/") 30 | Process(cmd).lazyLines.find(matches) match 31 | case Some(line) => 32 | line.split("\\s").head 33 | case None => 34 | throw new RuntimeException(s"$repo $ref") 35 | 36 | // regexes for matching first line of each project's config 37 | // note that we require an explicit tag or branch name, 38 | // or a SHA (which must be the whole 40 characters). 39 | // (dbuild defaults to `master`, but I prefer to make it explicit, 40 | // to avoid confusion over whether the default is `master` or 41 | // the repo's own default branch, which might be called something else) 42 | val GitHub = """// (https://github.com/\S*.git)#(\S*)(\s*.*)""".r 43 | val Ivy = """// ivy:.*""".r 44 | 45 | def filesIn(dir: String): Seq[os.Path] = 46 | os.list(os.pwd / dir).filter(_.ext == "conf").toSeq 47 | val allFiles = filesIn("core") ++ filesIn("proj") 48 | val selectedFiles = 49 | if args.isEmpty then 50 | allFiles 51 | else 52 | allFiles.filter(file => args.contains(file.baseName)) 53 | 54 | if selectedFiles.isEmpty && !args.contains("scala") then 55 | println("no matches") 56 | sys.exit(1) 57 | 58 | for file <- selectedFiles.par 59 | do 60 | val lines = os.read.lines(file).to(Vector) 61 | lines.head match 62 | case GitHub(repo, ref, comment) => 63 | val uri = s"$repo#${getSha(repo, ref)}" 64 | println(uri) // indicate progress 65 | os.write.over(file, 66 | lines.map(munge(_, uri)).mkString("", "\n", "\n")) 67 | case bad => 68 | throw new IllegalArgumentException(bad) 69 | 70 | // now handle "scala" 71 | 72 | val formatter = 73 | java.time.format.DateTimeFormatter.ofPattern( 74 | "MMMM d, yyyy") 75 | 76 | // returns: (version number, date) 77 | def nightly(branch: String = "2.13.x"): (String, String) = 78 | val sha = 79 | os.proc("gh", "api", s"repos/scala/scala/git/ref/heads/$branch", 80 | "--jq", ".object.sha") 81 | .call().out.lines().head 82 | val dateString = 83 | os.proc("gh", "api", s"repos/scala/scala/branches/$branch", 84 | "--jq", ".commit.commit.author.date") 85 | .call().out.lines().head 86 | val date = java.time.ZonedDateTime.parse(dateString).format(formatter) 87 | val version = 88 | os.proc("gh", "api", 89 | "-H", "Accept: application/vnd.github.v3.raw", 90 | s"repos/scala/scala/contents/build.sbt?ref=$branch") 91 | .call().out.lines() 92 | .collectFirst: 93 | case s"""${_}Global / baseVersion${_}"$base"${_}""" => 94 | s"$base-bin-${sha.take(7)}" 95 | .get 96 | (version, date) 97 | 98 | if args.isEmpty || args.contains("scala") then 99 | val today = 100 | java.time.LocalDate.now().format(formatter) 101 | val (version, versionDate) = nightly() 102 | val file = os.pwd / "nightly.properties" 103 | os.write.over(file, 104 | s"""|# $versionDate (latest as of $today) 105 | |nightly=$version 106 | |""".stripMargin) 107 | print(os.read(file)) 108 | -------------------------------------------------------------------------------- /core.conf: -------------------------------------------------------------------------------- 1 | build += { 2 | 3 | space: scala 4 | 5 | cross-version: [ disabled, standard ] 6 | 7 | // all dependencies are binary 8 | check-missing: [ false, false ] 9 | 10 | extraction-version: ${vars.scala-version} 11 | sbt-version: ${vars.sbt-version} 12 | sbt-java-options: ${vars.sbt-java-options} 13 | 14 | projects: [ 15 | 16 | ${vars.proj.acyclic} 17 | ${vars.proj.genjavadoc} 18 | ${vars.proj.kind-projector} 19 | ${vars.proj.scalafix} 20 | ${vars.proj.scalafmt} 21 | ${vars.proj.scalameta} 22 | ${vars.proj.silencer} 23 | ${vars.proj.wartremover} 24 | 25 | ]} 26 | -------------------------------------------------------------------------------- /core/acyclic.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/acyclic.git#community-build-2.13 # was com-lihaoyi, master 2 | 3 | // forked to add an sbt build; fork refreshed July 2023 4 | 5 | vars.proj.acyclic: ${vars.base} { 6 | name: "acyclic" 7 | uri: "https://github.com/scalacommunitybuild/acyclic.git#118318316e23fbf81a6b5688629a8282ba120d41" 8 | 9 | extra.projects: ["acyclic"] 10 | // try to get working at some point? 11 | extra.test-tasks: ["compile"] 12 | } 13 | -------------------------------------------------------------------------------- /core/genjavadoc.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/lightbend/genjavadoc.git#main 2 | 3 | vars.proj.genjavadoc: ${vars.base} { 4 | name: "genjavadoc" 5 | uri: "https://github.com/lightbend/genjavadoc.git#85623adddb28308c59dc6f076617a52a74864fe4" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /core/kind-projector.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/kind-projector.git#community-build-2.13 # was typelevel, 51ffa999 2 | 3 | // frozen (May 2021) just before an incompatible change: 4 | // https://github.com/typelevel/kind-projector/pull/186 5 | // forked (September 2021) to make tests compile under -Xsource:3 6 | 7 | vars.proj.kind-projector: ${vars.base} { 8 | name: "kind-projector" 9 | uri: "https://github.com/scalacommunitybuild/kind-projector.git#93fabc53bbe43f19ef1e4e85d8e4a665a6fb3e1c" 10 | 11 | } 12 | -------------------------------------------------------------------------------- /core/scalafix.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacenter/scalafix.git#main 2 | 3 | vars.proj.scalafix: ${vars.base} { 4 | name: "scalafix" 5 | uri: "https://github.com/scalacenter/scalafix.git#00f1aa2d9b57e7f8993a7febaf3ae2179ba2e4ad" 6 | 7 | extra.options: ["-Dscala213.nightly="${vars.scala-version}] 8 | extra.projects: ["*2_13*"] 9 | extra.exclude: ["docs2_13", "*3_5_*", "*3_3_*", "*3_6_*", "*macros3"] 10 | extra.commands: ${vars.default-commands} [ 11 | "removeScalacOptions -release 8" 12 | // not investigated 13 | """set unit.allProjects.map(_._1).find(_.id.startsWith("unit2_13_")).get / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "CliGitDiffSuite.scala"""" 14 | // not investigated; it's not finding a dbuild-built scalafix-cli artifact when running the tests 15 | """set integration.allProjects.map(_._1).find(_.id.startsWith("integration2_13_")).get / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())""" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /core/scalafmt.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalameta/scalafmt.git#main 2 | 3 | vars.proj.scalafmt: ${vars.base} { 4 | name: "scalafmt" 5 | uri: "https://github.com/scalameta/scalafmt.git#f1d02893a63342b96783ec8bdff7c38aa694c3e5" 6 | 7 | extra.projects: ["coreJVM", "cli", "tests", "dynamic"] 8 | extra.commands: ${vars.default-commands} [ 9 | // CliTest uses mdoc which requires Java 11+, and dbuild hangs. 10 | // we lack a slicker way to tell dbuild not to even try to build the project 11 | // on Java 8, so: 12 | """eval require(scala.util.Properties.isJavaAtLeast("11"))""" 13 | // context: https://github.com/scalameta/scalafmt/pull/4497 14 | """set ThisBuild / dependencyOverrides -= "org.jline" % "jline" % "3.23.0"""" 15 | // not investigated? I don't remember 16 | """set tests.jvm / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "CliTest.scala"""" 17 | """set sysops.jvm / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "GitOpsTest.scala"""" 18 | """set dynamic.jvm / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "DynamicSuite.scala"""" 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /core/scalameta.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalameta/scalameta.git#v4.13.2 # was main 2 | 3 | // we often use a tag here rather than track a branch, in the 4 | // interest of stability. whatever tag scalafmt and/or scalafix and/or metals expect 5 | 6 | vars.proj.scalameta: ${vars.base} { 7 | name: "scalameta" 8 | uri: "https://github.com/scalameta/scalameta.git#d3e1a801e7e78f04afb3a31373a5481e9fea50f1" 9 | 10 | extra.projects: ["semanticdbScalacPlugin", "testkitJVM"] 11 | extra.commands: ${vars.default-commands} [ 12 | // use right version-specific source directories regardless of our weird dbuild Scala version numbers 13 | """set common.jvm / Compile / unmanagedSourceDirectories += baseDirectory.value / "scalameta" / "common" / "shared" / "src" / "main" / "scala-2.13"""" 14 | """set semanticdbScalacCore / Compile / unmanagedSourceDirectories += baseDirectory.value / "semanticdb" / "scalac" / "library" / "src" / "main" / "scala-2.13"""" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /core/silencer.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/ghik/silencer.git#master 2 | 3 | vars.proj.silencer: ${vars.base} { 4 | name: "silencer" 5 | uri: "https://github.com/ghik/silencer.git#a284d4268475554ddb6597dbf9eea5ecfc63842e" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /core/wartremover.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/wartremover/wartremover.git#9bfd97a5ec1810463ef741482c416a19d8d76f58 # was master 2 | 3 | vars.proj.wartremover: ${vars.base} { 4 | name: "wartremover" 5 | uri: "https://github.com/wartremover/wartremover.git#9bfd97a5ec1810463ef741482c416a19d8d76f58" 6 | 7 | extra.exclude: [ 8 | "sbt-plugin" 9 | "core-cross-binary" // same artifact(s) as "core" 10 | ] 11 | deps.ignore: ["org.scala-sbt#scripted-plugin"] 12 | check-missing: false 13 | extra.commands: ${vars.default-commands} [ 14 | // we exclude these test sources because they contain code that fails to compile under 15 | // -Xsource:3 (which we want to be able to test in the community build) 16 | """set core / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "StringPlusAnyTest.scala" || "UnsafeTest.scala"""" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /narrow: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/env -S scala shebang --quiet 2 | 3 | // to narrow projs.conf to one project: 4 | // % ./narrow scalacheck 5 | // or several: 6 | // % ./narrow scalacheck scalatest specs2 7 | // to un-narrow, pass no arguments: 8 | // % ./narrow 9 | 10 | //> using scala 3.7.0-RC3 11 | //> using option -deprecation -source:future 12 | //> using dep com.lihaoyi::os-lib:0.11.3 13 | 14 | val projs: Seq[String] = 15 | if args.isEmpty then 16 | os.list(os.pwd / "proj") 17 | .filter(_.ext == "conf") 18 | .map(_.baseName) 19 | .toSeq 20 | else 21 | args.toSeq 22 | val out = os.pwd / "projs.conf" 23 | os.write.over(out, 24 | "// automatically generated by `narrow` script\n\n") 25 | for proj <- projs.toSeq.sorted do 26 | os.write.append(out, 27 | s"""|build += { 28 | | space: scala.$proj 29 | | check-missing: [false, false] 30 | | cross-version: [disabled, standard] 31 | | extraction-version: $${vars.scala-version} 32 | | sbt-version: $${vars.sbt-version} 33 | | sbt-java-options: $${vars.sbt-java-options} 34 | | projects: [$${vars.proj.$proj}] 35 | |} 36 | |""".stripMargin) 37 | -------------------------------------------------------------------------------- /nightly.properties: -------------------------------------------------------------------------------- 1 | # May 23, 2025 (latest as of May 26, 2025) 2 | nightly=2.13.17-bin-f4ca74b 3 | -------------------------------------------------------------------------------- /proj/advxml.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/geirolz/advxml.git#main 2 | 3 | vars.proj.advxml: ${vars.base} { 4 | name: "advxml" 5 | uri: "https://github.com/geirolz/advxml.git#01ca690fb91ad8bd9e1d877276adb4d11475343b" 6 | 7 | extra.commands: ${vars.default-commands} [ 8 | "appendScalacOptions -Xsource-features:eta-expand-always" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /proj/airframe.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/wvlet/airframe.git#main 2 | 3 | vars.proj.airframe: ${vars.base} { 4 | name: "airframe" 5 | uri: "https://github.com/wvlet/airframe.git#4d66269dcc75fc3c920dfdf2c6c838e68cd7c46b" 6 | 7 | extra.options: ["-Xmx3g"] 8 | extra.projects: ["communityBuild"] // no Scala.js plz 9 | extra.commands: ${vars.default-commands} [ 10 | // just compile the tests in the ulid subproject, don't run them; see 11 | // https://github.com/scala/community-build/pull/1425 (June 2021) 12 | "set ulid.jvm / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 13 | // ditto for parquet; see 14 | // https://github.com/scala/community-build/pull/1515 (December 2021) 15 | "set parquet / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /proj/akka-http-cors.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/lomigmegard/akka-http-cors.git#master 2 | 3 | // dependency of sttp 4 | 5 | vars.proj.akka-http-cors: ${vars.base} { 6 | name: "akka-http-cors" 7 | uri: "https://github.com/lomigmegard/akka-http-cors.git#63cf6adbe2fa2ceb498a28f7610e67dc988978b7" 8 | 9 | extra.options: ["-Dakka.fail-mixed-versions=false"] 10 | extra.projects: ["akka-http-cors"] 11 | // I don't know what this error is about: 12 | // java.lang.AbstractMethodError: Method ch/megard/akka/http/cors/CorsDirectivesSpec.org$scalatest$Assertions$_setter_$assertionsHelper_$eq(Lorg/scalatest/Assertions$AssertionsHelper;)V is abstract 13 | // maybe some ScalaTest 3.0 vs 3.2 thing. perhaps revisit once Akka moves to 3.1 or 2? 14 | // for now, it's fine, we don't need to compile or run the tests 15 | extra.run-tests: false 16 | extra.commands: ${vars.default-commands} [ 17 | """set `akka-http-cors` / Test / unmanagedSourceDirectories := Seq()""" 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /proj/akka-http-json.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/hseeberger/akka-http-json.git#master 2 | 3 | // dependency of Scaladex (specifically akka-http-json4s; other 4 | // projects are just gravy) 5 | 6 | vars.proj.akka-http-json: ${vars.base} { 7 | name: "akka-http-json" 8 | uri: "https://github.com/hseeberger/akka-http-json.git#0baae29caedf0c3774f255132249c32b61037a47" 9 | 10 | // we might try to re-enable this when we have newer akka-http; right now 11 | // the tests don't compile and it looks like an akka-http version problem 12 | extra.run-tests: false 13 | extra.exclude: [ 14 | // library com.lihaoyi#upickle is not provided 15 | "akka-http-upickle" 16 | // library com.sksamuel.avro4s#avro4s-json is not provided 17 | "akka-http-avro4s" 18 | // library io.github.kag0#ninny is not provided 19 | "akka-http-ninny" 20 | // out of scope 21 | "akka-http-argonaut", "akka-http-zio-json" 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /proj/akka-http-session.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/softwaremill/akka-http-session.git#master 2 | 3 | // we only attempted the subproject scaladex needed at the time 4 | 5 | vars.proj.akka-http-session: ${vars.base} { 6 | name: "akka-http-session" 7 | uri: "https://github.com/softwaremill/akka-http-session.git#f015a450192110397103be7be909c0216e3acedd" 8 | 9 | extra.projects: ["core"] 10 | } 11 | -------------------------------------------------------------------------------- /proj/akka-http-webgoat.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/akka/akka-http-webgoat.git#main 2 | 3 | vars.proj.akka-http-webgoat: ${vars.base} { 4 | name: "akka-http-webgoat" 5 | uri: "https://github.com/akka/akka-http-webgoat.git#1487f341af095df98bc3e432aed579e37eb588b6" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proj/akka-http.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/akka-http.git#community-build-2.13 # was akka, v10.2.10 2 | 3 | // frozen before Akka license change 4 | 5 | vars.proj.akka-http: ${vars.base} { 6 | name: "akka-http" 7 | uri: "https://github.com/scalacommunitybuild/akka-http.git#2c163141f344cc2dcdb9938dc4263e3a23fce44b" 8 | 9 | extra.exclude: [ 10 | "docs", "akka-http-bench-jmh" 11 | // our scalafix version is too new 12 | "akka-http-scalafix-tests" 13 | ] 14 | extra.options: [ 15 | "-Xmx4g" 16 | // otherwise it defaults to Akka 2.5 and there are problems on JDK 17 17 | "-Dakka.http.build.akka.version=2.6.18" 18 | // not sure if still necessary, but it's fine 19 | "-Dakka.genjavadoc.enabled=false", "-Dakka.scaladoc.diagrams=false" 20 | // this is for the tests that run unforked... 21 | "-Dakka.fail-mixed-versions=false" 22 | ] 23 | extra.commands: ${vars.default-commands} [ 24 | // ...and this is for the tests that run forked 25 | """set ThisBuild / javaOptions += "-Dakka.fail-mixed-versions=false"""" 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /proj/akka-management.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/akka/akka-management.git#3e05bd10001dda94ab2ced9139d4d758ebc19435 # was main 2 | 3 | // frozen (October 2023) before a commit that added a dependency 4 | // on an Akka milestone not published to Maven Central 5 | 6 | vars.proj.akka-management: ${vars.base} { 7 | name: "akka-management" 8 | uri: "https://github.com/akka/akka-management.git#3e05bd10001dda94ab2ced9139d4d758ebc19435" 9 | 10 | // for now anyway, ambition level is just to include anything lagom needs 11 | extra.projects: ["akka-management", "cluster-bootstrap", "cluster-http"] 12 | // we got errors trying to run the tests, but Patrik suggests we not bother 13 | // (https://github.com/scala/community-builds/pull/962#issuecomment-522921834) 14 | extra.test-tasks: "compile" 15 | } 16 | -------------------------------------------------------------------------------- /proj/akka-persistence-cassandra.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/akka-persistence-cassandra.git#community-build-2.13 # was akka, master 2 | 3 | // forked (August 2021) to remove sbt-paradox-dependencies 4 | 5 | vars.proj.akka-persistence-cassandra: ${vars.base} { 6 | name: "akka-persistence-cassandra" 7 | uri: "https://github.com/scalacommunitybuild/akka-persistence-cassandra.git#e29a00268c274514ccd3d32c3991d9717f7f91a3" 8 | 9 | extra.exclude: ["cassandraBundle", "docs"] 10 | // after a few weeks of being plagued by intermittent test failures, I give up -- 11 | // if it were just the same handful of tests, I could exclude them, but it seems 12 | // to be a pervasive problem repo-wide (as of summer 2019 anyway) 13 | extra.test-tasks: ["compile"] 14 | extra.commands: ${vars.default-commands} [ 15 | "set every bintrayReleaseOnPublish := false" 16 | ] 17 | extra.options: ["-Dbintray.user=dummy", "-Dbintray.pass=dummy"] 18 | } 19 | -------------------------------------------------------------------------------- /proj/akka-persistence-jdbc.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/akka/akka-persistence-jdbc.git#60ecab2aa7f0e49698905bf33bbee8a8da20ab80 # was master 2 | 3 | // frozen (October 2023) before a commit that added a dependency 4 | // on an Akka milestone not published to Maven Central 5 | 6 | vars.proj.akka-persistence-jdbc: ${vars.base} { 7 | name: "akka-persistence-jdbc" 8 | uri: "https://github.com/akka/akka-persistence-jdbc.git#60ecab2aa7f0e49698905bf33bbee8a8da20ab80" 9 | 10 | // it isn't clear to me that there are any tests we can run without 11 | // doing the Docker stuff in their test.sh script. we might ask the 12 | // Akka team if there is any segregation between unit vs. integration tests, 13 | // that kind of thing? 14 | extra.test-tasks: "compile" 15 | } 16 | -------------------------------------------------------------------------------- /proj/akka-streams-tcp-chat.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/johanandren/akka-streams-tcp-chat.git#master 2 | 3 | vars.proj.akka-streams-tcp-chat: ${vars.base} { 4 | name: "akka-streams-tcp-chat" 5 | uri: "https://github.com/johanandren/akka-streams-tcp-chat.git#f0209c5f07bae9bcf950adc3220cb0cdd34da93b" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proj/akka.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/akka/akka.git#v2.6.21 2 | 3 | // frozen before Akka license change 4 | 5 | // (a release-2.6 branch exists, but don't be fooled, it doesn't 6 | // have the latest 2.6 changes) 7 | 8 | vars.proj.akka: ${vars.base} { 9 | name: "akka" 10 | uri: "https://github.com/akka/akka.git#07c30366d9148b3e0110e46e8b329da1319c8532" 11 | 12 | extra.projects: ["akka-scala-nightly"] 13 | extra.exclude: [ 14 | "akka-docs" // this is Sphinx stuff, not really apropos here, no Sphinx on Jenkins anyway 15 | "akka-bench-jmh", // we'd have to add a resolver to get the JMH dependency, and we prefer not to run benchmarks here anyway 16 | ] 17 | extra.options: [ 18 | "-Dakka.genjavadoc.enabled=false", "-Dakka.scaladoc.diagrams=false", "-Dakka.build.aggregateSamples=false", "-Dakka.test.tags.exclude=performance,timing,long-running", "-Dakka.test.multi-in-test=false", "-Dakka.fail-mixed-versions=false" 19 | // repo readme recommended 20 | "-Xmx3g" 21 | ] 22 | // weird protobuf thing I don't understand, see https://github.com/scala/community-build/pull/1026 23 | extra.settings: ${vars.base.extra.settings} [ 24 | "ThisBuild / conflictWarning := ConflictWarning.disable" 25 | ] 26 | extra.commands: ${vars.default-commands} [ 27 | "set every targetSystemJdk := true" 28 | // https://github.com/scala/community-builds/issues/373 29 | "set every apiURL := None" 30 | // they use -Wconf to enable fatal warnings, so we need to disable that specially 31 | "removeScalacOptions -Wconf:cat=unused-nowarn:s,any:e" 32 | // prone to intermittent failure 33 | // ForkJoinPoolStarvationSpec (fails on JDK 13 only, I think?) reported upstream: https://github.com/akka/akka/issues/28505 34 | """set actorTests / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "BackoffSupervisorSpec.scala" || "MetricsBasedResizerSpec.scala" || "EventStreamSpec.scala" || "ForkJoinPoolStarvationSpec.scala" || "ConfigSpec.scala"""" 35 | """set testkit / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "CoronerSpec.scala"""" 36 | // intermittent failure (and, TcpSpec consistently fails on JDK 14, and TcpHelper depends on it) 37 | // DeprecatedTlsSpec: started failing every time on JDK 8 only?! 38 | """set streamTests / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "RestartSpec.scala" || "TlsSpec.scala" || "InputStreamSinkSpec.scala" || "ActorRefBackpressureSourceSpec.scala" || "FlowDelaySpec.scala" || "TcpSpec.scala" || "TcpHelper.scala" || "DeprecatedTlsSpec.scala"""" 39 | // so many intermittent failures I got tired of excluding them individually 40 | "set remote / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 41 | // prone to intermittent failure 42 | // LocalPubSubSpec & MessageAdapterSpec: https://github.com/akka/akka/issues/28885 43 | """set actorTypedTests / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "ActorContextPipeToSelfSpec.scala" || "ActorContextPipeToSelfTest.java" || "ActorContextSpec.scala" || "BubblingSampleTest.java" || "MailboxSelectorSpec.scala" || "LocalPubSubSpec.scala" || "MessageAdapterSpec.scala"""" 44 | """set cluster / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "ClusterSpec.scala" || "ClusterHeartbeatReceiverSpec.scala" || "ClusterMessageSerializerSpec.scala"""" 45 | """set clusterTools / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "ClusterSingletonLeaseSpec.scala"""" 46 | """set clusterSharding / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "SupervisionSpec.scala" || "ConcurrentStartupShardingSpec.scala" || "StartEntitySpec.scala"""" 47 | """set clusterTyped / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "ClusterReceptionistSpec.scala"""" 48 | """set coordination / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "LeaseDocSpec.scala" || "LeaseDocTest.java"""" 49 | // WriteAggregatorSpec: intermittent? 50 | // ReplicatedDataSerializerSpec: fails every time on JDK 16 51 | """set distributedData / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "WriteAggregatorSpec.scala" || "ReplicatedDataSerializerSpec.scala"""" 52 | // prone to intermittent failure. several other source files depend on PersistentActorSpec 53 | """set persistence / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "PersistentActorBoundedStashingSpec.scala" || "AbstractPersistentFSMTest.java" || "PersistentActorSpec.scala" || "EventSourcedActorFailureSpec.scala" || "TimerPersistentActorSpec.scala"""" 54 | // compile error I didn't investigate 55 | """set persistenceTyped / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "PersistentFsmToTypedMigrationCompileOnlyTest.java"""" 56 | // too many intermittent failures in too many different tests 57 | "set persistenceTyped / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 58 | ] 59 | } 60 | -------------------------------------------------------------------------------- /proj/algebird.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/twitter/algebird.git#develop 2 | 3 | // if develop proves fragile (e.g. if a SNAPSHOT dependency isn't found), 4 | // it's fine to use a tag 5 | 6 | vars.proj.algebird: ${vars.base} { 7 | name: "algebird" 8 | uri: "https://github.com/twitter/algebird.git#464917d6a3f2b1c9f2048e3dd38df5dd97edc965" 9 | 10 | extra.exclude: ["algebird-benchmark", "algebird-spark", "docs"] 11 | } 12 | -------------------------------------------------------------------------------- /proj/algebra.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/algebra.git#master 2 | 3 | vars.proj.algebra: ${vars.base} { 4 | name: "algebra" 5 | uri: "https://github.com/typelevel/algebra.git#d2322dc023a089bf22013e7a2438a574df4a4c8f" 6 | 7 | extra.projects: ["coreJVM", "lawsJVM"] // no Scala.js, no benchmarks, no docs 8 | } 9 | -------------------------------------------------------------------------------- /proj/alpakka-kafka.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/akka/alpakka-kafka.git#1c2118d4f73745463dd4e09a50d46a3a2129a4d7 # was main 2 | 3 | // frozen (October 2023) before a commit that added a dependency 4 | // on an Akka milestone not published to Maven Central 5 | 6 | vars.proj.alpakka-kafka: ${vars.base} { 7 | name: "alpakka-kafka" 8 | uri: "https://github.com/akka/alpakka-kafka.git#1c2118d4f73745463dd4e09a50d46a3a2129a4d7" 9 | 10 | extra.exclude: [ 11 | // out of scope 12 | "benchmarks", "docs" 13 | // missing deps: org.apache.kafka#kafka, io.github.embeddedkafka#embedded-kafka 14 | // it's okay to consider it out of scope; see Enno's remarks on 15 | // https://github.com/scala/community-builds/pull/969 16 | // (August 2021: but maybe we should revisit now that we're using binary dependencies 17 | // for everything?) 18 | "testkit", "tests" 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /proj/americium.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/sageserpent-open/americium.git#e6f3b8503dbff4c532329213761a43f43e628245 # was master 2 | 3 | // frozen (August 2024) because the build stopped extracting 4 | // on JDK 8 5 | 6 | vars.proj.americium: ${vars.base} { 7 | name: "americium" 8 | uri: "https://github.com/sageserpent-open/americium.git#e6f3b8503dbff4c532329213761a43f43e628245" 9 | 10 | extra.commands: ${vars.default-commands} [ 11 | "removeScalacOptions -Xsource:3" 12 | "appendScalacOptions -Xsource:3-cross" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /proj/ammonite.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/Ammonite.git#community-build-2.13 # was com-lihaoyi, main 2 | 3 | // forked to add sbt build (instead of mill); fork refreshed February 2025 4 | 5 | vars.proj.ammonite: ${vars.base} { 6 | name: "ammonite" 7 | uri: "https://github.com/scalacommunitybuild/Ammonite.git#00513bdb6bbfaf76923c8861576c19632c2f5cef" 8 | 9 | // it would be nice to actually run the tests and not just compile them... 10 | extra.test-tasks: ["compile"] 11 | } 12 | -------------------------------------------------------------------------------- /proj/atto.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/tpolecat/atto.git#master 2 | 3 | vars.proj.atto: ${vars.base} { 4 | name: "atto" 5 | uri: "https://github.com/tpolecat/atto.git#cf3e3fdb142d6086a2349d79f40213be7781e732" 6 | 7 | extra.exclude: ["*JS", "docs", "atto"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/avro4s.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/sksamuel/avro4s.git#release/4.0.x 2 | 3 | // 5.x will be for Scala 3 only, so we stick with 4.x 4 | 5 | vars.proj.avro4s: ${vars.base} { 6 | name: "avro4s" 7 | uri: "https://github.com/sksamuel/avro4s.git#a4aee30f04eb3f891d5d1e05e91979229dd060ac" 8 | 9 | extra.exclude: ["benchmarks"] 10 | extra.commands: ${vars.default-commands} [ 11 | // intermittently fails 12 | """set `avro4s-core` / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "GithubIssue387.scala"""" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /proj/base64.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/marklister/base64.git#master 2 | 3 | // dependency of github4s 4 | vars.proj.base64: ${vars.base} { 5 | name: "base64" 6 | uri: "https://github.com/marklister/base64.git#95503d379a3df261a59869f5766d772d8b51e31b" 7 | 8 | extra.projects: ["base64JVM"] // no Scala.js plz 9 | extra.commands: ${vars.default-commands} [ 10 | // compensate for a mistake in the build 11 | "removeScalacOptions Base64" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /proj/better-files.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/better-files.git#community-build-2.13 # was pathikrit, master 2 | 3 | // forked (February 2023) to remove scalafmt invocation that 4 | // was confusing dbuild 5 | 6 | vars.proj.better-files: ${vars.base} { 7 | name: "better-files" 8 | uri: "https://github.com/scalacommunitybuild/better-files.git#fb7c826e43027a771b95d5610e08088e966001e3" 9 | 10 | extra.commands: ${vars.default-commands} [ 11 | "set every scalafmtOnCompile := false" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /proj/better-monadic-for.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/oleg-py/better-monadic-for.git#master 2 | 3 | vars.proj.better-monadic-for: ${vars.base} { 4 | name: "better-monadic-for" 5 | uri: "https://github.com/oleg-py/better-monadic-for.git#d4e53c84cabc367a4882ebda5f0bfe5fec43ef13" 6 | 7 | extra.exclude: [ 8 | "scalazTests" 9 | // 2.13: pcplod is unmaintained, there is no 2.13 version 10 | "pcplodTests" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /proj/better-tostring.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/polyvariant/better-tostring.git#main 2 | 3 | vars.proj.better-tostring: ${vars.base} { 4 | name: "better-tostring" 5 | uri: "https://github.com/polyvariant/better-tostring.git#bc47b40e42a2f45a79a41583ea509b09d5b2b692" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proj/bijection.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/twitter/bijection.git#develop 2 | 3 | vars.proj.bijection: ${vars.base} { 4 | name: "bijection" 5 | uri: "https://github.com/twitter/bijection.git#35ecadc1a060167c8bff2a593c0b99b61327d65f" 6 | 7 | extra.settings: ${vars.base.extra.settings} [ 8 | // resolve version conflict (from sbt-scoverage, probably?) 9 | // one-deeper nesting level makes it apply to build definition 10 | ["""ThisBuild / libraryDependencySchemes += "org.scala-lang.modules" %% "scala-xml" % VersionScheme.Always"""] 11 | ] 12 | // at the moment let's just do the part scalafix needs. there are a bunch 13 | // of integration modules, but my hunch is they are likelier to cause 14 | // version headaches than to surface Scala regressions 15 | extra.projects: ["bijection-core"] 16 | } 17 | -------------------------------------------------------------------------------- /proj/blaze.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/http4s/blaze.git#main 2 | 3 | vars.proj.blaze: ${vars.base} { 4 | name: "blaze" 5 | uri: "https://github.com/http4s/blaze.git#f45d21f7cc0c4e1d7407be0ee806883452c3a5d0" 6 | 7 | extra.commands: ${vars.default-commands} [ 8 | "appendScalacOptions -Wconf:cat=scala3-migration:w" 9 | "set every gpgWarnOnFailure := true" 10 | "removeJavacOptions --release 8" 11 | // so we don't have to arrange for dbuild-built semanticdb to be brought in 12 | "set every semanticdbEnabled := false" 13 | // fails on JDK 11 only: https://github.com/http4s/blaze/issues/376 14 | """set core / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "SSLStageSuite.scala"""" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /proj/boopickle.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/suzaku-io/boopickle.git#master 2 | 3 | vars.proj.boopickle: ${vars.base} { 4 | name: "boopickle" 5 | uri: "https://github.com/suzaku-io/boopickle.git#95a41790a022f76bb1e1ea0357864b737403f4bd" 6 | 7 | extra.projects: ["boopickleJVM", "shapelessJVM"] // no Scala.js, no "perftests" 8 | } 9 | -------------------------------------------------------------------------------- /proj/breeze.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalanlp/breeze.git#master 2 | 3 | vars.proj.breeze: ${vars.base} { 4 | name: "breeze" 5 | uri: "https://github.com/scalanlp/breeze.git#118991106a0f676d26aec28d8a3689752836b275" 6 | 7 | extra.exclude: ["benchmark"] 8 | // compilation is slow, maybe more heap would help? 9 | extra.options: ["-Xmx4g"] 10 | extra.commands: ${vars.default-commands} [ 11 | // flaky 12 | """set math / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "OptimizationSpaceTest.scala" || "LinearAlgebraTest.scala" || "DenseMatrixTest.scala" || "CSCMatrixTest.scala" || "LUTest.scala" || "ProjectedQuasiNewtonTest.scala"""" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /proj/cachecontrol.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/playframework/cachecontrol.git#main 2 | 3 | vars.proj.cachecontrol: ${vars.base} { 4 | name: "cachecontrol" 5 | uri: "https://github.com/playframework/cachecontrol.git#83cafafc29c4b93532d217d9d5011f4fb769576f" 6 | 7 | extra.settings: ${vars.base.extra.settings} [ 8 | // dbuild gets confused if only crossScalaVersions is set?! 9 | """ThisBuild / scalaVersion := "2.13.10"""" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /proj/case-app.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/alexarchambault/case-app.git#77b4aa31c636f92339b17f422c451b255c879f7f # was main 2 | 3 | // frozen (June 2024) at last known green commit before the build 4 | // was changed from sbt to mill 5 | 6 | vars.proj.case-app: ${vars.base} { 7 | name: "case-app" 8 | uri: "https://github.com/alexarchambault/case-app.git#77b4aa31c636f92339b17f422c451b255c879f7f" 9 | 10 | // this is enough for scalafix, I didn't even try adding the rest 11 | extra.projects: ["coreJVM"] 12 | } 13 | -------------------------------------------------------------------------------- /proj/cask.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/cask.git#community-build-2.13 # was lihaoyi 2 | 3 | // forked to add sbt build (instead of mill) 4 | 5 | vars.proj.cask: ${vars.base} { 6 | name: "cask" 7 | uri: "https://github.com/scalacommunitybuild/cask.git#9362a1bd30796b2fe4c5a9625e772232eec9b985" 8 | 9 | } 10 | -------------------------------------------------------------------------------- /proj/castor.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/castor.git#community-build-2.13 # was lihaoyi, master 2 | 3 | vars.proj.castor: ${vars.base} { 4 | name: "castor" 5 | uri: "https://github.com/scalacommunitybuild/castor.git#a0d47381db2466a744a63061fbf53defc55ebc24" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proj/catbird.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/catbird.git#main 2 | 3 | vars.proj.catbird: ${vars.base} { 4 | name: "catbird" 5 | uri: "https://github.com/typelevel/catbird.git#bd84a11da84201cde44252a2cfc793b59439f3b3" 6 | 7 | extra.exclude: [ 8 | "benchmark" 9 | // we used to have this one but it started failing when we upgraded our 10 | // scalameta+scalafix; I suspect we could re-add this if catbird ever 11 | // upgraded their scalafix, but given the moribund status of Twitter OSS 12 | // generally, I don't know what the likelihood of that happening is. 13 | // in the meantime, it's fine to exclude this, it's probably not doing 14 | // much to test Scala itself 15 | "scalafix-tests" 16 | ] 17 | extra.commands: ${vars.default-commands} [ 18 | "set every gpgWarnOnFailure := true" 19 | // don't ask for GPG passphrase when running locally 20 | """set every gpgOptions := Seq("--yes", "--passphrase", "", "--pinentry-mode", "loopback")""" 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /proj/cats-effect-cps.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/cats-effect-cps.git#main 2 | 3 | vars.proj.cats-effect-cps: ${vars.base} { 4 | name: "cats-effect-cps" 5 | uri: "https://github.com/typelevel/cats-effect-cps.git#6624d099131cc161715cd9f9d7d65185a8e9c384" 6 | 7 | extra.settings: ${vars.base.extra.settings} [ 8 | // dbuild gets confused if only crossScalaVersions is set?! 9 | """ThisBuild / scalaVersion := "2.13.11"""" 10 | ] 11 | extra.exclude: ["*JS", "*Native"] 12 | } 13 | -------------------------------------------------------------------------------- /proj/cats-effect-testing.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/djspiewak/cats-effect-testing.git#series/0.x 2 | 3 | vars.proj.cats-effect-testing: ${vars.base} { 4 | name: "cats-effect-testing" 5 | uri: "https://github.com/djspiewak/cats-effect-testing.git#25d695ee505249112dce87ac07b74f89dd631cd9" 6 | 7 | extra.commands: ${vars.default-commands} [ 8 | "set every gpgWarnOnFailure := true" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /proj/cats-effect-tutorial.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/lrodero/cats-effect-tutorial.git#series/3.x 2 | 3 | vars.proj.cats-effect-tutorial: ${vars.base} { 4 | name: "cats-effect-tutorial" 5 | uri: "https://github.com/lrodero/cats-effect-tutorial.git#4214b276fe9097960b83d78abadb0633ebf6ac27" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proj/cats-effect.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/cats-effect.git#series/3.x 2 | 3 | vars.proj.cats-effect: ${vars.base} { 4 | name: "cats-effect" 5 | uri: "https://github.com/typelevel/cats-effect.git#7102a235fd8beeeb8b13131552706c4127b0fb7a" 6 | 7 | extra.exclude: [ 8 | "*JS", "*Native", "benchmarks", "docs" 9 | ] 10 | extra.commands: ${vars.default-commands} [ 11 | // don't ask for GPG passphrase when running locally 12 | """set every gpgOptions := Seq("--yes", "--passphrase", "", "--pinentry-mode", "loopback")""" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /proj/cats-mtl.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/cats-mtl.git#main 2 | 3 | vars.proj.cats-mtl: ${vars.base} { 4 | name: "cats-mtl" 5 | uri: "https://github.com/typelevel/cats-mtl.git#e1a26e4730bd7adba0a83da7dc8f8a5d06a55bd8" 6 | 7 | extra.exclude: ["*JS", "*Native"] 8 | extra.commands: ${vars.default-commands} [ 9 | // use right version-specific source directories regardless of our weird dbuild Scala version numbers 10 | """set core.jvm / Compile / unmanagedSourceDirectories += baseDirectory.value / "core" / "src" / "main" / "scala-2.13"""" 11 | // otherwise sbt-gpg errors on `publish` 12 | "set every gpgWarnOnFailure := true" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /proj/cats-parse.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/cats-parse.git#main 2 | 3 | vars.proj.cats-parse: ${vars.base} { 4 | name: "cats-parse" 5 | uri: "https://github.com/typelevel/cats-parse.git#7aa3f05e48f7a81701c10699d6e26326f31129d1" 6 | 7 | extra.exclude: ["bench", "docs", "*JS", "*Native"] 8 | extra.settings: ${vars.base.extra.settings} [ 9 | // resolve version conflict (from sbt-scoverage, probably?) 10 | // one-deeper nesting level makes it apply to build definition 11 | ["""ThisBuild / libraryDependencySchemes += "org.scala-lang.modules" %% "scala-xml" % VersionScheme.Always"""] 12 | ] 13 | extra.commands: ${vars.default-commands} [ 14 | "set every gpgWarnOnFailure := true" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /proj/cats-retry.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/cb372/cats-retry.git#series/3.x 2 | 3 | // main/4.x is Scala 3 only 4 | 5 | vars.proj.cats-retry: ${vars.base} { 6 | name: "cats-retry" 7 | uri: "https://github.com/cb372/cats-retry.git#90d7f5c15e143d05c75f04c54024e45ec594f4be" 8 | 9 | extra.projects: ["coreJVM"] 10 | } 11 | -------------------------------------------------------------------------------- /proj/cats-testkit-scalatest.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/cats-testkit-scalatest.git#main 2 | 3 | vars.proj.cats-testkit-scalatest: ${vars.base} { 4 | name: "cats-testkit-scalatest" 5 | uri: "https://github.com/typelevel/cats-testkit-scalatest.git#70a61fc87866c828a5f4859ebde08ddba5e8a25e" 6 | 7 | extra.exclude: ["*JS", "docs"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/cats-time.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/ChristopherDavenport/cats-time.git#main 2 | 3 | vars.proj.cats-time: ${vars.base} { 4 | name: "cats-time" 5 | uri: "https://github.com/ChristopherDavenport/cats-time.git#bbf97217ec39ba259babde5c100c2a1e26a1a18c" 6 | 7 | extra.exclude: ["*JS", "*Native", "docs"] 8 | extra.commands: ${vars.default-commands} [ 9 | "set every gpgWarnOnFailure := true" 10 | // don't ask for GPG passphrase when running locally 11 | """set every gpgOptions := Seq("--yes", "--passphrase", "", "--pinentry-mode", "loopback")""" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /proj/cats.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/cats.git#main 2 | 3 | vars.proj.cats: ${vars.base} { 4 | name: "cats" 5 | uri: "https://github.com/typelevel/cats.git#b0fa43a75c9d4bd3372da79c3e98e9dbce0a27af" 6 | 7 | extra.exclude: ["bench", "docs", "unidocs", "*JS", "*Native", "binCompatTest"] 8 | // tests are memory-hungry. hard to tell if occasional OutOfMemoryErrors are because 9 | // some random test input in a generative test hit a real bug, or whether memory needs 10 | // just fluctuate :-/ I've been gradually increasing this trying to fix an OOM in 11 | // ApplicativeSuite. the repo's own .jvmopts has 5g 12 | extra.options: ["-Xmx6g"] 13 | extra.commands: ${vars.default-commands} [ 14 | // don't ask for GPG passphrase when running locally 15 | """set every gpgOptions := Seq("--yes", "--passphrase", "", "--pinentry-mode", "loopback")""" 16 | // intermittent failures 17 | """set tests.jvm / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "ApplicativeSuite.scala"""" 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /proj/chimney.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalalandio/chimney.git#master 2 | 3 | vars.proj.chimney: ${vars.base} { 4 | name: "chimney" 5 | uri: "https://github.com/scalalandio/chimney.git#b670deaefb6af2825bd26696755d9e79efb96d29" 6 | 7 | extra.exclude: ["*3", "*2_12", "*JS", "*Native", "benchmarks", "chimneySandwichTests"] 8 | extra.commands: ${vars.default-commands} [ 9 | "appendScalacOptions -Xsource-features:eta-expand-always" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /proj/circe-config.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/circe/circe-config.git#master 2 | 3 | vars.proj.circe-config: ${vars.base} { 4 | name: "circe-config" 5 | uri: "https://github.com/circe/circe-config.git#e0d3d2e234e45bc8c92b830a6857933c2599fd12" 6 | 7 | extra.exclude: ["*JS", "*Native"] 8 | extra.commands: ${vars.default-commands} [ 9 | "set every gpgWarnOnFailure := true" 10 | // don't ask for GPG passphrase when running locally 11 | """set every gpgOptions := Seq("--yes", "--passphrase", "", "--pinentry-mode", "loopback")""" 12 | // so we don't have to arrange for dbuild-built semanticdb to be brought in 13 | "set every semanticdbEnabled := false" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /proj/circe-generic-extras.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/circe/circe-generic-extras.git#main 2 | 3 | vars.proj.circe-generic-extras: ${vars.base} { 4 | name: "circe-generic-extras" 5 | uri: "https://github.com/circe/circe-generic-extras.git#e8bf8d2764bae38d150f3a57c3642a54aa2d267e" 6 | 7 | extra.projects: ["genericExtrasJVM"] 8 | extra.settings: ${vars.base.extra.settings} [ 9 | // dbuild gets confused if only crossScalaVersions is set?! 10 | """ThisBuild / scalaVersion := "2.13.14"""" 11 | ] 12 | extra.commands: ${vars.default-commands} [ 13 | "set every gpgWarnOnFailure := true" 14 | // so we don't have to arrange for dbuild-built semanticdb to be brought in 15 | "set every semanticdbEnabled := false" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /proj/circe-jackson.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/circe/circe-jackson.git#master 2 | 3 | vars.proj.circe-jackson: ${vars.base} { 4 | name: "circe-jackson" 5 | uri: "https://github.com/circe/circe-jackson.git#c5d6f8700181517137e05a43a139d74a18026e62" 6 | 7 | // there are some others, but leaving it at this for now 8 | extra.projects: ["jackson217"] 9 | extra.commands: ${vars.default-commands} [ 10 | "set every gpgWarnOnFailure := true" 11 | "set every coverageEnabled := false" 12 | // so we don't have to arrange for dbuild-built semanticdb to be brought in 13 | "set every semanticdbEnabled := false" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /proj/circe.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/circe/circe.git#series/0.14.x 2 | 3 | vars.proj.circe: ${vars.base} { 4 | name: "circe" 5 | uri: "https://github.com/circe/circe.git#f5407111aa376e7d71f723a43adac67de8f97c1f" 6 | 7 | extra.exclude: [ 8 | "*JS", "*Native", "benchmark*", "scalajs*", "docs" 9 | ] 10 | extra.options: [ 11 | // I saw an OutOfMemoryError, hopefully this will help? 12 | "-Xmx6G" 13 | ] 14 | extra.commands: ${vars.default-commands} [ 15 | "set every gpgWarnOnFailure := true" 16 | // don't ask for passphrase when running locally 17 | """set every gpgKey := Some("")""" 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /proj/ciris.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/vlovgr/ciris.git#master 2 | 3 | vars.proj.ciris: ${vars.base} { 4 | name: "ciris" 5 | uri: "https://github.com/vlovgr/ciris.git#e115dc6ff17d9d5852bfd7eed45cdcf89948e429" 6 | 7 | extra.exclude: ["docs", "*JS", "*Native"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/claimant.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/claimant.git#master 2 | 3 | vars.proj.claimant: ${vars.base} { 4 | name: "claimant" 5 | uri: "https://github.com/typelevel/claimant.git#dc0ce840c3058c2edc44fa8aaed7b4e240948cc0" 6 | 7 | extra.settings: ${vars.base.extra.settings} [ 8 | // don't fail on scala-xml 1.x vs 2.x conflict 9 | // (one-deeper nesting level makes it apply to build definition) 10 | ["evictionErrorLevel := Level.Warn"] 11 | ] 12 | extra.exclude: ["root", "*JS", "*Native"] 13 | } 14 | -------------------------------------------------------------------------------- /proj/coulomb.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/erikerlandson/coulomb.git#develop 2 | 3 | // Stress-test of implicit chaining improvements from 4 | // https://github.com/scala/scala/pull/6050 5 | 6 | vars.proj.coulomb: ${vars.base} { 7 | name: "coulomb" 8 | uri: "https://github.com/erikerlandson/coulomb.git#2450d9b934b63260168224055aab04021f887f62" 9 | 10 | extra.projects: ["coulomb_testsJVM"] // builds & tests everything.... I think 11 | extra.commands: ${vars.default-commands} [ 12 | // don't ask for passphrase when running locally 13 | "set every gpgWarnOnFailure := true" 14 | // prevent sbt-gpg from asking for passphrase when running locally 15 | """set every gpgKey := Some("")""" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /proj/curryhoward.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/Chymyst/curryhoward.git#master 2 | 3 | vars.proj.curryhoward: ${vars.base} { 4 | name: "curryhoward" 5 | uri: "https://github.com/Chymyst/curryhoward.git#5f29a8c34f409eb520ee98280658b3aed22da42f" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proj/data-class.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/alexarchambault/data-class.git#main 2 | 3 | vars.proj.data-class: ${vars.base} { 4 | name: "data-class" 5 | uri: "https://github.com/alexarchambault/data-class.git#b36708380eafe5860a157040dcda0b279946b671" 6 | 7 | // the repo's .travis.yml does the following: 8 | // test test-proj-v1/publishLocal test-proj-v2/mimaReportBinaryIssues proj-v1-user/compile 9 | // I think trying to do something like in this in the dbuild context is probably more trouble 10 | // than it's actually worth 11 | extra.exclude: ["test-proj-*"] 12 | } 13 | -------------------------------------------------------------------------------- /proj/decline.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/bkirwi/decline.git#main 2 | 3 | vars.proj.decline: ${vars.base} { 4 | name: "decline" 5 | uri: "https://github.com/bkirwi/decline.git#93f2dbbb72c2e0a86ab833d989e5a8835d1ead6a" 6 | 7 | extra.projects: ["declineJVM", "refinedJVM"] // no Scala.js, no doc 8 | } 9 | -------------------------------------------------------------------------------- /proj/difflicious.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/jatcwang/difflicious.git#master 2 | 3 | vars.proj.difflicious: ${vars.base} { 4 | name: "difflicious" 5 | uri: "https://github.com/jatcwang/difflicious.git#a366b46f330310a6cae99eaf16c0e6bd18afb668" 6 | 7 | extra.exclude: ["docs", "benchmarks", "*3"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/diffx.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/softwaremill/diffx.git#master 2 | 3 | vars.proj.diffx: ${vars.base} { 4 | name: "diffx" 5 | uri: "https://github.com/softwaremill/diffx.git#10f841727e4c151186d4e2fbdb45a36acb920f8c" 6 | 7 | extra.exclude: [ 8 | "*JS", "*2_12", "*3" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /proj/dijon.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/jvican/dijon.git#master 2 | 3 | vars.proj.dijon: ${vars.base} { 4 | name: "dijon" 5 | uri: "https://github.com/jvican/dijon.git#41079d9e2eab5db8c9dee836d19e7633194afe81" 6 | 7 | extra.exclude: ["*JS", "*Native"] 8 | // I guess sbt-release-early is pulling in sbt-bintray?! 9 | extra.options: [ 10 | "-Dbintray.user=dummy", "-Dbintray.pass=dummy" 11 | ] 12 | extra.commands: ${vars.default-commands} [ 13 | "set every bintrayReleaseOnPublish := false" 14 | "set every bintrayOmitLicense := true" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /proj/discipline-munit.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/discipline-munit.git#main 2 | 3 | vars.proj.discipline-munit: ${vars.base} { 4 | name: "discipline-munit" 5 | uri: "https://github.com/typelevel/discipline-munit.git#0a3466d8bee8c7739915b7737f9926b94b41677e" 6 | 7 | extra.exclude: ["*JS", "*Native"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/discipline-scalatest.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/discipline-scalatest.git#main 2 | 3 | vars.proj.discipline-scalatest: ${vars.base} { 4 | name: "discipline-scalatest" 5 | uri: "https://github.com/typelevel/discipline-scalatest.git#555d933d28aab670216f8157e629ed5e48462de4" 6 | 7 | extra.exclude: ["*JS", "*Native", "docs"] 8 | extra.commands: ${vars.default-commands} [ 9 | "set every gpgWarnOnFailure := true" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /proj/discipline-specs2.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/discipline-specs2.git#main 2 | 3 | vars.proj.discipline-specs2: ${vars.base} { 4 | name: "discipline-specs2" 5 | uri: "https://github.com/typelevel/discipline-specs2.git#3e9f4f7a72c70d878cebda9b1d99b73cda34ce52" 6 | 7 | extra.exclude: ["*JS", "*Native", "docs"] 8 | extra.commands: ${vars.default-commands} [ 9 | "set every gpgWarnOnFailure := true" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /proj/discipline.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/discipline.git#main 2 | 3 | vars.proj.discipline: ${vars.base} { 4 | name: "discipline" 5 | uri: "https://github.com/typelevel/discipline.git#7ee9493e6a18da42d902e6dc88436ed8b4556722" 6 | 7 | extra.projects: ["coreJVM"] // no Scala.js please 8 | extra.settings: ${vars.base.extra.settings} [ 9 | // dbuild gets confused if only crossScalaVersions is set?! 10 | """ThisBuild / scalaVersion := "2.13.10"""" 11 | ] 12 | extra.commands: ${vars.default-commands} [ 13 | // "Credentials file [...] does not exist" 14 | "set every credentials := Seq()" 15 | // otherwise sbt-gpg errors on `publish` 16 | "set every gpgWarnOnFailure := true" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /proj/dispatch.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/reboot.git#community-build-2.13 # was dispatch, 1.1.x 2 | 3 | // forked (August 2021) to remove `-Xfatal-warnings` from the build definition -- 4 | // the way we were doing that before clashed with the `scalaVersion in ThisBuild` 5 | // hack in community.conf 6 | 7 | vars.proj.dispatch: ${vars.base} { 8 | name: "dispatch" 9 | uri: "https://github.com/scalacommunitybuild/reboot.git#93cae22a71a27454637d520ae2702dfad3fe3a99" 10 | 11 | extra.options: ["-Dsbt.classloader.close=false"] 12 | } 13 | -------------------------------------------------------------------------------- /proj/doobie.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/tpolecat/doobie.git#main 2 | 3 | vars.proj.doobie: ${vars.base} { 4 | name: "doobie" 5 | uri: "https://github.com/tpolecat/doobie.git#389ad7c9f6824570470ed0e4c591da0f90f72c2a" 6 | 7 | extra.options: ["-Xss16m"] // prevent stack overflow when compiling build definition 8 | extra.exclude: [ 9 | "docs", "bench" // out of scope 10 | "doobie" // just an aggregation, and causes missing-tut error 11 | ] 12 | extra.commands: ${vars.default-commands} [ 13 | "set every gpgWarnOnFailure := true" 14 | """set every gpgKey := Some("")""" 15 | // as per https://github.com/scala/community-builds/pull/835#issuecomment-455729365, 16 | // these subprojects require a Postgres instance for the tests to run 17 | "set postgres / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 18 | "set `postgres-circe` / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 19 | "set example / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 20 | "set hikari / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 21 | "set mysql / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /proj/doodle.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/underscoreio/doodle.git#d9011f06b15eafee9731a6740fb4de4bb5b146c1 # was main 2 | 3 | // frozen at a June 2023 commit before Scala 2 support was dropped 4 | 5 | vars.proj.doodle: ${vars.base} { 6 | name: "doodle" 7 | uri: "https://github.com/underscoreio/doodle.git#d9011f06b15eafee9731a6740fb4de4bb5b146c1" 8 | 9 | extra.exclude: [ 10 | "*JS" 11 | "docs", "unidocs" 12 | // underscoreio/doodle@71c505a added some build shenanigans here 13 | // that it doesn't seem worth trying to accommodate 14 | "examplesJVM" 15 | ] 16 | extra.commands: ${vars.default-commands} [ 17 | // so we don't have to arrange for dbuild-built semanticdb to be brought in 18 | "set every semanticdbEnabled := false" 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /proj/droste.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/higherkindness/droste.git#main 2 | 3 | vars.proj.droste: ${vars.base} { 4 | name: "droste" 5 | uri: "https://github.com/higherkindness/droste.git#b681eabb7953f6d455ca082fd5606e3e3682f19f" 6 | 7 | extra.exclude: [ 8 | // out of scope 9 | "*JS", "documentation", "readme", "coverage", "microsite" 10 | // [error] **** Missing dependency: the library io.github.stanch#reftree 11 | "reftree" 12 | ] 13 | extra.settings: ${vars.base.extra.settings} [ 14 | // sbt-github is complaining that this is missing; 15 | // maybe some variant of https://github.com/sbt/sbt-git/issues/171 ? oh well 16 | """ThisBuild / scmInfo := Some(ScmInfo(url("https://github.com/higherkindness/droste"), "scm:git:https://github.com/higherkindness/droste.git", Some("scm:git:git@github.com:higherkindness/droste.git")))""" 17 | ] 18 | extra.commands: ${vars.default-commands} [ 19 | // Scaladoc generation failure: 20 | // java.lang.ArrayIndexOutOfBoundsException: 110 21 | // scala.reflect.internal.util.BatchSourceFile.findLine$1(SourceFile.scala:199) 22 | "set coreJVM / Compile / doc / sources := List()" 23 | // https://github.com/higherkindness/droste/issues/121 24 | """set testsJVM / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "StreamTests.scala" || "ListTests.scala"""" 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /proj/eff.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/atnos-org/eff.git#master 2 | 3 | vars.proj.eff: ${vars.base} { 4 | name: "eff" 5 | uri: "https://github.com/atnos-org/eff.git#7f48b2b6b95ff96059edb8934bf3928a4e0ee6f5" 6 | 7 | extra.exclude: ["scalazJVM", "*JS", "*Native"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/enumeratum.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/enumeratum.git#community-build-2.13 # was lloydmeta, master 2 | 3 | // forked to tweak build for dbuild friendliness, 4 | // and to pull in https://github.com/lloydmeta/enumeratum/pull/292 for sbt 1.4 5 | 6 | vars.proj.enumeratum: ${vars.base} { 7 | name: "enumeratum" 8 | uri: "https://github.com/scalacommunitybuild/enumeratum.git#223ea6b12d573d4478fd292a64a9f901ab557865" 9 | 10 | extra.projects: [ 11 | "coreJVM", "coreJVMTests" 12 | // as for other subprojects, for now let's just pull in what lsp4s 13 | // needs. maybe add more later 14 | "enumeratumCirceJVM" 15 | ] 16 | deps.inject: ${vars.base.deps.inject} [ 17 | // no idea why this isn't picked up otherwise 18 | "com.lihaoyi#pprint" 19 | ] 20 | extra.commands: ${vars.default-commands} [ 21 | "set every scalafmtOnCompile := false" 22 | """set every doctestScalaTestVersion := Some("3.0.8")""" 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /proj/euler.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/SethTisue/Project-Euler.git#scala2 2 | 3 | // I know, it's a little weird to include my personal Project Euler 4 | // solutions, but it's actually a pretty broad-ranging assortment of 5 | // small, self-contained tests of the collections API. It has 6 | // caught many Scala bugs over the years. - Seth 7 | 8 | vars.proj.euler: ${vars.base} { 9 | name: "euler" 10 | uri: "https://github.com/SethTisue/Project-Euler.git#b14064c5f4846932d957158bdd562fb98f183455" 11 | 12 | // some solutions are heap-hungry; serial execution avoids intermittent OOM 13 | extra.commands: ${vars.default-commands} [ 14 | "set Test / parallelExecution := false" 15 | ] 16 | // hungry hungry heapos 17 | extra.options: ["-Xmx4g"] 18 | } 19 | -------------------------------------------------------------------------------- /proj/expecty.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/expecty.git#community-build-2.13 # was eed3si9n/develop 2 | 3 | // forked (March 2022) because 2.13.9 optimizes List.apply; 4 | // we should be able to unfork after 2.13.9 is released 5 | // and upstream has made the upgrade 6 | 7 | vars.proj.expecty: ${vars.base} { 8 | name: "expecty" 9 | uri: "https://github.com/scalacommunitybuild/expecty.git#6c6bec95241f1963189e4c5a763210bc9db14b4b" 10 | 11 | extra.projects: ["expecty"] // this is the 2.13 one 12 | extra.settings: ${vars.base.extra.settings} [ 13 | "Global / semanticdbEnabled := false" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /proj/expression-evaluator.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/plokhotnyuk/expression-evaluator.git#master 2 | 3 | vars.proj.expression-evaluator: ${vars.base} { 4 | name: "expression-evaluator" 5 | uri: "https://github.com/plokhotnyuk/expression-evaluator.git#b63affbeb7142e94844c062c1e8b59be55bd7f19" 6 | 7 | extra.settings: ${vars.base.extra.settings} [ 8 | // resolve version conflict (from sbt-scoverage, probably?) 9 | // one-deeper nesting level makes it apply to build definition 10 | ["""ThisBuild / libraryDependencySchemes += "org.scala-lang.modules" %% "scala-xml" % VersionScheme.Always"""] 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /proj/fabric.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/fabric.git#master 2 | 3 | vars.proj.fabric: ${vars.base} { 4 | name: "fabric" 5 | uri: "https://github.com/typelevel/fabric.git#ea22ed959eea1865cac0c86bdd13d59fae6c530c" 6 | 7 | extra.projects: ["*JVM"] 8 | extra.commands: ${vars.default-commands} [ 9 | // don't ask for GPG passphrase when running locally 10 | """set every gpgOptions := Seq("--yes", "--passphrase", "", "--pinentry-mode", "loopback")""" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /proj/fansi.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/fansi.git#community-build-2.13 # was lihaoyi, master 2 | 3 | // forked to bump a dependency; fork point is a May 2019 commit just before 4 | // sbt->mill move. (to use master instead, we'd have to write an sbt build) 5 | 6 | vars.proj.fansi: ${vars.base} { 7 | name: "fansi" 8 | uri: "https://github.com/scalacommunitybuild/fansi.git#63309b0dfc59dce9a85706ff6005cdb48932a83a" 9 | 10 | extra.projects: ["fansiJVM"] // no Scala.js 11 | extra.commands: ${vars.default-commands} [ 12 | "removeScalacOptions -target:jvm-1.7" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /proj/fast-string-interpolator.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/plokhotnyuk/fast-string-interpolator.git#master 2 | 3 | vars.proj.fast-string-interpolator: ${vars.base} { 4 | name: "fast-string-interpolator" 5 | uri: "https://github.com/plokhotnyuk/fast-string-interpolator.git#515f1ba518369148b60e18057ea5a6f99794ed1d" 6 | 7 | // Missing dependency: com.dongxiguo#fastring. likely out of scope anyway 8 | extra.exclude: ["fsi-benchmark*", "*JS", "*Native"] 9 | extra.settings: ${vars.base.extra.settings} [ 10 | // resolve version conflict (from sbt-scoverage, probably?) 11 | // one-deeper nesting level makes it apply to build definition 12 | ["""ThisBuild / libraryDependencySchemes += "org.scala-lang.modules" %% "scala-xml" % VersionScheme.Always"""] 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /proj/fastparse.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/fastparse.git#community-build-2.13 # was com-lihaoyi 2 | 3 | // 2.13: forked to add sbt build (instead of mill) 4 | 5 | vars.proj.fastparse: ${vars.base} { 6 | name: "fastparse" 7 | uri: "https://github.com/scalacommunitybuild/fastparse.git#1dbbb15fc28df7edf6f57e35d9089fb894d34af9" 8 | 9 | extra.commands: ${vars.default-commands} [ 10 | // historically, too prone to unexplained failure 11 | "set scalaparse / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /proj/fastscala.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/fastscala/fastscala.git#1ce523b393045d842e414b7759811e26e3017c20 # was main 2 | 3 | // frozen (December 2024) because the repo is on Scala 3 now 4 | 5 | vars.proj.fastscala: ${vars.base} { 6 | name: "fastscala" 7 | uri: "https://github.com/fastscala/fastscala.git#1ce523b393045d842e414b7759811e26e3017c20" 8 | 9 | extra.commands: ${vars.default-commands} [ 10 | // these tests appear to require a postgres instance, so we only compile them 11 | "set fs_db / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /proj/fetch.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/47degrees/fetch.git#main 2 | 3 | vars.proj.fetch: ${vars.base} { 4 | name: "fetch" 5 | uri: "https://github.com/47degrees/fetch.git#2cd9fd06f72e533471144e392f37cf885e00b4e2" 6 | 7 | extra.exclude: ["documentation", "microsite", "*JS"] 8 | extra.settings: ${vars.base.extra.settings} [ 9 | // sbt-github is complaining that this is missing; 10 | // maybe some variant of https://github.com/sbt/sbt-git/issues/171 ? oh well 11 | """ThisBuild / scmInfo := Some(ScmInfo(url("https://github.com/47degrees/fetch"), "scm:git:https://github.com/47degrees/fetch.git", Some("scm:git:git@github.com:47degrees/fetch.git")))""" 12 | ] 13 | extra.commands: ${vars.default-commands} [ 14 | // requires GitHub API token 15 | """set `fetch-examples` / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "GithubExample.scala"""" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /proj/finagle.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/twitter/finagle.git#finagle-22.1.0 2 | 3 | // if develop proves fragile (e.g. if a SNAPSHOT dependency isn't found), 4 | // it's fine to use a tag. 5 | 6 | vars.proj.finagle: ${vars.base} { 7 | name: "finagle" 8 | uri: "https://github.com/twitter/finagle.git#95f509abfd27b31cbf20ada53e21216edb7c3ce7" 9 | 10 | // I didn't attempt to add any other subprojects 11 | extra.projects: ["finagle-core", "finagle-http"] 12 | extra.commands: ${vars.default-commands} [ 13 | // CachedHashCodeTest started failing in Scala 2.13.17 nightlies, 14 | // likely because of https://github.com/scala/scala/pull/11023 ; 15 | // I didn't actually investigate. 16 | // the others are just historically flaky tests 17 | """set finagleCore / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "FailFastFactoryTest.scala" || "StringServerTest.scala" || "CachedHashCodeTest.scala"""" 18 | // not supported on JDK 11+ 19 | "removeJavaOptions -XX:+UseParNewGC" 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /proj/finch.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/finagle/finch.git#master 2 | 3 | vars.proj.finch: ${vars.base} { 4 | name: "finch" 5 | uri: "https://github.com/finagle/finch.git#2e4b67b0112e5e49dca7bbb815227279ad096f59" 6 | 7 | extra.exclude: ["benchmarks", "docs"] 8 | extra.commands: ${vars.default-commands} [ 9 | "set every semanticdbEnabled := false" 10 | "set every scalafixOnCompile := false" 11 | "set every scalafmtOnCompile := false" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /proj/formless.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/formless.git#community-build-2.13 # was mblink, main 2 | 3 | // forked (February 2025) to remove the need for a custom resolver 4 | // for a publishing plugin. we could add the resolver to our Artifactory 5 | // but I have chosen the lower-effort route of forking 6 | 7 | vars.proj.formless: ${vars.base} { 8 | name: "formless" 9 | uri: "https://github.com/scalacommunitybuild/formless.git#c397613de0efa9ed04caceb4517514f71fbce1ea" 10 | 11 | extra.exclude: ["docs", "*JS", "*Native"] 12 | } 13 | -------------------------------------------------------------------------------- /proj/fpinscala.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/fpinscala/fpinscala.git#first-edition 2 | 3 | vars.proj.fpinscala: ${vars.base} { 4 | name: "fpinscala" 5 | uri: "https://github.com/fpinscala/fpinscala.git#71a79317b79272b12c61c03b6b077db7866b7bef" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proj/fs2-chat.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/fs2-chat.git#e79c3ad134a78d65b710cb20d68e47a02459063e # was master 2 | 3 | // frozen at last commit before Scala 3 upgrade 4 | 5 | vars.proj.fs2-chat: ${vars.base} { 6 | name: "fs2-chat" 7 | uri: "https://github.com/typelevel/fs2-chat.git#e79c3ad134a78d65b710cb20d68e47a02459063e" 8 | 9 | } 10 | -------------------------------------------------------------------------------- /proj/fs2.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/fs2.git#series/2.5.x 2 | 3 | // note that this repo has required JDK 11 for building (since January 2020) 4 | 5 | vars.proj.fs2: ${vars.base} { 6 | name: "fs2" 7 | uri: "https://github.com/typelevel/fs2.git#8fe0b5959d88620ee3423d17d1c88c51aeb38c91" 8 | 9 | // no Scala.js, no benchmarks or docs 10 | extra.projects: ["coreJVM", "reactiveStreams", "io"] 11 | extra.commands: ${vars.default-commands} [ 12 | // otherwise sbt-gpg errors on `publish` 13 | "set every gpgWarnOnFailure := true" 14 | // use right version-specific source directory regardless of our weird dbuild Scala version numbers 15 | """set coreJVM / Compile / unmanagedSourceDirectories += baseDirectory.value / "core" / "shared" / "src" / "main" / "scala-2.13"""" 16 | """set io / Compile / unmanagedSourceDirectories += baseDirectory.value / "io" / "src" / "main" / "scala-2.13"""" 17 | // consistently fails on JDK 16 only. not investigated 18 | """set io / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "TLSSocketSuite.scala"""" 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /proj/geny.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/geny.git#community-build-2.13 # was lihaoyi 2 | 3 | // forked to add sbt build (instead of mill) 4 | 5 | vars.proj.geny: ${vars.base} { 6 | name: "geny" 7 | uri: "https://github.com/scalacommunitybuild/geny.git#4de1af7930d08c54504bf00385bb22abfbf5dc87" 8 | 9 | } 10 | -------------------------------------------------------------------------------- /proj/giter8.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/foundweekends/giter8.git#develop 2 | 3 | vars.proj.giter8: ${vars.base} { 4 | name: "giter8" 5 | uri: "https://github.com/foundweekends/giter8.git#8fa51a53294f016c2e2564e2c77f378dbb091ea2" 6 | 7 | extra.exclude: [ 8 | // these are sbt plugins 9 | "plugin", "scaffold" 10 | // out of scope 11 | "bootstrap" 12 | ] 13 | extra.commands: ${vars.default-commands} [ 14 | // this doesn't seem worth investigating 15 | // [giter8] [info] - runs scala/scala-seed.g8 *** FAILED *** 16 | // [giter8] [info] ResolutionError$CantDownloadModule: Error downloading org.foundweekends.giter8:giter8_2.12:0.13.1-dbuildx72036c82d25cb1c3ed62dd6cfd7c095ce395bc72 17 | "set launcher / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 18 | // started failing on Jenkins -- fine locally -- doesn't seem worth investigating 19 | """set gitsupport / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "JGitInteractorTest.scala"""" 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /proj/github4s.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/47deg/github4s.git#main 2 | 3 | vars.proj.github4s: ${vars.base} { 4 | name: "github4s" 5 | uri: "https://github.com/47deg/github4s.git#6df45c4c4023d7e7b2735c1a74b1d4f19f1e82d1" 6 | 7 | extra.projects: ["github4s"] 8 | extra.settings: ${vars.base.extra.settings} [ 9 | // sbt-github is complaining that this is missing; 10 | // maybe some variant of https://github.com/sbt/sbt-git/issues/171 ? oh well 11 | """ThisBuild / scmInfo := Some(ScmInfo(url("https://github.com/47degrees/github4s"), "scm:git:https://github.com/47degrees/github4s.git", Some("scm:git:git@github.com:47degrees/github4s.git")))""" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /proj/grizzled.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/bmc/grizzled-scala.git#master 2 | 3 | // dependency of giter8 4 | 5 | vars.proj.grizzled: ${vars.base} { 6 | name: "grizzled" 7 | uri: "https://github.com/bmc/grizzled-scala.git#8d12b4af8654a00c08c22de6b62a494327b7a680" 8 | 9 | extra.options: ["-Dbintray.user=dummy", "-Dbintray.pass=dummy"] 10 | extra.commands: ${vars.default-commands} [ 11 | "set every bintrayReleaseOnPublish := false" 12 | // https://github.com/bmc/grizzled-scala/issues/19 13 | "set every bintrayOmitLicense := true" 14 | // why we get wartremover failures in the community build that presumably 15 | // don't happen in Brian's own CI, I have no idea. doesn't seem worth 16 | // investigating 17 | "set every wartremoverErrors := Seq()" 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /proj/hasher.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/Nycto/Hasher.git#master 2 | 3 | vars.proj.hasher: ${vars.base} { 4 | name: "hasher" 5 | uri: "https://github.com/Nycto/Hasher.git#d5026fb095aa3d63a26e95b90157f93f4b3b6774" 6 | 7 | // depends on ancient specs2 version. easiest way to bypass the problem is this. 8 | // (we could submit an upgrade upstream...) 9 | extra.run-tests: false 10 | extra.commands: ${vars.default-commands} [ 11 | "removeDependency org.specs2 specs2" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /proj/http4s-jwt-auth.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/profunktor/http4s-jwt-auth.git#series/1.x 2 | 3 | vars.proj.http4s-jwt-auth: ${vars.base} { 4 | name: "http4s-jwt-auth" 5 | uri: "https://github.com/profunktor/http4s-jwt-auth.git#9199ed0e6fec51293f606ec85c2b6cf3669c9f19" 6 | 7 | extra.projects: ["core"] 8 | extra.settings: ${vars.base.extra.settings} [ 9 | // dbuild gets confused if only crossScalaVersions is set?! 10 | """ThisBuild / scalaVersion := "2.13.10"""" 11 | ] 12 | extra.commands: ${vars.default-commands} [ 13 | // fails on JDK 11. not investigated or reported 14 | """set core / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "AsymmetricKeysSpec.scala"""" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /proj/http4s-parboiled2.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/http4s/parboiled2.git#master 2 | 3 | vars.proj.http4s-parboiled2: ${vars.base} { 4 | name: "http4s-parboiled2" 5 | uri: "https://github.com/http4s/parboiled2.git#d9844f2ca8df4de6baae95ac0a2617601f4469cf" 6 | 7 | extra.projects: ["parboiledJVM"] 8 | extra.commands: ${vars.default-commands} [ 9 | // otherwise sbt-gpg errors on `publish` 10 | "set every gpgWarnOnFailure := true" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /proj/http4s.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/http4s/http4s.git#main 2 | 3 | vars.proj.http4s: ${vars.base} { 4 | name: "http4s" 5 | uri: "https://github.com/http4s/http4s.git#0038c8181ce69f55e98e17a635f2e6b3446dfe2a" 6 | 7 | extra.commands: ${vars.default-commands} [ 8 | "set every gpgWarnOnFailure := true" 9 | // don't ask for passphrase when running locally 10 | """set every gpgKey := Some("")""" 11 | // java.net.ConnectException on all of these 12 | """set client.jvm / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "JavaNetClientSuite.scala"""" 13 | """set emberClient.jvm / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "EmberClientSuite.scala"""" 14 | // javax.net.ssl.SSLHandshakeException: Empty server certificate chain 15 | """set emberServer.jvm / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "EmberUnixSocketSuite.scala"""" 16 | ] 17 | extra.exclude: [ 18 | "root*", "*JS", "*Native", "bench", "js-artifact-size-test" 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /proj/implicitbox.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/monix/implicitbox.git#master 2 | 3 | vars.proj.implicitbox: ${vars.base} { 4 | name: "implicitbox" 5 | uri: "https://github.com/monix/implicitbox.git#69059d853fb05ac473261ed1b52691709928c085" 6 | 7 | extra.projects: ["implicitboxJVM"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/ip4s.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/Comcast/ip4s.git#main 2 | 3 | vars.proj.ip4s: ${vars.base} { 4 | name: "ip4s" 5 | uri: "https://github.com/Comcast/ip4s.git#0ca38a4e40d7f92f67460eba1f709e28971fcb55" 6 | 7 | extra.exclude: ["*JS", "*Native"] 8 | extra.settings: ${vars.base.extra.settings} [ 9 | // dbuild gets confused if only crossScalaVersions is set?! 10 | """ThisBuild / scalaVersion := "2.13.10"""" 11 | ] 12 | extra.commands: ${vars.default-commands} [ 13 | "set every gpgWarnOnFailure := true" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /proj/jackson-module-scala.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/jackson-module-scala.git#community-build-2.13 # was FasterXML, jackson-module-scala-2.12.0 2 | 3 | // head of `2.12` branch has a SNAPSHOT dependency, so use a release tag 4 | 5 | // but then we're forked (December 2020) from the jackson-module-scala-2.12.0 tag to 6 | // pull in various fixes, some of which may have been merged on the 2.12 7 | // branch, others maybe only on master? but it's fine to stay forked 8 | 9 | // before considering unforking, check the status of 10 | // https://github.com/FasterXML/jackson-module-scala/issues/431 11 | 12 | vars.proj.jackson-module-scala: ${vars.base} { 13 | name: "jackson-module-scala" 14 | uri: "https://github.com/scalacommunitybuild/jackson-module-scala.git#0bd251a8e1039f4a9e0840483d5ee6f83e581649" 15 | 16 | } 17 | -------------------------------------------------------------------------------- /proj/jardiff.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/lightbend-labs/jardiff.git#main 2 | 3 | vars.proj.jardiff: ${vars.base} { 4 | name: "jardiff" 5 | uri: "https://github.com/lightbend-labs/jardiff.git#2d16fe144896d95c7161cb2e45e58facdb5e6bbf" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proj/jawn-fs2.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/jawn-fs2.git#main 2 | 3 | vars.proj.jawn-fs2: ${vars.base} { 4 | name: "jawn-fs2" 5 | uri: "https://github.com/typelevel/jawn-fs2.git#cbae8eac21085a8ec00a263d8492c8fcd68f0e4e" 6 | 7 | extra.exclude: ["*JS", "*Native"] 8 | extra.commands: ${vars.default-commands} [ 9 | "set every gpgWarnOnFailure := true" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /proj/jawn.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/jawn.git#main 2 | 3 | vars.proj.jawn: ${vars.base} { 4 | name: "jawn" 5 | uri: "https://github.com/typelevel/jawn.git#5f66b829f6c06253213498b9857733d3bb66017e" 6 | 7 | extra.exclude: ["*JS", "*Native", "benchmark", "root"] 8 | extra.settings: ${vars.base.extra.settings} [ 9 | // dbuild gets confused if only crossScalaVersions is set?! 10 | """ThisBuild / scalaVersion := "2.13.10"""" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /proj/json4s.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/json4s/json4s.git#master 2 | 3 | vars.proj.json4s: ${vars.base} { 4 | name: "json4s" 5 | uri: "https://github.com/json4s/json4s.git#7163fede447224b4464a401616080da76ae30070" 6 | 7 | extra.projects: ["*JVM2_13"] 8 | extra.commands: ${vars.default-commands} [ 9 | "appendScalacOptions -Wconf:cat=scala3-migration:w" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /proj/jsoniter-scala.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/plokhotnyuk/jsoniter-scala.git#master 2 | 3 | vars.proj.jsoniter-scala: ${vars.base} { 4 | name: "jsoniter-scala" 5 | uri: "https://github.com/plokhotnyuk/jsoniter-scala.git#b10858527587d08a8b8bdca285ca6866adab7262" 6 | 7 | extra.exclude: ["*JS", "*Native", "*benchmark*"] 8 | extra.settings: ${vars.base.extra.settings} [ 9 | // resolve version conflict (from sbt-scoverage, probably?) 10 | // one-deeper nesting level makes it apply to build definition 11 | ["""ThisBuild / libraryDependencySchemes += "org.scala-lang.modules" %% "scala-xml" % VersionScheme.Always"""] 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /proj/jwt-scala.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/jwt-scala.git#community-build-2.13 # was pauldijou, master 2 | 3 | // forked (September 2020) for sbt 1.4 friendliness 4 | 5 | vars.proj.jwt-scala: ${vars.base} { 6 | name: "jwt-scala" 7 | uri: "https://github.com/scalacommunitybuild/jwt-scala.git#db58193246d05cec2c3f690f5b3fe11837a9a471" 8 | 9 | // only what http4s-jwt-auth needs 10 | extra.projects: ["coreProject"] 11 | } 12 | -------------------------------------------------------------------------------- /proj/kafka.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/kafka.git#community-build-2.13 2 | 3 | // Kafka doesn't have its own sbt build, but Enno made one on his 4 | // "build-with-sbt" branch. at one time, he was maintaining that 5 | // himself, including test exclusions, but lately I've been making 6 | // tweaks in the scalacommunitybuild fork instead 7 | 8 | vars.proj.kafka: ${vars.base} { 9 | name: "kafka" 10 | uri: "https://github.com/scalacommunitybuild/kafka.git#56ddab45b6f4c30d5cad6370053ec98dce6d6364" 11 | 12 | extra.commands: ${vars.default-commands} [ 13 | // Enno could move these to his own config 14 | // so many intermittent failures in both of these subprojects, 15 | // I got tired of excluding them individually 16 | "set core / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 17 | "set streams / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 18 | // failures on M1 Macs (JNI issue, not investigated) 19 | "set `streams-scala` / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 20 | // prevents javadoc generation from failing on JDK 11+ 21 | """set clients/Compile/doc/javacOptions += "-Xdoclint:none"""" 22 | """set streams/Compile/doc/javacOptions += "-Xdoclint:none"""" 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /proj/kamon.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/kamon-io/Kamon.git#master 2 | 3 | vars.proj.kamon: ${vars.base} { 4 | name: "kamon" 5 | uri: "https://github.com/kamon-io/Kamon.git#f4898d98937f2c19be0784dcd3c9efd80f639e93" 6 | 7 | // just what lila-ws needs, for now anyway 8 | extra.projects: ["kamon-core", "kamon-influxdb", "kamon-system-metrics"] 9 | } 10 | -------------------------------------------------------------------------------- /proj/kits.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/halcat0x15a/kits.git#master 2 | 3 | vars.proj.kits: ${vars.base} { 4 | name: "kits" 5 | uri: "https://github.com/halcat0x15a/kits.git#c3451fee6f09b4bfc6fc3fe5684031f484070e3d" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proj/kittens.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/kittens.git#master 2 | 3 | vars.proj.kittens: ${vars.base} { 4 | name: "kittens" 5 | uri: "https://github.com/typelevel/kittens.git#3ac5e6f489d76c29a8f81d9664e7b283ff0fcdfd" 6 | 7 | extra.projects: ["coreJVM"] // sorry, Scala.js 8 | } 9 | -------------------------------------------------------------------------------- /proj/lagom.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/lagom.git#community-build-2.13 # was lagom, master 2 | 3 | // there are a *ton* of subprojects. it might be interesting to try to add 4 | // as many as possible. for now, we've somewhat arbitrarily selected a few. 5 | 6 | // forked (September 2020) for sbt 1.4 friendliness 7 | 8 | vars.proj.lagom: ${vars.base} { 9 | name: "lagom" 10 | uri: "https://github.com/scalacommunitybuild/lagom.git#3b767f1c0e92c420121b2a163344f40f1a694ef3" 11 | 12 | // these pull in a number of dependent projects 13 | extra.projects: ["server", "testkit-scaladsl"] 14 | extra.exclude: ["kafka-broker-scaladsl"] 15 | extra.options: [ 16 | // affects unforked tests 17 | "-Dakka.fail-mixed-versions=false" 18 | // hopefully avoid intermittent OutOfMemoryErrors with default heap 19 | "-Xmx2g" 20 | // needed on sbt 1.3 (and 1.4? not sure) to avoid NoClassDefFoundError after tests run 21 | "-Dsbt.classloader.close=false" 22 | ] 23 | extra.test-tasks: ["compile"] // https://github.com/scala/community-build/issues/1227, https://github.com/scala/community-build/pull/1235 24 | extra.commands: ${vars.default-commands} [ 25 | // affects forked tests 26 | """set ThisBuild / javaOptions += "-Dakka.fail-mixed-versions=false"""" 27 | // tests in these subprojects are too slow and (more importantly) too fragile 28 | // "set `persistence-cassandra-scaladsl` / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 29 | // "set `testkit-scaladsl`/ Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 30 | // more flaky tests I haven't reported upstream 31 | "set `server-scaladsl` / Test / unmanagedSources / excludeFilter := HiddenFileFilter || \"LagomApplicationSpec.scala\"" 32 | ] 33 | } 34 | -------------------------------------------------------------------------------- /proj/libra.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/to-ithaca/libra.git#master 2 | 3 | vars.proj.libra: ${vars.base} { 4 | name: "libra" 5 | uri: "https://github.com/to-ithaca/libra.git#fe374ceeb2c1e8cb3ae02c5ce6cd3db223855129" 6 | 7 | extra.exclude: ["docs", "*JS"] 8 | extra.commands: ${vars.default-commands} [ 9 | // shrug, not investigated 10 | """set core.jvm / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "QuantityLawSpec.scala"""" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /proj/lift-json.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/lift-framework.git#community-build-2.13 # was lift, master 2 | 3 | // forked (April 2022) because their project/plugins.sbt 4 | // references a build plugin using git: instead of https: 5 | 6 | vars.proj.lift-json: ${vars.base} { 7 | name: "lift-json" 8 | uri: "https://github.com/scalacommunitybuild/lift-framework.git#1e23340518dbc4612cfb856040e26deee03e767d" 9 | 10 | extra.projects: ["lift-json"] 11 | // because the tests use scala.util.parsing.json, which was removed from 12 | // the 1.2.x branch of scala-parser-combinators 13 | extra.run-tests: false 14 | } 15 | -------------------------------------------------------------------------------- /proj/lightbend-emoji.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/lightbend-labs/lightbend-emoji.git#main 2 | 3 | vars.proj.lightbend-emoji: ${vars.base} { 4 | name: "lightbend-emoji" 5 | uri: "https://github.com/lightbend-labs/lightbend-emoji.git#82f71a24e5923a04df9746d3d114acca13ddb2c1" 6 | 7 | extra.options: ["-Dsbt.sbtbintray=false"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/lila-ws.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/ornicar/lila-ws.git#cbe30dbdd48b3f3eb8b57d71702636fcd0587835 # was master 2 | 3 | // frozen (May 2022) because dependencies aren't being found -- 4 | // I think they might be published to a snapshot resolver? 5 | // it's fine, we don't need to track latest-latest 6 | 7 | vars.proj.lila-ws: ${vars.base} { 8 | name: "lila-ws" 9 | uri: "https://github.com/ornicar/lila-ws.git#cbe30dbdd48b3f3eb8b57d71702636fcd0587835" 10 | 11 | } 12 | -------------------------------------------------------------------------------- /proj/log4cats.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/ChristopherDavenport/log4cats.git#main 2 | 3 | vars.proj.log4cats: ${vars.base} { 4 | name: "log4cats" 5 | uri: "https://github.com/ChristopherDavenport/log4cats.git#6ca49e8f5134544d0f1580a020ff22ad2d8aeed8" 6 | 7 | extra.exclude: [ 8 | "docs", "*JS", "*Native", "js-console" 9 | "slf4j" // wants coreJS for some reason 10 | ] 11 | extra.commands: ${vars.default-commands} [ 12 | "set every gpgWarnOnFailure := true" 13 | // don't ask for GPG passphrase when running locally 14 | """set every gpgOptions := Seq("--yes", "--passphrase", "", "--pinentry-mode", "loopback")""" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /proj/log4s.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/Log4s/log4s.git#master 2 | 3 | vars.proj.log4s: ${vars.base} { 4 | name: "log4s" 5 | uri: "https://github.com/Log4s/log4s.git#e66dc48704c0a47d71d33679e832533e0e00e37b" 6 | 7 | extra.exclude: ["*JS", "testingJS"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/machinist.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/machinist.git#master 2 | 3 | vars.proj.machinist: ${vars.base} { 4 | name: "machinist" 5 | uri: "https://github.com/typelevel/machinist.git#419ec6695effeb8155a38631777faa7e10409786" 6 | 7 | extra.projects: ["machinistJVM"] // no Scala.js please 8 | } 9 | -------------------------------------------------------------------------------- /proj/macrolizer.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/macrolizer.git#community-build-2.13 # was sirthias, master 2 | 3 | vars.proj.macrolizer: ${vars.base} { 4 | name: "macrolizer" 5 | uri: "https://github.com/scalacommunitybuild/macrolizer.git#90101457e0eb3cab077e5366536efe5bdacc7c84" 6 | 7 | extra.exclude: ["*JS"] 8 | extra.commands: ${vars.default-commands} [ 9 | "set every scalafmtOnCompile := false" 10 | ] 11 | // even compiling the tests involves coursier pulling down scala-reflect 12 | // but it doesn't find the dbuild one. (maybe fixable somehow? sigh) 13 | extra.run-tests: false 14 | } 15 | -------------------------------------------------------------------------------- /proj/macwire.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/softwaremill/macwire.git#master 2 | 3 | vars.proj.macwire: ${vars.base} { 4 | name: "macwire" 5 | uri: "https://github.com/softwaremill/macwire.git#17e30a3752bded71b2e97fce537953e4a06ea9b9" 6 | 7 | extra.exclude: ["*2_12", "*JS", "*3", "*Native"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/magnolia.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/softwaremill/magnolia.git#scala2 2 | 3 | vars.proj.magnolia: ${vars.base} { 4 | name: "magnolia" 5 | uri: "https://github.com/softwaremill/magnolia.git#76d1bab2ed1fb9fae620732730644c6046e23162" 6 | 7 | extra.exclude: ["*2_12", "*JS", "*Native"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/mainargs.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/mainargs.git#community-build-2.13 # was lihaoyi 2 | 3 | // forked to add sbt build (instead of mill) 4 | 5 | vars.proj.mainargs: ${vars.base} { 6 | name: "mainargs" 7 | uri: "https://github.com/scalacommunitybuild/mainargs.git#41ecd1791cf9a8423ff9be49bbb1471f69a6914e" 8 | 9 | } 10 | -------------------------------------------------------------------------------- /proj/mdoc.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalameta/mdoc.git#main 2 | 3 | vars.proj.mdoc: ${vars.base} { 4 | name: "mdoc" 5 | uri: "https://github.com/scalameta/mdoc.git#41a14f0a077df5af3285cf1c90fb6cb01e486959" 6 | 7 | extra.exclude: [ 8 | "js*", "docs", "unit", "plugin", "*JS", "*Native" 9 | // tests-only, and it downloads Maven Central artifacts but doesn't use the right Scala binary version. 10 | // probably not worth tinkering with 11 | "worksheets" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /proj/metaconfig.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalameta/metaconfig.git#main 2 | 3 | vars.proj.metaconfig: ${vars.base} { 4 | name: "metaconfig" 5 | uri: "https://github.com/scalameta/metaconfig.git#a2b5cba75f38cce9e3cd971def8f1924a1d2ccf5" 6 | 7 | extra.exclude: [ 8 | "*JS", "*Native" 9 | // it's sad not to run the tests. but testsJVM depends on docs, and testsJVM 10 | // does yarn stuff that failed on jenkins, and locally it ran into 11 | // weird conflicting cross-version errors in dbuild. oh well -- we have 12 | // the repo primarily because scalafix and scalafmt need it, anyway. 13 | "testsJVM", "docs" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /proj/metals.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalameta/metals.git#main 2 | 3 | // note that there are always test failures when we run on a PR validation 4 | // snapshot. (we could probably fix it by adding a resolver in the repo?) 5 | 6 | // for reproducing failures outside of dbuild, you need to locally publish 7 | // scalameta. in the metals repo after `++2.13.xx-bin-abc123!`, `Test/update` 8 | // will show you what scalameta version is expected. suppose it's 4.5.6. 9 | // then you go to the scalameta repo and do: 10 | // * git checkout v4.5.6 11 | // * sbt 12 | // * ++2.13.xx-bin-abc123! 13 | // * set every version := "4.5.6" 14 | // * semanticdbScalacCore/publishLocal 15 | // * semanticdbScalacPlugin/publishLocal 16 | 17 | vars.proj.metals: ${vars.base} { 18 | name: "metals" 19 | uri: "https://github.com/scalameta/metals.git#2f1f13e9790440c5b02aba9a455bcd31620ca261" 20 | 21 | extra.options: ["-Xmx3g"] 22 | // Vadim from Virtus writes: 23 | // 24 | // > it would be better to include only `mtags` and `cross` subprojects of metals build. 25 | // > and run tests only for cross. 26 | // > Metals itself and it's other test-suprojects have some flaky 27 | // > tests + some tests data highly depends on scala-compiler version and 28 | // > might lead to false-positive failures 29 | // 30 | // At present, the net here is cast wider than that, but it's advice to keep 31 | // in mind if we start having problems with any of the other subprojects. 32 | // (As always, one option is to compile some tests but not run them.) 33 | extra.exclude: [ 34 | "metals", "sbt-metals", "input3", "bench", "docs", "slow" 35 | // this depends on input3 36 | "unit" 37 | ] 38 | extra.commands: ${vars.default-commands} [ 39 | // HoverTermSuite: https://github.com/scalameta/metals/issues/5318 40 | """set javapc / unmanagedSources / excludeFilter := HiddenFileFilter || "HoverTermSuite.scala"""" 41 | // we should be able to remove both of these once they take the 2.13.17 upgrade; 42 | // for InsertInferredTypeSuite I inquired at https://github.com/scala/scala/pull/10991#issuecomment-2709088225 43 | """set cross / unmanagedSources / excludeFilter := HiddenFileFilter || "SignatureHelpDocSuite.scala" || "InsertInferredTypeSuite.scala"""" 44 | ] 45 | } 46 | -------------------------------------------------------------------------------- /proj/metrics-scala.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/erikvanoosten/metrics-scala.git#master 2 | 3 | vars.proj.metrics-scala: ${vars.base} { 4 | name: "metrics-scala" 5 | uri: "https://github.com/erikvanoosten/metrics-scala.git#146f56528c60aa1ec0621d592611b595a645ea09" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proj/mima.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/lightbend-labs/mima.git#main 2 | 3 | vars.proj.mima: ${vars.base} { 4 | name: "mima" 5 | uri: "https://github.com/lightbend-labs/mima.git#e8d27599bb696217c465113c7b5fd94cae6d174a" 6 | 7 | extra.exclude: ["sbtplugin", "*Native"] 8 | extra.settings: ${vars.base.extra.settings} [ 9 | // dbuild gets confused if only crossScalaVersions is set?! 10 | """ThisBuild / scalaVersion := "2.13.10"""" 11 | ] 12 | // `IntegrationTest/test` doesn't work but `it:test` does. dbuild limitation I guess 13 | extra.test-tasks: ["test", "it:test"] 14 | // since only one subproject has `it:test` 15 | extra.skip-missing-tests: true 16 | extra.commands: ${vars.default-commands} [ 17 | "appendScalacOptions -Wconf:cat=scala3-migration:w" 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /proj/minitest.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/monix/minitest.git#master 2 | 3 | vars.proj.minitest: ${vars.base} { 4 | name: "minitest" 5 | uri: "https://github.com/monix/minitest.git#fb23874c030fea4f8d6b160fd4df45bde71ca02b" 6 | 7 | extra.projects: ["minitestJVM", "lawsJVM"] // no Scala.js 8 | } 9 | -------------------------------------------------------------------------------- /proj/mockito-scala.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/mockito/mockito-scala.git#release/1.x 2 | 3 | vars.proj.mockito-scala: ${vars.base} { 4 | name: "mockito-scala" 5 | uri: "https://github.com/mockito/mockito-scala.git#0196423377352d6de1353791d980be5b32c76c71" 6 | 7 | extra.exclude: ["scalaz"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/moduload.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/outr/moduload.git#master 2 | 3 | vars.proj.moduload: ${vars.base} { 4 | name: "moduload" 5 | uri: "https://github.com/outr/moduload.git#1b979a1c35a0b8016b4727593421069c2c3c47c4" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proj/monix-bio.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/monix/monix-bio.git#master 2 | 3 | vars.proj.monix-bio: ${vars.base} { 4 | name: "monix-bio" 5 | uri: "https://github.com/monix/monix-bio.git#ac52b166e818798f9fb57eedf7804826012b3614" 6 | 7 | extra.exclude: ["*JS", "benchmarks", "docs"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/monix-nio.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/monix/monix-nio.git#master 2 | 3 | vars.proj.monix-nio: ${vars.base} { 4 | name: "monix-nio" 5 | uri: "https://github.com/monix/monix-nio.git#1be84cebcb3d846890ec015281511373572e0676" 6 | 7 | extra.exclude: ["*benchmark*"] 8 | extra.commands: ${vars.default-commands} [ 9 | // prone to intermittent failure 10 | """set monixNio / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "TcpIntegrationSpec.scala"""" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /proj/monix.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/monix.git#community-build-2.13 # was monix, series/3.x 2 | 3 | // forked (May 2022) to remove comment with bidirectional Unicode characters 4 | 5 | vars.proj.monix: ${vars.base} { 6 | name: "monix" 7 | uri: "https://github.com/scalacommunitybuild/monix.git#fcc6e80b0f8105a4f4b6eaf933f92e11fb469f8e" 8 | 9 | extra.projects: [ 10 | "coreJVM", "reactiveJVM" 11 | // monix-bio needs this 12 | "catnapJVM" 13 | ] 14 | extra.commands: ${vars.default-commands} [ 15 | // intermittent failures 16 | """set executionJVM / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "CallbackSafetyJVMSuite.scala"""" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /proj/monocle.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/julien-truffaut/Monocle.git#master 2 | 3 | vars.proj.monocle: ${vars.base} { 4 | name: "monocle" 5 | uri: "https://github.com/julien-truffaut/Monocle.git#832df0bc3d67a187c55f8391b27e1842a44a1135" 6 | 7 | // try to enable more subprojects? 8 | extra.projects: ["coreJVM", "macrosJVM", "lawJVM", "genericJVM"] 9 | } 10 | -------------------------------------------------------------------------------- /proj/mouse.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/mouse.git#main 2 | 3 | vars.proj.mouse: ${vars.base} { 4 | name: "mouse" 5 | uri: "https://github.com/typelevel/mouse.git#8b747ed18fe2a8fe8d7cfa57a617f0d43c8cc9c3" 6 | 7 | extra.projects: ["crossJVM"] // no Scala.js please 8 | extra.commands: ${vars.default-commands} [ 9 | // otherwise sbt-gpg errors on `publish` 10 | "set every gpgWarnOnFailure := true" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /proj/multibot.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/OlegYch/multibot.git#master 2 | 3 | vars.proj.multibot: ${vars.base} { 4 | name: "multibot" 5 | uri: "https://github.com/OlegYch/multibot.git#21af9cfd27d0f7fac9070a694a4dfc5f6421882d" 6 | 7 | extra.commands: ${vars.default-commands} [ 8 | "removeDependency org.scalaz scalaz-iteratee" 9 | "removeDependency org.scalaz scalaz-effect" 10 | "removeDependency org.scalaz scalaz-concurrent" 11 | "removeDependency org.scalaz scalaz-ioeffect" 12 | // this test needs scalaz 13 | """set Test / unmanagedSources / excludeFilter := HiddenFileFilter || "InterpretersCacheTest.scala"""" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /proj/munit-cats-effect.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/munit-cats-effect.git#main 2 | 3 | vars.proj.munit-cats-effect: ${vars.base} { 4 | name: "munit-cats-effect" 5 | uri: "https://github.com/typelevel/munit-cats-effect.git#d476b3ac78284aa67959057d6ad94f3636bf3f24" 6 | 7 | extra.exclude: ["docs", "*JS", "*Native"] 8 | extra.commands: ${vars.default-commands} [ 9 | // otherwise sbt-gpg errors on `publish` 10 | "set every gpgWarnOnFailure := true" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /proj/munit-snapshot.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/munit-snapshot.git#community-build-2.13 # was lolgab, main 2 | 3 | // forked (August 2023) to add an sbt build (instead of mill) 4 | 5 | vars.proj.munit-snapshot: ${vars.base} { 6 | name: "munit-snapshot" 7 | uri: "https://github.com/scalacommunitybuild/munit-snapshot.git#f190711aa38db991f6affda4fb84b3840735e525" 8 | 9 | } 10 | -------------------------------------------------------------------------------- /proj/munit.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalameta/munit.git#main 2 | 3 | vars.proj.munit: ${vars.base} { 4 | name: "munit" 5 | uri: "https://github.com/scalameta/munit.git#a1128a0139e76a1858b29afba8ca4e055d0d0d95" 6 | 7 | extra.exclude: ["docs", "plugin", "*JS", "*Native"] 8 | extra.settings: ${vars.base.extra.settings} [ 9 | // ignore missing org.scala-sbt#scripted-plugin 10 | """LocalProject("plugin") / dependencyOverrides ~= (_.filter(!_.toString.contains("scripted-plugin")))""" 11 | ] 12 | extra.commands: ${vars.default-commands} [ 13 | // use right version-specific source directories regardless of our weird dbuild Scala version numbers 14 | """set munitJVM / Compile / unmanagedSourceDirectories += baseDirectory.value / "munit" / "shared" / "src" / "main" / "scala-2.13"""" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /proj/natchez.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/tpolecat/natchez.git#series/0.1 2 | 3 | vars.proj.natchez: ${vars.base} { 4 | name: "natchez" 5 | uri: "https://github.com/tpolecat/natchez.git#2b28bcdd272839aa7540a5d9a943695e6aedfbb9" 6 | 7 | // let's try and squeak by with just the minimum, since our present goal is 8 | // just to get pfps-shopping-cart green 9 | extra.projects: ["coreJVM"] 10 | } 11 | -------------------------------------------------------------------------------- /proj/nscala-time.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/nscala-time/nscala-time.git#master 2 | 3 | vars.proj.nscala-time: ${vars.base} { 4 | name: "nscala-time" 5 | uri: "https://github.com/nscala-time/nscala-time.git#966b390fde710af5f837bf2a6038ed3bd55cd1d2" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proj/os-lib.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/os-lib.git#community-build-2.13 # was lihaoyi 2 | 3 | // forked (December 2020) to add sbt build (instead of mill) 4 | 5 | vars.proj.os-lib: ${vars.base} { 6 | name: "os-lib" 7 | uri: "https://github.com/scalacommunitybuild/os-lib.git#1d822f699eb5f980075f0c7334b7bdd42751f0df" 8 | 9 | } 10 | -------------------------------------------------------------------------------- /proj/paiges.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/paiges.git#master 2 | 3 | vars.proj.paiges: ${vars.base} { 4 | name: "paiges" 5 | uri: "https://github.com/typelevel/paiges.git#b0b52ac24d87185386a029061b97dd0038b87380" 6 | 7 | extra.projects: ["coreJVM", "catsJVM"] // but not "benchmark" 8 | extra.settings: ${vars.base.extra.settings} [ 9 | // resolve version conflict (from sbt-scoverage, probably?) 10 | // one-deeper nesting level makes it apply to build definition 11 | ["""ThisBuild / libraryDependencySchemes += "org.scala-lang.modules" %% "scala-xml" % VersionScheme.Always"""] 12 | ] 13 | extra.commands: ${vars.default-commands} [ 14 | "set every gpgWarnOnFailure := true" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /proj/parboiled.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/sirthias/parboiled.git#master 2 | 3 | vars.proj.parboiled: ${vars.base} { 4 | name: "parboiled" 5 | uri: "https://github.com/sirthias/parboiled.git#99a42c87755dec9b9231d33880d138062defb232" 6 | 7 | extra.projects: ["parboiled-scala"] 8 | extra.commands: ${vars.default-commands} [ 9 | // override some logic in their build.sbt 10 | """set every scalaBinaryVersion := "2.13"""" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /proj/parboiled2.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/sirthias/parboiled2.git#master 2 | 3 | vars.proj.parboiled2: ${vars.base} { 4 | name: "parboiled2" 5 | uri: "https://github.com/sirthias/parboiled2.git#13c30be12360736b4dd60a69015aee7133afdf11" 6 | 7 | extra.projects: ["parboiledJVM", "examples"] 8 | extra.commands: ${vars.default-commands} [ 9 | "set every scalafmtOnCompile := false" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /proj/parsley.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/j-mie6/Parsley.git#master 2 | 3 | vars.proj.parsley: ${vars.base} { 4 | name: "parsley" 5 | uri: "https://github.com/j-mie6/Parsley.git#dd150923a89da299a4a7eebcee7d6c8ce62696a3" 6 | 7 | extra.exclude: ["*JS", "*Native", "docs"] 8 | extra.settings: ${vars.base.extra.settings} [ 9 | // not sure why the lack of this only causes a problem under dbuild... 10 | """ThisBuild / homepage := Some(url("https://github.com/j-mie6/parsley"))""" 11 | ] 12 | extra.commands: ${vars.base.extra.commands} [ 13 | // don't ask for GPG passphrase when running locally 14 | """set every gpgOptions := Seq("--yes", "--passphrase", "", "--pinentry-mode", "loopback")""" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /proj/pascal.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/TomasMikula/pascal.git#master 2 | 3 | vars.proj.pascal: ${vars.base} { 4 | name: "pascal" 5 | uri: "https://github.com/TomasMikula/pascal.git#c8529a7fe16751eb8802ab8be7ee571a43e0c48e" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proj/pass4s.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/ocadotechnology/pass4s.git#main 2 | 3 | vars.proj.pass4s: ${vars.base} { 4 | name: "pass4s" 5 | uri: "https://github.com/ocadotechnology/pass4s.git#e138373e50f013709477bf372037e911d5df5cb4" 6 | 7 | extra.exclude: [ 8 | "docs" 9 | // failed because still using -SNAPSHOT versions -- we could maybe re-add eventually 10 | "*pekko", "pass4s-demo", "root" 11 | ] 12 | extra.commands: ${vars.default-commands} [ 13 | "set every gpgWarnOnFailure := true" 14 | // don't ask for GPG passphrase when running locally 15 | """set every gpgOptions := Seq("--yes", "--passphrase", "", "--pinentry-mode", "loopback")""" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /proj/perfolation.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/outr/perfolation.git#master 2 | 3 | vars.proj.perfolation: ${vars.base} { 4 | name: "perfolation" 5 | uri: "https://github.com/outr/perfolation.git#9142c06b280bec5a1c9c72b697c792f315d02969" 6 | 7 | extra.projects: ["coreJVM"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/pfps-shopping-cart.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/gvolpe/pfps-shopping-cart.git#master 2 | 3 | vars.proj.pfps-shopping-cart: ${vars.base} { 4 | name: "pfps-shopping-cart" 5 | uri: "https://github.com/gvolpe/pfps-shopping-cart.git#19e8ee3f39bd3676522d01815933c01f41b10ea0" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proj/play-file-watch.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/playframework/play-file-watch.git#main 2 | 3 | vars.proj.play-file-watch: ${vars.base} { 4 | name: "play-file-watch" 5 | uri: "https://github.com/playframework/play-file-watch.git#4a1bfbe43779eb94180b5e5c43ee0b52947ba613" 6 | 7 | extra.settings: ${vars.base.extra.settings} [ 8 | // dbuild gets confused if only crossScalaVersions is set?! 9 | """ThisBuild / scalaVersion := "2.13.10"""" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /proj/play-json.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/playframework/play-json.git#2396ede2c8d129867ad90b8fa0f503ee74276ec5 # was main 2 | 3 | // frozen (October 2022) at a known-green commit before JDK 8 support 4 | // was dropped; normally that would be fine but the project won't even 5 | // extract on JDK 8, which we can't accommodate (not without forking 6 | // and work, anyway) 7 | 8 | vars.proj.play-json: ${vars.base} { 9 | name: "play-json" 10 | uri: "https://github.com/playframework/play-json.git#2396ede2c8d129867ad90b8fa0f503ee74276ec5" 11 | 12 | extra.projects: ["play-jsonJVM"] // no Scala.js plz 13 | } 14 | -------------------------------------------------------------------------------- /proj/play-webgoat.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/playframework/play-webgoat.git#2.8.x 2 | 3 | vars.proj.play-webgoat: ${vars.base} { 4 | name: "play-webgoat" 5 | uri: "https://github.com/playframework/play-webgoat.git#2e9fa2c4260ff635353fedd7935b66cfede5f065" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proj/play-ws.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/playframework/play-ws.git#main 2 | 3 | vars.proj.play-ws: ${vars.base} { 4 | name: "play-ws" 5 | uri: "https://github.com/playframework/play-ws.git#152c072dbc712e165b26e0dc908df4ecd3376d49" 6 | 7 | // NullPointerException in CachingSpec 8 | // (https://github.com/scala/community-builds/issues/564) 9 | extra.exclude: ["integration-tests", "bench"] 10 | // tests run forked, so this goes in javaOptions, not extra.options 11 | extra.commands: ${vars.default-commands} [ 12 | """set `play-ahc-ws-standalone` / Test / javaOptions += "-Dakka.fail-mixed-versions=false"""" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /proj/playframework.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/playframework/playframework.git#2.9.x 2 | 3 | // perhaps tracking main would work, but I'm inclined to be 4 | // conservative and stick with 2.9.x for a while 5 | 6 | vars.proj.playframework: ${vars.base} { 7 | name: "playframework" 8 | uri: "https://github.com/playframework/playframework.git#f35c9e0f75f88ade2d256532eab2b6c4b25e2892" 9 | 10 | extra.options: [ 11 | ] 12 | extra.exclude: [ 13 | "Play-Docs", "Sbt-Plugin", "Play-Docs-Sbt-Plugin", "Sbt-Scripted-Tools" // out of scope 14 | "Play-Integration-Test" // TODO/WIP, see https://github.com/scala/community-builds/pull/819 15 | "Play-Microbenchmark" // out of scope (and besides, requires Play-Integration-Test) 16 | "Sbt-Routes-Compiler", "Play-Run-Support" // out of scope 17 | ] 18 | extra.commands: ${vars.default-commands} [ 19 | "appendScalacOptions -Wconf:cat=scala3-migration:w" 20 | // tests run forked, so these go in javaOptions, not extra.options 21 | """set ThisBuild / javaOptions += "-Dakka.fail-mixed-versions=false"""" 22 | """set ThisBuild / javaOptions += "--add-exports=java.base/sun.security.x509=ALL-UNNAMED"""" 23 | """set ThisBuild / javaOptions += "-XX:+IgnoreUnrecognizedVMOptions"""" 24 | // started failing consistently; maybe some site it depends on went down? 25 | // not investigated or reported 26 | """set PlayServerProject / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "ServerSSLEngineSpec.scala"""" 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /proj/portable-scala-reflect.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/portable-scala/portable-scala-reflect.git#master 2 | 3 | vars.proj.portable-scala-reflect: ${vars.base} { 4 | name: "portable-scala-reflect" 5 | uri: "https://github.com/portable-scala/portable-scala-reflect.git#5ec79bd310bcf3fe6002bda2adf9f3dd3ee9e65d" 6 | 7 | extra.projects: ["portable-scala-reflectJVM"] // no Scala.js plz 8 | } 9 | -------------------------------------------------------------------------------- /proj/pprint.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/pprint.git#community-build-2.13 # was com-lihaoyi, 6e4d576c167 2 | 3 | // frozen (June 2019) at May 2019 commit just before sbt->mill move; 4 | // fork refreshed June 2023 5 | 6 | vars.proj.pprint: ${vars.base} { 7 | name: "pprint" 8 | uri: "https://github.com/scalacommunitybuild/pprint.git#87b683d8a4c8344fb75e46ab44986c8b2caf0cb1" 9 | 10 | extra.projects: ["pprintJVM"] // no Scala.js 11 | } 12 | -------------------------------------------------------------------------------- /proj/prog-scala-examples.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/programming-scala-book-code-examples.git#community-build-2.13 # was deanwampler, release-2.1.0 2 | 3 | // forked to move to sbt 1 4 | 5 | vars.proj.prog-scala-examples: ${vars.base} { 6 | name: "prog-scala-examples" 7 | uri: "https://github.com/scalacommunitybuild/programming-scala-book-code-examples.git#4597a90035ee4a1144e12ea04b59e0899bafa5c9" 8 | 9 | } 10 | -------------------------------------------------------------------------------- /proj/pureconfig.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/pureconfig/pureconfig.git#master 2 | 3 | vars.proj.pureconfig: ${vars.base} { 4 | name: "pureconfig" 5 | uri: "https://github.com/pureconfig/pureconfig.git#06bedfd1d47454fc3ee7d3a6382567315014d298" 6 | 7 | extra.exclude: ["scalaz", "docs", "http4s022", "*-docs", "*scala3"] 8 | extra.settings: ${vars.base.extra.settings} [ 9 | // dbuild gets confused if only crossScalaVersions is set?! 10 | """ThisBuild / scalaVersion := "2.13.10"""" 11 | ] 12 | extra.commands: ${vars.default-commands} [ 13 | "set every semanticdbEnabled := false" 14 | "set every scalafixOnCompile := false" 15 | // test failure on Jenkins, not reproducible locally -- not investigated 16 | "set spark / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /proj/quicklens.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/softwaremill/quicklens.git#master 2 | 3 | vars.proj.quicklens: ${vars.base} { 4 | name: "quicklens" 5 | uri: "https://github.com/softwaremill/quicklens.git#964ff968bdb424f27ff7de2fbcd0b3b4cf582a7b" 6 | 7 | extra.projects: ["quicklens"] // this is the 2.13+JVM one 8 | } 9 | -------------------------------------------------------------------------------- /proj/redis4cats.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/profunktor/redis4cats.git#series/1.x 2 | 3 | vars.proj.redis4cats: ${vars.base} { 4 | name: "redis4cats" 5 | uri: "https://github.com/profunktor/redis4cats.git#cdd67e19067d82a7b838599f8cd34b2152d86727" 6 | 7 | // just whatever pfps-shopping-cart needs 8 | extra.projects: ["redis4cats-core", "redis4cats-effects", "redis4cats-log4cats"] 9 | } 10 | -------------------------------------------------------------------------------- /proj/refined.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/fthomas/refined.git#master 2 | 3 | vars.proj.refined: ${vars.base} { 4 | name: "refined" 5 | uri: "https://github.com/fthomas/refined.git#ba965f3ee81ea174b33c0b3911227323f0bd25b7" 6 | 7 | extra.exclude: ["*JS", "*Native", "benchmark", "docs"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/requests-scala.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/requests-scala.git#community-build-2.13 # was com-lihaoyi, master 2 | 3 | // forked to add sbt build (instead of mill) 4 | 5 | vars.proj.requests-scala: ${vars.base} { 6 | name: "requests-scala" 7 | uri: "https://github.com/scalacommunitybuild/requests-scala.git#a6375a871b7536f3600691c5197504a580a5f993" 8 | 9 | // excluded tests require docker 10 | extra.commands: ${vars.default-commands} [ 11 | """set Test / unmanagedSources / excludeFilter := HiddenFileFilter || "ModelTests.scala" || "RequestTests.scala" || "Scala2RequestTests.scala"""" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /proj/runtime-scaladoc-reader.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/takezoe/runtime-scaladoc-reader.git#master 2 | 3 | vars.proj.runtime-scaladoc-reader: ${vars.base} { 4 | name: "runtime-scaladoc-reader" 5 | uri: "https://github.com/takezoe/runtime-scaladoc-reader.git#0b19d59a793f1f4bb9e7454668ff3a7af0bb2041" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proj/sbinary.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/sbt/sbinary.git#develop 2 | 3 | vars.proj.sbinary: ${vars.base} { 4 | name: "sbinary" 5 | uri: "https://github.com/sbt/sbinary.git#0d67f706894a87404ca98e57bddaa2bfb44105f8" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proj/sbt-io.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/sbt/io.git#develop 2 | 3 | vars.proj.sbt-io: ${vars.base} { 4 | name: "sbt-io" 5 | uri: "https://github.com/sbt/io.git#3e889e31664ed722d3cad3f5436beda5a19963b3" 6 | 7 | // for JDK 8, as per https://github.com/sbt/sbt/issues/7463 ; might not be necessary 8 | // anymore by the time we have sbt 1.1.0 final? 9 | extra.options: ["-Dsbt.io.jdktimestamps=true"] 10 | } 11 | -------------------------------------------------------------------------------- /proj/scaffeine.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/blemale/scaffeine.git#d3c2cf0b32a266730823e974848e15304811336d # was main 2 | 3 | // frozen at a known-green SHA before a JGit upgrade in the build to a version 4 | // that requires JDK 11, preventing the build from even extracting on JDK 8 5 | 6 | // we could probably fork to remove the offending plugin, but it seems acceptable 7 | // to just freeze instead 8 | 9 | vars.proj.scaffeine: ${vars.base} { 10 | name: "scaffeine" 11 | uri: "https://github.com/blemale/scaffeine.git#d3c2cf0b32a266730823e974848e15304811336d" 12 | 13 | extra.settings: ${vars.base.extra.settings} [ 14 | // resolve version conflict (from sbt-scoverage, probably?) 15 | // one-deeper nesting level makes it apply to build definition 16 | ["""ThisBuild / libraryDependencySchemes += "org.scala-lang.modules" %% "scala-xml" % VersionScheme.Always"""] 17 | ] 18 | extra.commands: ${vars.default-commands} [ 19 | // otherwise build fails on JDK 11+ 20 | "set apiMappings := Map()" 21 | "set autoAPIMappings := false" 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /proj/scala-async.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scala/scala-async.git#main 2 | 3 | vars.proj.scala-async: ${vars.base} { 4 | name: "scala-async" 5 | uri: "https://github.com/scala/scala-async.git#56b9c0e4c876f0d5eb3f1af733d39899be68710c" 6 | 7 | extra.exclude: ["*JS", "root"] 8 | extra.commands: ${vars.default-commands} [ 9 | // maybe there's some shorter solution, but... 10 | "set proj.jvm / versionPolicyFindDependencyIssues := Seq()" 11 | "set proj.jvm / mimaReportBinaryIssues := {}" 12 | "set proj.jvm / versionPolicyMimaCheck := {}" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /proj/scala-collection-compat.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/scala-collection-compat.git#community-build-2.13 # was scala, main 2 | 3 | // forked (April 2025) to in-source new `UsingTest` from Scala 2.13.17; 4 | // we could unfork after 2.13.17 is out and this has been addressed: 5 | // https://github.com/scala/scala-collection-compat/issues/692 6 | 7 | vars.proj.scala-collection-compat: ${vars.base} { 8 | name: "scala-collection-compat" 9 | uri: "https://github.com/scalacommunitybuild/scala-collection-compat.git#322e24d375bcb6c40814f4d5f9894195baba632b" 10 | 11 | extra.projects: ["compat213"] // no Scala.js or Scalafix rules plz 12 | extra.commands: ${vars.default-commands} [ 13 | // in a community build context, we don't want sbt-version-policy 14 | "set every versionPolicyIntention := Compatibility.None" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /proj/scala-collection-contrib.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scala/scala-collection-contrib.git#main 2 | 3 | vars.proj.scala-collection-contrib: ${vars.base} { 4 | name: "scala-collection-contrib" 5 | uri: "https://github.com/scala/scala-collection-contrib.git#2e7e8cd34cee6ea69f22459297fc424610cd3af1" 6 | 7 | extra.exclude: ["*JS", "*Native"] 8 | extra.commands: ${vars.default-commands} [ 9 | // in a community build context, we don't want sbt-version-policy 10 | "set every versionPolicyIntention := Compatibility.None" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /proj/scala-collection-laws.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scala/scala-collection-laws.git#main 2 | 3 | vars.proj.scala-collection-laws: ${vars.base} { 4 | name: "scala-collection-laws" 5 | uri: "https://github.com/scala/scala-collection-laws.git#835598644e6a798afeeec2951e7fcf6da7434398" 6 | 7 | // as per the repo readme 8 | extra.options: ["-XX:MaxMetaspaceSize=1G", "-Xmx6G"] 9 | extra.commands: ${vars.default-commands} [ 10 | "removeScalacOptions -Xsource:3" 11 | "appendScalacOptions -Xsource:3-cross" 12 | // the real testing isn't under `test` 13 | "laws/run" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /proj/scala-common.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/softwaremill/scala-common.git#master 2 | 3 | vars.proj.scala-common: ${vars.base} { 4 | name: "scala-common" 5 | uri: "https://github.com/softwaremill/scala-common.git#aa70f1c04f3e385e2c156d85172d6dfcba579262" 6 | 7 | // "tagging" is the part that macwire actually depends on, but we might as well 8 | // include other subprojects if we can easily do so 9 | extra.exclude: [ 10 | "benchmark", "*JS", "*Native", "*JS3", "*2_11", "*2_12", "*3" 11 | // this subproject is using the ScalaTest 3.2 API. 12 | // the repo is on 3.1, which leaves them free to mix the 3.0 and 3.2 APIs, 13 | // but here in the community build we must choose one way or the other. 14 | // yes, we could work around it by splitting this file into two, but... meh 15 | "futureTry" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /proj/scala-commons.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/scala-commons.git#community-build-2.13 # was avsystem, master 2 | 3 | // forked (February 2025) to adjust a macro for 2.13.17, as per 4 | // https://github.com/scala/scala-dev/issues/893 5 | 6 | vars.proj.scala-commons: ${vars.base} { 7 | name: "scala-commons" 8 | uri: "https://github.com/scalacommunitybuild/scala-commons.git#0fef58188ecf9eada6a07cc318dcac3d67e6959b" 9 | 10 | extra.exclude: [ 11 | "*-js" 12 | "commons-comprof", "commons-benchmark" // out of scope 13 | ] 14 | extra.commands: ${vars.default-commands} [ 15 | "removeScalacOptions -Xsource:3" 16 | "appendScalacOptions -Xsource:3-cross" 17 | // tests here require Redis, so only compile them 18 | "set Commons.redis / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 19 | // ditto but MongoDB 20 | "set Commons.mongo / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /proj/scala-hedgehog.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/hedgehogqa/scala-hedgehog.git#master 2 | 3 | vars.proj.scala-hedgehog: ${vars.base} { 4 | name: "scala-hedgehog" 5 | uri: "https://github.com/hedgehogqa/scala-hedgehog.git#7f6eebc62bb09dab21c4ac06258e59559a11f3c4" 6 | 7 | extra.exclude: ["*JS", "*Native"] 8 | extra.commands: ${vars.default-commands} [ 9 | // latest portable-scala-reflect makes scala-reflect dependency "provided". 10 | // this can probably be removed eventually, once this repo depends on 11 | // a newer release of portable-scala-reflect 12 | """set testJVM / libraryDependencies += "org.scala-lang" %% "scala-reflect" % "0"""" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /proj/scala-java-time.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/cquiroz/scala-java-time.git#a3107accb0d6468194e471864d0bbf204908baaa # was master 2 | 3 | // frozen (April 2020) at an April 2020 commit just before an sbt plugin dependency 4 | // was changed to a SNAPSHOT version that wouldn't resolve 5 | 6 | vars.proj.scala-java-time: ${vars.base} { 7 | name: "scala-java-time" 8 | uri: "https://github.com/cquiroz/scala-java-time.git#a3107accb0d6468194e471864d0bbf204908baaa" 9 | 10 | extra.exclude: ["*JS", "docs", "demo"] 11 | extra.commands: ${vars.default-commands} [ 12 | // TestDateTimeTextPrinting: only works on JDK 13+, as per 13 | // https://github.com/cquiroz/scala-java-time/pull/176 14 | // It's not worth marking the entire repo expected-to-fail 15 | // on JDK 8 and 11 IMO, so we just exclude the test. 16 | // TestSimpleDateTimeTextProvider: always fails on JDK 14 17 | """set scalajavatimeTests.jvm / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "TestSimpleDateTimeTextProvider.scala" || "TestDateTimeTextPrinting.scala"""" 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /proj/scala-java8-compat.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scala/scala-java8-compat.git#main 2 | 3 | vars.proj.scala-java8-compat: ${vars.base} { 4 | name: "scala-java8-compat" 5 | uri: "https://github.com/scala/scala-java8-compat.git#4f1445b8543592a155b88e505f2a29235aca631d" 6 | 7 | // as per https://github.com/scala/scala-java8-compat/issues/160 8 | // genjavadoc is disabled except on JDK 8, but we don't want to 9 | // have different dependencies on different JDK versions, 10 | // so let's just disable genjavadoc on all JDK versions: 11 | extra.options: ["-Dnodocs=true"] 12 | extra.commands: ${vars.default-commands} [ 13 | // in a community build context, we don't want sbt-version-policy 14 | "set every versionPolicyIntention := Compatibility.None" 15 | // fragile test that involves running coursier in a separate process 16 | """set Test / unmanagedSources / excludeFilter := HiddenFileFilter || "Issue247Test.scala"""" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /proj/scala-js-stubs.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scala-js/scala-js-stubs.git#main 2 | 3 | vars.proj.scala-js-stubs: ${vars.base} { 4 | name: "scala-js-stubs" 5 | uri: "https://github.com/scala-js/scala-js-stubs.git#401cb6d717991739691cc99ac0706a812a47ac41" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proj/scala-library-next.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scala/scala-library-next.git#main 2 | 3 | vars.proj.scala-library-next: ${vars.base} { 4 | name: "scala-library-next" 5 | uri: "https://github.com/scala/scala-library-next.git#89c87d33ee06221fcaa1109c8ab1cded0c932a2e" 6 | 7 | extra.exclude: ["*JS"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/scala-logging.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/lightbend-labs/scala-logging.git#main 2 | 3 | vars.proj.scala-logging: ${vars.base} { 4 | name: "scala-logging" 5 | uri: "https://github.com/lightbend-labs/scala-logging.git#1aa4df2d6d9a3f391c8e6ae69f40356a56c7e59a" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proj/scala-newtype.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/estatico/scala-newtype.git#master 2 | 3 | vars.proj.scala-newtype: ${vars.base} { 4 | name: "scala-newtype" 5 | uri: "https://github.com/estatico/scala-newtype.git#201dad6b0c628caa9a80141e304ca70716d601a8" 6 | 7 | extra.exclude: ["*JS"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/scala-parallel-collections.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scala/scala-parallel-collections.git#main 2 | 3 | vars.proj.scala-parallel-collections: ${vars.base} { 4 | name: "scala-parallel-collections" 5 | uri: "https://github.com/scala/scala-parallel-collections.git#97d98906e9faec3d81f9201ba04f056214e6a25c" 6 | 7 | extra.exclude: ["*Native"] 8 | extra.commands: ${vars.default-commands} [ 9 | "set every mimaPreviousArtifacts := Set()" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /proj/scala-parser-combinators.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scala/scala-parser-combinators.git#main 2 | 3 | vars.proj.scala-parser-combinators: ${vars.base} { 4 | name: "scala-parser-combinators" 5 | uri: "https://github.com/scala/scala-parser-combinators.git#cf32970e106a2e0383d1b3929ad276aed782fbf4" 6 | 7 | extra.exclude: ["*JS", "*Native"] 8 | extra.commands: ${vars.default-commands} [ 9 | // work around https://github.com/scala/community-builds/issues/575 10 | // (in a community build context, we don't need MiMa to run) 11 | "set every scalaModuleMimaPreviousVersion := None" 12 | "set parserCombinators.jvm / versionPolicyFindDependencyIssues := Seq()" 13 | "set parserCombinators.jvm / versionPolicyMimaCheck := {}" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /proj/scala-pet-store.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/pauljamescleary/scala-pet-store.git#master 2 | 3 | vars.proj.scala-pet-store: ${vars.base} { 4 | name: "scala-pet-store" 5 | uri: "https://github.com/pauljamescleary/scala-pet-store.git#a4391027771146daaa4b5a6599d36e6462d645b3" 6 | 7 | extra.settings: ${vars.base.extra.settings} [ 8 | // dbuild gets confused if only crossScalaVersions is set?! 9 | """ThisBuild / scalaVersion := "2.13.10"""" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /proj/scala-records.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scala-records/scala-records.git#master 2 | 3 | vars.proj.scala-records: ${vars.base} { 4 | name: "scala-records" 5 | uri: "https://github.com/scala-records/scala-records.git#4f85fad12324a09d1dd1042f4f1192b81786b373" 6 | 7 | extra.exclude: [ 8 | "coreJS" // no Scala.js please 9 | "root" // dbuild thinks it tries to publish root#root 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /proj/scala-sculpt.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/lightbend-labs/scala-sculpt.git#main 2 | 3 | vars.proj.scala-sculpt: ${vars.base} { 4 | name: "scala-sculpt" 5 | uri: "https://github.com/lightbend-labs/scala-sculpt.git#e401c7d14e3200c1499542e06c84a81ca6004549" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proj/scala-ssh.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/sirthias/scala-ssh.git#master 2 | 3 | vars.proj.scala-ssh: ${vars.base} { 4 | name: "scala-ssh" 5 | uri: "https://github.com/sirthias/scala-ssh.git#18d4129b209e15e361d2795ea7a00df092044560" 6 | 7 | extra.commands: ${vars.default-commands} [ 8 | "set every scalafmtOnCompile := false" 9 | "set every gpgWarnOnFailure := true" 10 | ] 11 | // Known test failures: https://github.com/sirthias/scala-ssh/issues/38 12 | extra.test-tasks: "compile" 13 | } 14 | -------------------------------------------------------------------------------- /proj/scala-stm.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scala-stm/scala-stm.git#main 2 | 3 | vars.proj.scala-stm: ${vars.base} { 4 | name: "scala-stm" 5 | uri: "https://github.com/scala-stm/scala-stm.git#3244edf13c41f22ff8b45143186745e9eb469220" 6 | 7 | extra.exclude: ["*JS"] 8 | extra.commands: ${vars.default-commands} [ 9 | // prone to intermittent failure 10 | """set Test / unmanagedSources / excludeFilter := HiddenFileFilter || "TMapSuite.scala"""" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /proj/scala-supertagged.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/rudogma/scala-supertagged.git#master 2 | 3 | vars.proj.scala-supertagged: ${vars.base} { 4 | name: "scala-supertagged" 5 | uri: "https://github.com/rudogma/scala-supertagged.git#a092b7d72bdfa15ca5b6477ea9b511352b2d0209" 6 | 7 | extra.exclude: ["*JS", "*Native"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/scala-swing.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scala/scala-swing.git#work 2 | 3 | vars.proj.scala-swing: ${vars.base} { 4 | name: "scala-swing" 5 | uri: "https://github.com/scala/scala-swing.git#b5afedd3d4db43735922ec2687c19a22b439842b" 6 | 7 | extra.commands: ${vars.default-commands} [ 8 | // work around https://github.com/scala/community-builds/issues/575 9 | // (in a community build context, we don't need MiMa to run) 10 | "set every scalaModuleMimaPreviousVersion := None" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /proj/scala-typed-holes.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/cb372/scala-typed-holes.git#main 2 | 3 | vars.proj.scala-typed-holes: ${vars.base} { 4 | name: "scala-typed-holes" 5 | uri: "https://github.com/cb372/scala-typed-holes.git#7caebf1b43d5dd993df2f5eb20071bb1c6467588" 6 | 7 | extra.exclude: ["docs", "*-3"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/scala-xml.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scala/scala-xml.git#main 2 | 3 | vars.proj.scala-xml: ${vars.base} { 4 | name: "scala-xml" 5 | uri: "https://github.com/scala/scala-xml.git#bda2f983ab3ef4f0f2e819689167c394fd6536c9" 6 | 7 | extra.projects: ["xml"] 8 | extra.commands: ${vars.default-commands} [ 9 | // work around https://github.com/scala/community-builds/issues/575 10 | // (in a community build context, we don't need MiMa to run) 11 | "set every versionPolicyIntention := Compatibility.None" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /proj/scalac-options.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/scalac-options.git#main 2 | 3 | vars.proj.scalac-options: ${vars.base} { 4 | name: "scalac-options" 5 | uri: "https://github.com/typelevel/scalac-options.git#2963ce1064b0e9b1220ee3a5b28dea82b610ddb0" 6 | 7 | extra.exclude: ["*JS", "*Native"] 8 | extra.commands: ${vars.default-commands} [ 9 | // don't ask for GPG passphrase when running locally 10 | """set every gpgOptions := Seq("--yes", "--passphrase", "", "--pinentry-mode", "loopback")""" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /proj/scalacheck-effect.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/scalacheck-effect.git#main 2 | 3 | vars.proj.scalacheck-effect: ${vars.base} { 4 | name: "scalacheck-effect" 5 | uri: "https://github.com/typelevel/scalacheck-effect.git#fc6e1c578915200e1b301993151194dcaab46fcb" 6 | 7 | extra.exclude: ["*JS", "*Native"] 8 | extra.commands: ${vars.default-commands} [ 9 | // otherwise sbt-gpg errors on `publish` 10 | "set every gpgWarnOnFailure := true" 11 | // don't ask for GPG passphrase when running locally 12 | """set every gpgOptions := Seq("--yes", "--passphrase", "", "--pinentry-mode", "loopback")""" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /proj/scalacheck-shapeless.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/alexarchambault/scalacheck-shapeless.git#545ff2dc35e08f46ccb7fd02dfb4830c83a7b104 # was main 2 | 3 | // frozen (December 2022) before a switch from sbt to scala-cli 4 | 5 | vars.proj.scalacheck-shapeless: ${vars.base} { 6 | name: "scalacheck-shapeless" 7 | uri: "https://github.com/alexarchambault/scalacheck-shapeless.git#545ff2dc35e08f46ccb7fd02dfb4830c83a7b104" 8 | 9 | extra.projects: ["*JVM"] 10 | extra.commands: ${vars.default-commands} [ 11 | // see https://github.com/alexarchambault/scalacheck-shapeless/issues/149 12 | """set coreJVM / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "SizeTests.scala"""" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /proj/scalacheck.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/scalacheck.git#main 2 | 3 | vars.proj.scalacheck: ${vars.base} { 4 | name: "scalacheck" 5 | uri: "https://github.com/typelevel/scalacheck.git#c3c8a4d5317c66769e268e835e178e88c99fbecb" 6 | 7 | extra.exclude: ["root", "bench", "*JS", "*Native"] 8 | extra.commands: ${vars.default-commands} [ 9 | "set every gpgWarnOnFailure := true" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /proj/scalachess.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/ornicar/scalachess.git#d490f073f3a76ac83a00dbe3ae52966f35b80a72 # was master 2 | 3 | // frozen (December 2022) before Scala 3 upgrade 4 | 5 | vars.proj.scalachess: ${vars.base} { 6 | name: "scalachess" 7 | uri: "https://github.com/ornicar/scalachess.git#d490f073f3a76ac83a00dbe3ae52966f35b80a72" 8 | 9 | } 10 | -------------------------------------------------------------------------------- /proj/scaladex.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/scaladex.git#community-build-2.13 # was scalacenter, main 2 | 3 | // forked (August 2021) to remove Ammonite stuff 4 | 5 | vars.proj.scaladex: ${vars.base} { 6 | name: "scaladex" 7 | uri: "https://github.com/scalacommunitybuild/scaladex.git#95bb1ec2a36c86d5d5b6f5334fbc8cd4d14add26" 8 | 9 | extra.exclude: [ 10 | // no Scala.js plz 11 | "*JS", "client" 12 | // and this fails because of JavaScript stuff, too. oh well 13 | "server" 14 | ] 15 | extra.commands: ${vars.default-commands} [ 16 | // so we don't have to arrange for dbuild-built semanticdb to be brought in 17 | "set every semanticdbEnabled := false" 18 | // needs docker stuff 19 | "set Global / startElasticsearch := {}" 20 | "set search / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 21 | // but actually this subproject's tests don't even compile?! (as of Aug 25 2021 anyway) 22 | "set search / Test / compile / sources := List()" 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /proj/scalafix-rules.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/xuwei-k/scalafix-rules.git#main 2 | 3 | vars.proj.scalafix-rules: ${vars.base} { 4 | name: "scalafix-rules" 5 | uri: "https://github.com/xuwei-k/scalafix-rules.git#5630b5de31bfa0348edbbc6f96e697994ca7f365" 6 | 7 | extra.projects: ["*2_13"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/scalafx.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalafx/scalafx.git#master 2 | 3 | vars.proj.scalafx: ${vars.base} { 4 | name: "scalafx" 5 | uri: "https://github.com/scalafx/scalafx.git#eebadfb922d58a031b937436e31dc0509b68b7de" 6 | 7 | // tests fail on our Jenkins for lack of xfvb or equivalent; 8 | // see https://github.com/scala/community-build/pull/1174 9 | extra.test-tasks: ["compile"] 10 | // work around https://github.com/scala/bug/issues/12509 11 | extra.commands: ${vars.default-commands} [ 12 | """set scalafx / Compile / doc / sources ~= (_.filterNot(_.toString.endsWith("SpotLight.scala")))""" 13 | "appendScalacOptions -Wconf:cat=scala3-migration:w" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /proj/scalaj-http.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalaj/scalaj-http.git#master 2 | 3 | vars.proj.scalaj-http: ${vars.base} { 4 | name: "scalaj-http" 5 | uri: "https://github.com/scalaj/scalaj-http.git#aa239da0e218ba110b2504b07520b742e01b27ab" 6 | 7 | // https://github.com/scalaj/scalaj-http/issues/164 8 | extra.test-tasks: ["compile"] 9 | } 10 | -------------------------------------------------------------------------------- /proj/scalajson.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/mdedetrich/scalajson.git#master 2 | 3 | vars.proj.scalajson: ${vars.base} { 4 | name: "scalajson" 5 | uri: "https://github.com/mdedetrich/scalajson.git#1fff55bca036556d058621637399270403e45738" 6 | 7 | // no Scala.js please, and no benchmarks either 8 | extra.projects: ["scalaJsonJVM"] 9 | } 10 | -------------------------------------------------------------------------------- /proj/scalalib.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/ornicar/scalalib.git#7c37aedd8b43e99cd963c535fabda4b2bfdbc131 # was master 2 | 3 | // frozen (December 2022) before Scala 3 upgrade 4 | 5 | vars.proj.scalalib: ${vars.base} { 6 | name: "scalalib" 7 | uri: "https://github.com/ornicar/scalalib.git#7c37aedd8b43e99cd963c535fabda4b2bfdbc131" 8 | 9 | } 10 | -------------------------------------------------------------------------------- /proj/scalamock.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/ScalaMock/ScalaMock.git#series/7.x 2 | 3 | vars.proj.scalamock: ${vars.base} { 4 | name: "scalamock" 5 | uri: "https://github.com/ScalaMock/ScalaMock.git#9327cf5ffb7c4103c3bfcfab028fecedd45d7dfc" 6 | 7 | extra.projects: ["scalamockJVM", "examples"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/scalapb.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalapb/ScalaPB.git#a9508fcc7aa78ff7a37030f1403aee4fc37d2ff6 # was master 2 | 3 | // frozen because they early-adopted scalaOutputVersion, which is now 4 | // abandoned; we can unfreeze once they fix that 5 | 6 | vars.proj.scalapb: ${vars.base} { 7 | name: "scalapb" 8 | uri: "https://github.com/scalapb/ScalaPB.git#a9508fcc7aa78ff7a37030f1403aee4fc37d2ff6" 9 | 10 | // just what scalameta needs, for now 11 | extra.projects: ["runtimeJVM2_13"] 12 | } 13 | -------------------------------------------------------------------------------- /proj/scalaprops.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalaprops/scalaprops.git#master 2 | 3 | vars.proj.scalaprops: ${vars.base} { 4 | name: "scalaprops" 5 | uri: "https://github.com/scalaprops/scalaprops.git#be34579b167211926767b234c3848a446b849125" 6 | 7 | extra.projects: ["scalapropsJVM"] // no Scala.js please 8 | } 9 | -------------------------------------------------------------------------------- /proj/scalariform.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scala-ide/scalariform.git#master 2 | 3 | vars.proj.scalariform: ${vars.base} { 4 | name: "scalariform" 5 | uri: "https://github.com/scala-ide/scalariform.git#8cf96a69d7a87a4b4d31a4061b8eb1ca615fd896" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proj/scalasql.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/scalasql.git#community-build-2.13 # was com-lihaoyi 2 | 3 | // forked (February 2024) to add sbt build (instead of mill) 4 | 5 | vars.proj.scalasql: ${vars.base} { 6 | name: "scalasql" 7 | uri: "https://github.com/scalacommunitybuild/scalasql.git#a896db49243456e43b650d94c21c406d27e3d5f0" 8 | 9 | extra.commands: ${vars.default-commands} [ 10 | // needs Docker stuff to actually run 11 | "set scalasql / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /proj/scalastyle.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/beautiful-scala/scalastyle.git#master 2 | 3 | // repo in scalastyle org is abandoned; 2.13 support lives in beautiful-scala fork 4 | 5 | vars.proj.scalastyle: ${vars.base} { 6 | name: "scalastyle" 7 | uri: "https://github.com/beautiful-scala/scalastyle.git#cff4fde2f388ec33e2dade7cf571b63cc7716359" 8 | 9 | } 10 | -------------------------------------------------------------------------------- /proj/scalatags.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/lihaoyi/scalatags.git#28e1b1e0027def1e121b51a40dc746807e281540 # was master 2 | 3 | // frozen (June 2019) at June 2019 commit just before sbt->mill move 4 | 5 | vars.proj.scalatags: ${vars.base} { 6 | name: "scalatags" 7 | uri: "https://github.com/lihaoyi/scalatags.git#28e1b1e0027def1e121b51a40dc746807e281540" 8 | 9 | extra.projects: ["scalatagsJVM"] // no Scala.js 10 | } 11 | -------------------------------------------------------------------------------- /proj/scalatest.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/scalatest.git#community-build-2.13 # was scalatest, 3.2.x-new 2 | 3 | // forked (August 2021) to remove sbt-dotty 4 | 5 | vars.proj.scalatest: ${vars.base} { 6 | name: "scalatest" 7 | uri: "https://github.com/scalacommunitybuild/scalatest.git#e37f2c8f774e2e9a9acd8a7e4bd7d1854e9886f0" 8 | 9 | extra.projects: ["scalatest", "scalactic", "scalatestFunSuite"] 10 | } 11 | -------------------------------------------------------------------------------- /proj/scalatestplus-testng.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalatest/scalatestplus-testng.git#testng-6.7/3.2.9.x 2 | 3 | vars.proj.scalatestplus-testng: ${vars.base} { 4 | name: "scalatestplus-testng" 5 | uri: "https://github.com/scalatest/scalatestplus-testng.git#cc859d7c3ca89b8c961bb106183cdc33423fb271" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proj/scalikejdbc.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalikejdbc/scalikejdbc.git#22f465466d713283425b78470d9a3d6e98b68746 # was master 2 | 3 | // frozen (October 2024) at known-green commit before sbt 2 upgrade 4 | 5 | vars.proj.scalikejdbc: ${vars.base} { 6 | name: "scalikejdbc" 7 | uri: "https://github.com/scalikejdbc/scalikejdbc.git#22f465466d713283425b78470d9a3d6e98b68746" 8 | 9 | // don't build sbt plugin 10 | extra.exclude: ["mapper-generator"] 11 | extra.settings: ${vars.base.extra.settings} [ 12 | // dbuild gets confused if only crossScalaVersions is set?! 13 | """ThisBuild / scalaVersion := "2.13.10"""" 14 | ] 15 | extra.commands: ${vars.default-commands} [ 16 | """set scalikejdbcStreams / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "DatabasePublisherTckTest.scala"""" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /proj/scallop.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scallop/scallop.git#develop 2 | 3 | // we track develop, since master seems neglected/outdated 4 | 5 | vars.proj.scallop: ${vars.base} { 6 | name: "scallop" 7 | uri: "https://github.com/scallop/scallop.git#0f290269a69e22068629294c864ad2bd9a2c3ff1" 8 | 9 | extra.projects: ["scallopJVM"] // no Scala.js or Scala Native plz 10 | extra.options: [${?SECURITY_MANAGER}] 11 | } 12 | -------------------------------------------------------------------------------- /proj/scapegoat.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/scapegoat.git#community-build-2.13 # was scapegoat-scala, master 2 | 3 | // forked (August 2019; refreshed October 2023) because some 4 | // classpath-handling code didn't work under dbuild 5 | 6 | vars.proj.scapegoat: ${vars.base} { 7 | name: "scapegoat" 8 | uri: "https://github.com/scalacommunitybuild/scapegoat.git#dfd4de4c57a7b194e2dd9d50eaeb2aff26bc6f2f" 9 | 10 | } 11 | -------------------------------------------------------------------------------- /proj/scastie.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/scastie.git#community-build-2.13 # was scalacenter, main 2 | 3 | // forked (November 2022) to remove a weird build thing that was 4 | // confusing dbuild; fork updated February 2025 5 | 6 | vars.proj.scastie: ${vars.base} { 7 | name: "scastie" 8 | uri: "https://github.com/scalacommunitybuild/scastie.git#14391080c41cf0369ab894b8a6d2a19a19e754c8" 9 | 10 | extra.exclude: [ 11 | "*2_10", "*2_11", "*2_12", "*3", "*JS", "client", "sbtScastie" 12 | // ???, not investigated 13 | "metalsRunner" 14 | ] 15 | extra.commands: ${vars.default-commands} [ 16 | // integration tests -- out of scope 17 | "set sbtRunner / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 18 | "set balancer / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 19 | // test failure, not investigated 20 | """set storage / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "SnippetsContainerTest.scala"""" 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /proj/scodec-bits.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scodec/scodec-bits.git#series/1.1.x 2 | 3 | vars.proj.scodec-bits: ${vars.base} { 4 | name: "scodec-bits" 5 | uri: "https://github.com/scodec/scodec-bits.git#174c962e6e59d3ca861b5d597400f29fe6fcd093" 6 | 7 | extra.projects: ["coreJVM"] 8 | extra.commands: ${vars.default-commands} [ 9 | // because scodec-build brings in sbt-gpg which errors on `publish` 10 | "set every gpgWarnOnFailure := true" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /proj/scodec-cats.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scodec/scodec-cats.git#ab2c34ff8cd4fb4087d2e7a64d840c82b2cb2091 # was master 2 | 3 | // frozen (November 2020) at a commit just before Scala 3 support was added, because 4 | // "Missing dependency: the library org.scala-lang#scala3-library is not provided" 5 | // see https://github.com/scala/community-build/pull/1374 6 | 7 | vars.proj.scodec-cats: ${vars.base} { 8 | name: "scodec-cats" 9 | uri: "https://github.com/scodec/scodec-cats.git#ab2c34ff8cd4fb4087d2e7a64d840c82b2cb2091" 10 | 11 | extra.projects: ["coreJVM"] 12 | extra.commands: ${vars.default-commands} [ 13 | "set every gpgWarnOnFailure := true" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /proj/scodec-stream.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scodec/scodec-stream.git#3239cd9cb5bfa076738cd501bd70ef5bc79f9ad9 # was main 2 | 3 | // frozen (November 2020) at a commit just before Scala 3 support was added, because 4 | // "Missing dependency: the library org.scala-lang#scala3-library is not provided" 5 | // see https://github.com/scala/community-build/pull/1374 6 | 7 | vars.proj.scodec-stream: ${vars.base} { 8 | name: "scodec-stream" 9 | uri: "https://github.com/scodec/scodec-stream.git#3239cd9cb5bfa076738cd501bd70ef5bc79f9ad9" 10 | 11 | extra.exclude: ["*JS"] 12 | extra.settings: ${vars.base.extra.settings} [ 13 | // dbuild gets confused if only crossScalaVersions is set?! 14 | """ThisBuild / scalaVersion := "2.13.10"""" 15 | ] 16 | extra.commands: ${vars.default-commands} [ 17 | "set every gpgWarnOnFailure := true" 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /proj/scodec.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scodec/scodec.git#series/1.11.x 2 | 3 | vars.proj.scodec: ${vars.base} { 4 | name: "scodec" 5 | uri: "https://github.com/scodec/scodec.git#30f840f79ccccd13d27419ec8a8d692cc30b0a27" 6 | 7 | extra.projects: ["coreJVM"] 8 | extra.settings: ${vars.base.extra.settings} [ 9 | // dbuild gets confused if only crossScalaVersions is set?! 10 | """ThisBuild / scalaVersion := "2.13.10"""" 11 | ] 12 | extra.commands: ${vars.default-commands} [ 13 | // because scodec-build brings in sbt-gpg which errors on `publish` 14 | "set every gpgWarnOnFailure := true" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /proj/sconfig.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/ekrich/sconfig.git#main 2 | 3 | vars.proj.sconfig: ${vars.base} { 4 | name: "sconfig" 5 | uri: "https://github.com/ekrich/sconfig.git#81cd895e1ba9e258bf974edf64a1161310828daa" 6 | 7 | extra.exclude: [ 8 | "sconfigNative", "sconfigJS" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /proj/scopt.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scopt/scopt.git#develop 2 | 3 | vars.proj.scopt: ${vars.base} { 4 | name: "scopt" 5 | uri: "https://github.com/scopt/scopt.git#399a6cf74ae9044bc171884aa5edda439d0724a3" 6 | 7 | extra.projects: ["scoptJVM"] 8 | extra.commands: ${vars.default-commands} [ 9 | "removeScalacOptions -Xsource:3" 10 | "appendScalacOptions -Xsource:3-cross" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /proj/scoverage.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scoverage/scalac-scoverage-plugin.git#main 2 | 3 | vars.proj.scoverage: ${vars.base} { 4 | name: "scoverage" 5 | uri: "https://github.com/scoverage/scalac-scoverage-plugin.git#2b9bba92494cca0c17e3667a2d81ca4522648705" 6 | 7 | extra.exclude: ["*JS*", "*Native"] 8 | extra.commands: ${vars.default-commands} [ 9 | // so we don't have to arrange for dbuild-built semanticdb to be brought in 10 | "set every semanticdbEnabled := false" 11 | // plugin project has `dependsOn(runtimeJVM % Test, runtimeJS % Test)` 12 | "removeDependency org.scala-js scalajs-compiler" 13 | // this additionally became needed after upgrading from Scala.js 1.14.0 to 1.15.0 14 | "removeDependency org.scala-js scalajs-scalalib" 15 | ] 16 | // [info] java.io.FileNotFoundException: Could not locate [~/.ivy2/cache/org.scala-lang/scala-compiler/jars/scala-compiler-2.11.0.jar]. 17 | // September 2021: failure's continued existence confirmed 18 | // (some history is at https://github.com/scala/community-builds/pull/387) 19 | extra.test-tasks: ["compile"] 20 | } 21 | -------------------------------------------------------------------------------- /proj/scribe.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/scribe.git#community-build-2.13 # was outr, master 2 | 3 | // forked to bump sbt-scoverage 4 | 5 | vars.proj.scribe: ${vars.base} { 6 | name: "scribe" 7 | uri: "https://github.com/scalacommunitybuild/scribe.git#c7db855539dacf4e4fd7269f86194c7ffabb5c4c" 8 | 9 | extra.projects: ["coreJVM", "slf4j"] 10 | extra.commands: ${vars.default-commands} [ 11 | // intermittently failing test I haven't gotten around to reporting upstream 12 | """set coreJVM / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "FileLoggingSpec.scala"""" 13 | // failure here looks like a time zone mistake 14 | """set slf4j / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "SLF4JSpec.scala"""" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /proj/scrooge.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/twitter/scrooge.git#a2d37fa2941b58e9a40a6ab476ba7c0aba41f78c # was release 2 | 3 | // there's also a "develop" branch, but I've found it to be prone 4 | // to have SNAPSHOT dependencies we can't resolve 5 | 6 | // frozen June 2024 because: 7 | // [scrooge] [error] sbt.librarymanagement.ResolveException: Error downloading com.twitter:util-validator-constraints_2.13:24.5.0 8 | // in the past such errors have sometimes resolved themselves 9 | // later, so we might try unfreezing in a few months 10 | 11 | vars.proj.scrooge: ${vars.base} { 12 | name: "scrooge" 13 | uri: "https://github.com/twitter/scrooge.git#a2d37fa2941b58e9a40a6ab476ba7c0aba41f78c" 14 | 15 | extra.projects: ["scrooge-core"] 16 | extra.commands: ${vars.default-commands} [ 17 | // not supported on JDK 11+ 18 | "removeJavaOptions -XX:+UseParNewGC" 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /proj/shapeless-java-records.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/xuwei-k/shapeless-java-records.git#main 2 | 3 | vars.proj.shapeless-java-records: ${vars.base} { 4 | name: "shapeless-java-records" 5 | uri: "https://github.com/xuwei-k/shapeless-java-records.git#1b95baa049d9e8244c1f09026fb22a95ac33af60" 6 | 7 | extra.options: ["--enable-preview", "-XX:+IgnoreUnrecognizedVMOptions"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/shapeless.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/milessabin/shapeless.git#main 2 | 3 | vars.proj.shapeless: ${vars.base} { 4 | name: "shapeless" 5 | uri: "https://github.com/milessabin/shapeless.git#15577b823ffb8b934eb75f15697b4c5b29a68730" 6 | 7 | extra.projects: ["coreJVM"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/singleton-ops.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/fthomas/singleton-ops.git#master 2 | 3 | vars.proj.singleton-ops: ${vars.base} { 4 | name: "singleton-ops" 5 | uri: "https://github.com/fthomas/singleton-ops.git#07ec9fcb79e464200728a178d7b2afb3ccd42b6e" 6 | 7 | extra.projects: ["singleton_opsJVM"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/sjson-new.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/eed3si9n/sjson-new.git#874d07801839dd194ed376a3618aa5a9293ff64d # was master 2 | 3 | // frozen (May 2020) at last known-green commit. newer commits use sbt-jarjar-abrams 4 | // to shade jawn-parser and I spent over an hour trying various things trying to 5 | // adapt to that (like we already did with shaded-scalajson) but failed. it's probably 6 | // possible but it was turning into a time sink. 7 | 8 | // addendum: at https://github.com/scala/community-build/pull/1162 Eugene has an idea for an 9 | // adjustment to sbt-jarjar-abrams that might help 10 | 11 | vars.proj.sjson-new: ${vars.base} { 12 | name: "sjson-new" 13 | uri: "https://github.com/eed3si9n/sjson-new.git#874d07801839dd194ed376a3618aa5a9293ff64d" 14 | 15 | extra.exclude: ["benchmark"] 16 | } 17 | -------------------------------------------------------------------------------- /proj/skunk.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/tpolecat/skunk.git#main 2 | 3 | vars.proj.skunk: ${vars.base} { 4 | name: "skunk" 5 | uri: "https://github.com/tpolecat/skunk.git#7260886cd923a96d4051e683d4e2729abe4e032b" 6 | 7 | extra.exclude: [ 8 | "docs", "bench" // out of scope 9 | "example" // would require adding more dependencies. maybe someday 10 | "*JS", "*Native" 11 | ] 12 | extra.commands: ${vars.default-commands} [ 13 | "set every gpgWarnOnFailure := true" 14 | // I think the tests need a database, I get tons of java.net.ConnectExceptions 15 | "set tests.jvm / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /proj/slick.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/slick.git#community-build-2.13 # was slick, main 2 | 3 | // forked (February 2025) for 2.13.16 compatibility -- they haven't 4 | // taken the 2.13.16 upgrade yet 5 | 6 | vars.proj.slick: ${vars.base} { 7 | name: "slick" 8 | uri: "https://github.com/scalacommunitybuild/slick.git#9a93fdb91ac599634a47211d121f4b1b0cd6863f" 9 | 10 | extra.exclude: [ 11 | // unless we exclude, it looks for an Ornate dependency here 12 | "root" 13 | ] 14 | extra.commands: ${vars.default-commands} [ 15 | // fails on JDK 20 16 | """set testkit / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "MBeansTest.scala"""" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /proj/sourcecode.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/sourcecode.git#community-build-2.13 # was lihaoyi, master 2 | 3 | // forked (December 2020) to add sbt build (instead of mill) 4 | 5 | vars.proj.sourcecode: ${vars.base} { 6 | name: "sourcecode" 7 | uri: "https://github.com/scalacommunitybuild/sourcecode.git#286c5c21b77b36d131819207fcfd1e698faf3d1f" 8 | 9 | } 10 | -------------------------------------------------------------------------------- /proj/specs2.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/specs2.git#community-build-2.13 # was etorreborre, specs2-4.x-maintenance 2 | 3 | // forked (November 2024) to remove `-Wconf:cat=lint-multiarg-infix`; 4 | // we should be able to unfork once they take the 2.13.16 upgrade 5 | 6 | vars.proj.specs2: ${vars.base} { 7 | name: "specs2" 8 | uri: "https://github.com/scalacommunitybuild/specs2.git#dfdce2c81301a93585ed92d60051ff36d72f2142" 9 | 10 | extra.exclude: [ 11 | "*JS", "*Native", "scalaz*", "guide" 12 | // markdown stuff uses parboiled2 which doesn't work on JDK 17 13 | "markdown*" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /proj/spire.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/spire.git#main 2 | 3 | vars.proj.spire: ${vars.base} { 4 | name: "spire" 5 | uri: "https://github.com/typelevel/spire.git#4a70e3a330737f7afbdf4a12c8ab04c98fbbf375" 6 | 7 | // hopefully avoid intermittent OutOfMemoryErrors during compilation 8 | extra.options: ["-Xmx3G"] 9 | extra.projects: ["*JVM"] 10 | extra.exclude: ["benchmark"] 11 | extra.commands: ${vars.default-commands} [ 12 | // otherwise sbt-gpg errors on `publish` 13 | "set every gpgWarnOnFailure := true" 14 | // jmh stuff is out of scope 15 | "removeDependency org.openjdk.jmh jmh-core" 16 | "removeDependency org.openjdk.jmh jmh-generator-bytecode" 17 | "removeDependency org.openjdk.jmh jmh-generator-reflection" 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /proj/spliff.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/sirthias/spliff.git#master 2 | 3 | vars.proj.spliff: ${vars.base} { 4 | name: "spliff" 5 | uri: "https://github.com/sirthias/spliff.git#9e6f471fd1a6fcc60aa6b95efef28be2fb129b95" 6 | 7 | extra.exclude: ["*JS"] 8 | extra.commands: ${vars.default-commands} [ 9 | "set every gpgWarnOnFailure := true" 10 | "set every scalafmtOnCompile := false" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /proj/spray-json.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/spray/spray-json.git#master 2 | 3 | vars.proj.spray-json: ${vars.base} { 4 | name: "spray-json" 5 | uri: "https://github.com/spray/spray-json.git#5cd406f413bf6220330b6ee26195689d2d50aea1" 6 | 7 | extra.exclude: ["*JS", "*Native", "benchmark"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/squants.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/squants.git#master 2 | 3 | vars.proj.squants: ${vars.base} { 4 | name: "squants" 5 | uri: "https://github.com/typelevel/squants.git#5ad6433e8f7c92a274724d517e606cf53473ab68" 6 | 7 | extra.projects: ["squantsJVM"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/ssl-config.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/lightbend/ssl-config.git#master 2 | 3 | vars.proj.ssl-config: ${vars.base} { 4 | name: "ssl-config" 5 | uri: "https://github.com/lightbend/ssl-config.git#de12515c61dfe25f061640779c27f3abd499bc0e" 6 | 7 | extra.projects: ["sslConfigCore"] 8 | // repeated hangs during testing; see 9 | // https://github.com/scala/community-builds/issues/560 10 | // (last confirmed: January 2018) 11 | extra.test-tasks: ["compile"] 12 | } 13 | -------------------------------------------------------------------------------- /proj/sttp-model.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/softwaremill/sttp-model.git#master 2 | 3 | vars.proj.sttp-model: ${vars.base} { 4 | name: "sttp-model" 5 | uri: "https://github.com/softwaremill/sttp-model.git#202b8d11622e9291d3645f0a7925d803471cf5c4" 6 | 7 | extra.projects: ["core"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/sttp-shared.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/softwaremill/sttp-shared.git#master 2 | 3 | vars.proj.sttp-shared: ${vars.base} { 4 | name: "sttp-shared" 5 | uri: "https://github.com/softwaremill/sttp-shared.git#cfefda9faad7591982398a270796f7ee5e7e64e5" 6 | 7 | extra.projects: [ 8 | // needed by sttp's core 9 | "core", "ws" 10 | // bonus integrations used downstream in sttp's integrations 11 | "fs2", "akka", "monix" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /proj/sttp.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/softwaremill/sttp.git#master 2 | 3 | vars.proj.sttp: ${vars.base} { 4 | name: "sttp" 5 | uri: "https://github.com/softwaremill/sttp.git#9f6ee0c68678415e2c974f0f7203cf08b6a51d81" 6 | 7 | extra.exclude: [ 8 | "*JS", "*Native", "*2_11", "*2_12", "*3", "examples*", 9 | "*scalaz*", "*Scalaz*", "*zio*", "*Zio*" 10 | // test failures, not investigated 11 | "prometheusBackend" 12 | // compilation failures, not investigated 13 | "httpClient*Backend*" 14 | ] 15 | extra.options: [ 16 | // I saw an OutOfMemoryError, hopefully this will help 17 | "-Xmx4G" 18 | // this is for the tests that run unforked... 19 | "-Dakka.fail-mixed-versions=false" 20 | ] 21 | extra.commands: ${vars.default-commands} [ 22 | // ...and this is for the tests that run forked 23 | """set ThisBuild / javaOptions += "-Dakka.fail-mixed-versions=false"""" 24 | // many intermittent failures otherwise 25 | "set every closeClassLoaders := false" 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /proj/treehugger.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/eed3si9n/treehugger.git#master 2 | 3 | vars.proj.treehugger: ${vars.base} { 4 | name: "treehugger" 5 | uri: "https://github.com/eed3si9n/treehugger.git#bf6afbde14956fa6c5a850317ec37cbb934615fa" 6 | 7 | extra.exclude: ["root"] 8 | extra.settings: ${vars.base.extra.settings} [ 9 | // dbuild gets confused if only crossScalaVersions is set?! 10 | """ThisBuild / scalaVersion := "2.13.10"""" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /proj/tsec.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/jmcardon/tsec.git#master 2 | 3 | vars.proj.tsec: ${vars.base} { 4 | name: "tsec" 5 | uri: "https://github.com/jmcardon/tsec.git#85e041a2f95336ef758bb82f580e07e22bed1c0d" 6 | 7 | extra.exclude: [ 8 | "tsec-bench" // out of scope 9 | "tsec-libsodium" // java.lang.UnsatisfiedLinkError: no sodiumjni in java.library.path 10 | "tsec-examples" // depends on tsec-libsodium 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /proj/tut.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/tpolecat/tut.git#series/0.6.x 2 | 3 | vars.proj.tut: ${vars.base} { 4 | name: "tut" 5 | uri: "https://github.com/tpolecat/tut.git#1c347111596afe342acf738ffdae8e0fdf241b35" 6 | 7 | // just core; it's unfortunate we don't run the tests, but they all use 8 | // scripted-plugin, which we don't know how to make work under dbuild 9 | extra.projects: ["core"] 10 | extra.commands: ${vars.default-commands} [ 11 | "set every bintrayReleaseOnPublish := false" 12 | ] 13 | extra.options: ["-Dbintray.user=dummy", "-Dbintray.pass=dummy"] 14 | } 15 | -------------------------------------------------------------------------------- /proj/twiddles.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/twiddles.git#main 2 | 3 | vars.proj.twiddles: ${vars.base} { 4 | name: "twiddles" 5 | uri: "https://github.com/typelevel/twiddles.git#4fc97ea3ddd24ab11f474ea3e63cd1095c9af9c1" 6 | 7 | extra.options: ["-Xss16m"] 8 | extra.exclude: ["*JS", "*Native", "docs"] 9 | extra.commands: ${vars.default-commands} [ 10 | "set every gpgWarnOnFailure := true" 11 | // prevent sbt-gpg from asking for passphrase when running locally 12 | """set every gpgKey := Some("")""" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /proj/twirl.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/playframework/twirl.git#71e2d56b24f3f249c4915032e87678a5fb2ea6d2 # was main 2 | 3 | // frozen (October 2024) at known-green commit before sbt 2 upgrade 4 | 5 | vars.proj.twirl: ${vars.base} { 6 | name: "twirl" 7 | uri: "https://github.com/playframework/twirl.git#71e2d56b24f3f249c4915032e87678a5fb2ea6d2" 8 | 9 | extra.exclude: ["plugin", "*JS"] 10 | extra.settings: ${vars.base.extra.settings} [ 11 | // dbuild gets confused if only crossScalaVersions is set?! 12 | """ThisBuild / scalaVersion := "2.13.10"""" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /proj/twitter-util.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/twitter/util.git#develop 2 | 3 | vars.proj.twitter-util: ${vars.base} { 4 | name: "twitter-util" 5 | uri: "https://github.com/twitter/util.git#ef724965483d4e62957a3181065317552a1a8c41" 6 | 7 | extra.exclude: [ 8 | // this isn't really necessary and would pull in a JMH dependency 9 | "util-benchmark" 10 | // test failures, not investigated 11 | "util-validator" 12 | ] 13 | extra.options: [ 14 | // recommended at https://github.com/twitter/util/issues/173: 15 | // "We use that when we don't think the tests will be reliable in a ci environment" 16 | "-DSKIP_FLAKY=true" 17 | ] 18 | extra.commands: ${vars.default-commands} [ 19 | // JDK 11+: failing test; not investigated or reported upstream. OutOfMemoryError 20 | """set utilCore / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "FutureTest.scala"""" 21 | // JDK 11+: failing tests, not investigated or reported upstream 22 | """set utilApp / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "GlobalFlagTest.scala" || "JavaGlobalFlagTest.java" || "FlagsTest.scala" || "FlagTest.scala"""" 23 | // fragile -- not investigated 24 | "set utilJackson / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())" 25 | // 2.13: failing test; not investigated or reported upstream. it seems to be a GC-based test, those are typically fragile 26 | """set utilStats / Test / unmanagedSources / excludeFilter := HiddenFileFilter || "CumulativeGaugeTest.scala"""" 27 | // not supported on JDK 11+ 28 | "removeJavaOptions -XX:+UseParNewGC" 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /proj/twotails.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/wheaties/TwoTails.git#master 2 | 3 | // others are not depending on this yet ("not ready for general 4 | // population yet", says Owein in March 2017) but I was interested 5 | // in including it anyway just to have a few more compiler plugins 6 | // in the build, it's an underrepresented category. we can freeze 7 | // or drop it if it proves to be trouble 8 | vars.proj.twotails: ${vars.base} { 9 | name: "twotails" 10 | uri: "https://github.com/wheaties/TwoTails.git#fbb1042058451350efa358d1af4d4fc19b010794" 11 | 12 | } 13 | -------------------------------------------------------------------------------- /proj/typename.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/tpolecat/typename.git#main 2 | 3 | vars.proj.typename: ${vars.base} { 4 | name: "typename" 5 | uri: "https://github.com/tpolecat/typename.git#ccbaa5fceff34899dcd692e16293771ef88289cf" 6 | 7 | extra.exclude: ["*JS", "*Native"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/unfiltered.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/unfiltered/unfiltered.git#main 2 | 3 | vars.proj.unfiltered: ${vars.base} { 4 | name: "unfiltered" 5 | uri: "https://github.com/unfiltered/unfiltered.git#515d8e164a2868080321332fd79a242a04be9e9f" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /proj/unindent.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/davegurnell/unindent.git#2c272192b7ad312007d870f2954a2b41f080dc38 # was main 2 | 3 | // frozen (December 2021) because recent commit is broken; eported upstream: 4 | // https://github.com/davegurnell/unindent/pull/47#issuecomment-986305556 5 | 6 | vars.proj.unindent: ${vars.base} { 7 | name: "unindent" 8 | uri: "https://github.com/davegurnell/unindent.git#2c272192b7ad312007d870f2954a2b41f080dc38" 9 | 10 | } 11 | -------------------------------------------------------------------------------- /proj/unique.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/ChristopherDavenport/unique.git#main 2 | 3 | vars.proj.unique: ${vars.base} { 4 | name: "unique" 5 | uri: "https://github.com/ChristopherDavenport/unique.git#52937ba0b276cfb44bc7c20b0d38757b5e723fc1" 6 | 7 | extra.projects: ["coreJVM"] // no docs, no Scala.js 8 | extra.commands: ${vars.default-commands} [ 9 | "set every gpgWarnOnFailure := true" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /proj/unused-code.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/xuwei-k/unused-code.git#main 2 | 3 | vars.proj.unused-code: ${vars.base} { 4 | name: "unused-code" 5 | uri: "https://github.com/xuwei-k/unused-code.git#710d4c21bcaa4758bd878e96d18fb1d16808e4d5" 6 | 7 | extra.projects: ["*2_13"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/upickle.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/upickle.git#community-build-2.13 # was lihaoyi, master 2 | 3 | // forked to add sbt build (instead of mill) 4 | 5 | vars.proj.upickle: ${vars.base} { 6 | name: "upickle" 7 | uri: "https://github.com/scalacommunitybuild/upickle.git#f31d6712602af7c3dcd6e21eda94914417dee101" 8 | 9 | } 10 | -------------------------------------------------------------------------------- /proj/utest.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/scalacommunitybuild/utest.git#community-build-2.13 # was lihaoyi, master 2 | 3 | vars.proj.utest: ${vars.base} { 4 | name: "utest" 5 | uri: "https://github.com/scalacommunitybuild/utest.git#7e197d76d7e572d00a0cdbeee676d906b42d3465" 6 | 7 | extra.commands: ${vars.default-commands} [ 8 | // latest portable-scala-reflect makes scala-reflect dependency "provided". 9 | // this can probably be removed eventually, once this repo depends on 10 | // a newer release of portable-scala-reflect 11 | """set libraryDependencies += "org.scala-lang" %% "scala-reflect" % "0"""" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /proj/vault.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/typelevel/vault.git#main 2 | 3 | vars.proj.vault: ${vars.base} { 4 | name: "vault" 5 | uri: "https://github.com/typelevel/vault.git#95cb4d27381227ba7b6d6ea732c8aa7e9a681258" 6 | 7 | extra.projects: ["coreJVM"] // no docs, no Scala.js 8 | extra.commands: ${vars.default-commands} [ 9 | "set every gpgWarnOnFailure := true" 10 | // don't ask for GPG passphrase when running locally 11 | """set every gpgOptions := Seq("--yes", "--passphrase", "", "--pinentry-mode", "loopback")""" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /proj/verify.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/eed3si9n/verify.git#main 2 | 3 | vars.proj.verify: ${vars.base} { 4 | name: "verify" 5 | uri: "https://github.com/eed3si9n/verify.git#7f980290fd2cf5003e90766526c1fe52425d5780" 6 | 7 | extra.projects: ["verifyJVM"] 8 | } 9 | -------------------------------------------------------------------------------- /proj/weaver-test.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/disneystreaming/weaver-test.git#main 2 | 3 | vars.proj.weaver-test: ${vars.base} { 4 | name: "weaver-test" 5 | uri: "https://github.com/disneystreaming/weaver-test.git#5a61ebed194578a8b741ace1c96f89744edc271f" 6 | 7 | extra.exclude: [ 8 | "docs", "*JS", "*Native", "zio*", "*2_12" 9 | // intended to exclude Scala 3 but also ends up including some CE3 things. oh well 10 | "*3" 11 | ] 12 | extra.commands: ${vars.default-commands} [ 13 | // so we don't have to arrange for dbuild-built semanticdb to be brought in 14 | "set every semanticdbEnabled := false" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /proj/zinc.conf: -------------------------------------------------------------------------------- 1 | // https://github.com/sbt/zinc.git#dcddc1f9cfe542d738582c43f4840e17c053ce81 # was develop 2 | 3 | // frozen (September 2024) -- uninvestigated errors if we advance 4 | 5 | vars.proj.zinc: ${vars.base} { 6 | name: "zinc" 7 | uri: "https://github.com/sbt/zinc.git#dcddc1f9cfe542d738582c43f4840e17c053ce81" 8 | 9 | extra.projects: ["*2_13"] 10 | extra.exclude: [ 11 | "*Benchmarks*" 12 | // doesn't work under dbuild. not investigated 13 | "compilerBridgeTest2_13" 14 | ] 15 | extra.commands: ${vars.default-commands} [ 16 | // dbuild wants to mess with these, I think because they use the `version` setting 17 | // (in a special config) to indicate protobuf version rather than the version of zinc 18 | """set every ProtobufConfig / version := "3.24.4"""" 19 | """set zincPersistCore / libraryDependencies := Seq("com.google.protobuf" % "protobuf-java" % "3.24.4")""" 20 | // don't run these integration tests; they fail and it's not clear how much work it would be to fix; 21 | // see https://github.com/scala/community-build/pull/1280 22 | // (the version here must match whatever the repo is currently declaring, before dbuild overrides it.) 23 | """set zinc.jvm("2.13.13") / Test / executeTests := Tests.Output(TestResult.Passed, Map(), Iterable())""" 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /report: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/env -S scala -Dlog4j.configurationFile=scripts/log4j.properties shebang --quiet 2 | 3 | //> using scala 3.7.0-RC3 4 | //> using option -source:future 5 | 6 | object ClocReport: 7 | 8 | // sometimes there's an extra "[info]" in the line, so we have to be careful 9 | val Regex = """\[([^\]]+)\] (?:\[info\] )?\*\* COMMUNITY BUILD LINE COUNT: (\d+)""".r 10 | 11 | def apply(log: io.Source): Unit = 12 | val results = collection.mutable.Map.empty[String, Int].withDefaultValue(0) 13 | for case Regex(project, count) <- log.getLines do 14 | results(project) += count.toInt 15 | println("Lines of Scala code recompiled during this run only:") 16 | for (project, sum) <- results.toSeq.sortBy(_._2).reverse do 17 | println(f"$sum%9d $project") 18 | println(f"${results.values.sum}%9d TOTAL") 19 | 20 | object SuccessReport: 21 | 22 | // sample inputs: 23 | // [info] Project foo-bar-baz---------------: DID NOT RUN (stuck on broken dependencies: frob, akka-grue, zorch) 24 | // [info] Project utest---------------------: FAILED (MatchError: d48a6cde+20180920-1730 (of class java.lang.St...) 25 | // regex features used: 26 | // \w = word character 27 | // ?: = not a capturing group 28 | // (?!-) = negative lookahead -- next character is not "-" 29 | val Regex = 30 | """\[info\] Project ((?:\w|-(?!-))+)-*: ([^\(]+) \((?:stuck on broken dependencies: )?(.*)\)""".r 31 | 32 | val requiresJdk11Plus = Set[String]( 33 | "airframe", 34 | "doobie", // JDK 8 support dropped (January 2024) 35 | "fastscala", 36 | "fs2", 37 | "jsoniter-scala", // JDK 8 support dropped (February 2022) 38 | "metrics-scala", // JDK 8 support dropped (August 2023) 39 | "mdoc", // JDK 8 support dropped (October 2023) 40 | "parboiled", // JDK 8 support dropped (March 2022) 41 | "pass4s", 42 | "play-file-watch", // JDK 8 support dropped (October 2022) 43 | "playframework", // JDK 8 support dropped (September 2022) 44 | "requests-scala", // JDK 8 support dropped (June 2024) 45 | "scaffeine", // they seem to be on a caffeine version that requires JDK 11 46 | "scalachess", 47 | "scalafmt", // uses mdoc, which dropped JDK 8 48 | "slick", // JDK 8 support dropped (June 2024) 49 | "sttp", // uses java.net.http 50 | "unfiltered", // they seem to be on a jetty version that requires JDK 11+ 51 | ) 52 | 53 | val requiresJdk17Plus = Set[String]( 54 | "americium", // some test code uses `String#translateEscapes` 55 | "cachecontrol", // JDK 11 support dropped (July 2024) 56 | "metals", // JDK 11 support dropped (August 2024) 57 | "play-ws", // JDK 11 support dropped (July 2024) 58 | "scala-commons", 59 | "scastie", 60 | "shapeless-java-records", // inherently requires JDK 15+ 61 | "twirl", // JDK 11 support dropped (July 2024) 62 | ) 63 | 64 | val requiresJdk21Plus = Set[String]( 65 | "scalafx", // uses -release:21 66 | ) 67 | 68 | val jdk11Failures = Set[String]( 69 | "scala-debugger", // "object FieldInfo is not a member of package sun.reflect" 70 | "scala-refactoring", // needs scala/bug#11125 workaround? 71 | ) 72 | 73 | val jdk17Failures = Set[String]( 74 | "akka", // needs newer sbt-osgi; not sure about status w/r/t JEP 403 75 | "finagle", // Unrecognized VM option 'AggressiveOpts' 76 | "mockito-scala", // reflection-related test failures 77 | "scrooge", // Unrecognized VM option 'AggressiveOpts' 78 | "twitter-util", // Unrecognized VM option 'AggressiveOpts' 79 | ) 80 | 81 | val jdk21Failures = Set[String]( 82 | "kafka", // cannot override final member Thread#threadId 83 | "ssl-config", // compilation errors involving sun.security.x509 84 | ) 85 | 86 | val jdk23Failures = Set[String]( 87 | "cats-effect-tutorial", // import conflict involving java.io.IO 88 | "fetch", // import conflict involving java.io.IO 89 | "fpinscala", // import conflict involving java.io.IO 90 | "monix", // import conflict involving java.io.IO 91 | "playframework", // not supported by the current version of Byte Buddy 92 | "twirl", // Unsupported class file major version 93 | "zinc", // Unsupported class file major version 94 | ) 95 | 96 | val expectedToFail: Set[String] = 97 | sys.env.get("jvmVersion") match 98 | case Some("8") => 99 | requiresJdk11Plus ++ requiresJdk17Plus ++ requiresJdk21Plus 100 | case Some("11") => 101 | jdk11Failures ++ requiresJdk17Plus ++ requiresJdk21Plus 102 | case Some("17") => 103 | jdk11Failures ++ jdk17Failures ++ requiresJdk21Plus 104 | case Some("21") => 105 | jdk11Failures ++ jdk17Failures ++ jdk21Failures 106 | case Some(_) => 107 | jdk11Failures ++ jdk17Failures ++ jdk21Failures ++ jdk23Failures 108 | case None => // we're not running on Jenkins, apparently 109 | Set() 110 | 111 | def apply(log: io.Source): Option[Int] = 112 | val lines = log.getLines.dropWhile(!_.contains("---== Execution Report ==---")) 113 | var success, failed, didNotRun = 0 114 | val unexpectedSuccesses = collection.mutable.Buffer[String]() 115 | val unexpectedFailures = collection.mutable.Buffer[String]() 116 | val blockerCounts = collection.mutable.Map[String, Int]() 117 | for case Regex(name, status, blockers) <- lines do 118 | status match 119 | case "EXTRACTION FAILED" => 120 | success = -1000 121 | case "SUCCESS" => 122 | success += 1 123 | if expectedToFail(name) then 124 | unexpectedSuccesses += name 125 | case "FAILED" => 126 | failed += 1 127 | if !expectedToFail(name) then 128 | unexpectedFailures += name 129 | case "DID NOT RUN" => 130 | didNotRun += 1 131 | for blocker <- blockers.split(',').map(_.trim) do 132 | blockerCounts(blocker) = 1 + blockerCounts.getOrElse(blocker, 0) 133 | if success < 0 then return None 134 | val total = success + failed + didNotRun 135 | println(s"SUCCEEDED: $success") 136 | val sortedFailures = 137 | unexpectedFailures.sortBy(blockerCounts.withDefaultValue(0)).reverse 138 | if unexpectedFailures.nonEmpty then 139 | val uf = sortedFailures.mkString(",") 140 | println(s"FAILURES (UNEXPECTED): $uf") 141 | if didNotRun > 0 then 142 | val blockers = 143 | blockerCounts.toList.sortBy(_._2).reverse 144 | .collect: (blocker, count) => 145 | s"$blocker ($count)" 146 | .mkString(", ") 147 | println(s"BLOCKING DOWNSTREAM: $blockers") 148 | if unexpectedSuccesses.nonEmpty then 149 | val us = unexpectedSuccesses.mkString(",") 150 | println(s"SUCCESSES (UNEXPECTED): $us") 151 | println(s"FAILED: $failed") 152 | println(s"BLOCKED, DID NOT RUN: $didNotRun") 153 | println(s"TOTAL: $total") 154 | for url <- Option(System.getenv("BUILD_URL")) do 155 | if unexpectedFailures.nonEmpty then 156 | println() 157 | for failed <- sortedFailures do 158 | println(s"""$failed""") 159 | if success == 0 then 160 | Some(1) 161 | else 162 | Some(unexpectedFailures.size) 163 | 164 | object SplitLog: 165 | 166 | val BeginDependencies = """\[info\] ---== Dependency Information ===---""".r 167 | val EndDependencies = """\[info\] ---== ()End Dependency Information ===---""".r 168 | val BeginExtract = """\[([^\]]+)\] --== Extracting dependencies for .+ ==--""".r 169 | val EndExtract = """\[([^\]]+)\] --== End Extracting dependencies for .+ ==--""".r 170 | val BeginBuild = """\[([^\]]+)\] --== Building .+ ==--""".r 171 | val EndBuild = """\[([^\]]+)\] --== End Building .+ ==--""".r 172 | 173 | def apply(log: io.Source): Unit = 174 | val dir = java.io.File("logs") 175 | dir.mkdirs() 176 | val lines = log.getLines 177 | while lines.hasNext do 178 | lines.next match 179 | case BeginDependencies() => 180 | slurp(lines, makeWriter("logs/_dependencies.log"), EndDependencies) 181 | case BeginExtract(name) => 182 | slurp(lines, makeWriter(s"logs/$name-extract.log"), EndExtract) 183 | case BeginBuild(name) => 184 | slurp(lines, makeWriter(s"logs/$name-build.log"), EndBuild) 185 | case _ => 186 | 187 | import java.io.PrintWriter 188 | 189 | def makeWriter(path: String): PrintWriter = 190 | import java.io.* 191 | val file = File(path) 192 | val foStream = FileOutputStream(file, false) // false = overwrite, don't append 193 | val osWriter = OutputStreamWriter(foStream) 194 | PrintWriter(osWriter) 195 | 196 | import scala.util.matching.Regex, annotation.tailrec 197 | 198 | def slurp(lines: Iterator[String], writer: java.io.PrintWriter, sentinel: Regex): Unit = 199 | @tailrec def iterate(): Unit = 200 | if lines.hasNext then 201 | lines.next match 202 | case sentinel(_) => 203 | writer.close() 204 | case line => 205 | writer.println(line) 206 | iterate() 207 | else 208 | writer.close() 209 | iterate() 210 | 211 | // main 212 | def log = io.Source.fromFile(args(0)) 213 | println("
")
214 | ClocReport(log)
215 | val unexpectedFailureCount = SuccessReport(log)
216 | println("
") 217 | SplitLog(log) 218 | sys.exit(unexpectedFailureCount.getOrElse(1)) 219 | -------------------------------------------------------------------------------- /resolvers.conf: -------------------------------------------------------------------------------- 1 | vars.ivyPat: ", [organisation]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]" 2 | 3 | options.resolvers: { 4 | 01: "local" 5 | 02: "dbuild: https://scala-ci.typesafe.com/artifactory/dbuild/" 6 | 03: "dbuild-ivy: https://scala-ci.typesafe.com/artifactory/dbuild-ivy/"${vars.ivyPat} 7 | } 8 | 9 | # to use local Artifactory, you might substitute e.g.: 10 | # options.resolvers: { 11 | # 01: "cache: http://192.168.99.100:8081/artifactory/scala-ci-virtual/" 12 | # 02: "cache-ivy: http://192.168.99.100:8081/artifactory/scala-ci-virtual/"${vars.ivyPat} 13 | # } 14 | -------------------------------------------------------------------------------- /run: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/env -S scala shebang -v -v -v 2 | 3 | // TODO the `-v -v -v` above is to help troubleshoot the issues 4 | // we've been having with the script intermittently failing to launch 5 | // on Jenkins 6 | 7 | // Usage: 8 | // * ./run 9 | // * ./run specs2 scalatest munit 10 | 11 | // This script is suitable for local use. 12 | // It is also invoked by Jenkins (from scripts/jobs/integrate/community-build). 13 | 14 | // An older run script is in the Git history under the name `run.sh`. 15 | // I didn't port every feature of that script to this version. 16 | // We can add things back later as needed, I figure. 17 | 18 | //> using scala 3.7.0-RC3 19 | //> using option -source:future 20 | //> using dep com.lihaoyi::os-lib:0.11.3 21 | 22 | println(s"""JAVA_HOME=${sys.env("JAVA_HOME")}""") 23 | print("which java: ") 24 | os.proc("which", "java").call(stdout = os.Inherit) 25 | os.proc("java", "-version").call(stdout = os.Inherit) 26 | println() 27 | 28 | val dbuildVersion = "0.9.20" 29 | val dbuildScript = os.pwd / s"dbuild-$dbuildVersion" / "bin" / "dbuild" 30 | println(s"dbuild version: $dbuildVersion") 31 | def readNightly(): String = 32 | val prop = new java.util.Properties 33 | prop.load(os.read.inputStream(os.pwd / "nightly.properties")) 34 | Option(prop.getProperty("nightly")).get 35 | val scalaVersion = sys.env.get("version").getOrElse(readNightly()) 36 | println(s"Scala version: $scalaVersion") 37 | println() 38 | 39 | def removeProjectBuilds(): Unit = 40 | println("removing temporary files...") 41 | println() 42 | os.remove.all(os.pwd / s"target-$dbuildVersion" / "project-builds") 43 | 44 | // redundant to delete both at start and end, but just in case this was 45 | // left lying around, let's free up the space (and inodes) now 46 | removeProjectBuilds() 47 | 48 | // Download and extract dbuild if we haven't already got it 49 | if !os.isDir(os.pwd / s"dbuild-$dbuildVersion") then 50 | val url = s"https://github.com/lightbend-labs/dbuild/releases/download/v$dbuildVersion/dbuild-$dbuildVersion.tgz" 51 | os.proc("curl", "-L", "-O", url).call(stdout = os.Inherit) 52 | os.proc("tar", "xfz", s"dbuild-$dbuildVersion.tgz").call(stdout = os.Inherit) 53 | os.remove(os.pwd / s"dbuild-$dbuildVersion.tgz") 54 | 55 | // use -n by default since running locally you don't want notifications sent, 56 | // and on our Jenkins setup it doesn't actually work (for now anyway) 57 | val dbuildArgs = Seq("-n", "community.conf") 58 | 59 | // sigh, Ubuntu has `nodejs` but MacOS has `node` 60 | def onPath(cmd: String): Boolean = 61 | os.proc("sh", "-c", s"hash $cmd") 62 | .call(stderr = os.Pipe, check = false) 63 | .exitCode == 0 64 | val node = 65 | if onPath("nodejs") 66 | then "nodejs" 67 | else "node" 68 | 69 | // work around https://github.com/lightbend-labs/dbuild/issues/241 70 | os.write.over(dbuildScript, 71 | os.read(dbuildScript).replaceFirst( 72 | "(?m)^java .$", // (?m) enables multiline mode 73 | "java -Xss16M \\\\")) 74 | 75 | // we're ready to run dbuild 76 | val command = Seq( 77 | dbuildScript.toString, 78 | "-n", "./community.conf", 79 | args.mkString(",")) 80 | println(command.mkString(" ")) 81 | println() 82 | val dbuildOut = s"dbuild-$dbuildVersion/dbuild.out" 83 | val moreEnv = 84 | if sys.env.get("jvmVersion").map(_.toInt).exists(_ < 17) 85 | then Map() 86 | else Map("SECURITY_MANAGER" -> "-Djava.security.manager=allow") 87 | val dbuild = 88 | os.proc(command).spawn( 89 | stdout = os.Pipe, 90 | mergeErrIntoOut = true, 91 | env = moreEnv ++ Map( 92 | "version" -> scalaVersion, 93 | "NODE" -> node), 94 | ) 95 | // we use `tee` so we can see the output live as well as redirecting it to a 96 | // file for later reference. unfortunately the live output is buffered so we 97 | // don't see it a line at a time, but in bursts. presumably that's fixable; 98 | // the old shell script that this Scala script replaced didn't have this problem 99 | val tee = os.proc("tee", dbuildOut).call(stdin = dbuild.stdout, stdout = os.Inherit) 100 | dbuild.join() 101 | 102 | // helpfully repeat the build's UUID at the end of the log 103 | // [info] uuid = 03c94c9f9b185c7bbdb4b66be9ecf99b3cd8d73e 104 | val idOption = 105 | os.read.lines(os.pwd / os.SubPath(dbuildOut)) 106 | .collectFirst: 107 | case s"[info] uuid = $id" => id 108 | for id <- idOption do 109 | println(s"The repeatable UUID of this build was: $id") 110 | println() 111 | 112 | // free up space (and inodes) on Jenkins 113 | removeProjectBuilds() 114 | 115 | // report summary information (line counts, green project counts, ...?) 116 | val reporter = os.proc("./report", dbuildOut).call(check = false) 117 | os.write.over(os.pwd / "report.html", reporter.out.text()) 118 | println(reporter.out.text()) 119 | sys.exit(reporter.exitCode) 120 | -------------------------------------------------------------------------------- /scripts/jobs/integrate/community-build: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | # Jenkins is putting some really antiquated stuff in here, including some options that 6 | # aren't applicable on JDK 11+. So let's override it to stuff that seems reasonable. 7 | # It's tempting to just `unset JAVA_OPTS` and let the cards fall where they may, but 8 | # I'm trying to rock the boat as little as possible. To mix metaphors. 9 | export JAVA_OPTS="-Dfile.encoding=UTF-8 -Xmx2G -Xss16M -Djava.io.tmpdir=/home/jenkins/tmp" 10 | 11 | export PATH="$PATH:/home/jenkins/.local/share/coursier/bin" 12 | 13 | # the `projects` jenkins job param can be used to limit the projects to build 14 | ./run $projects 15 | -------------------------------------------------------------------------------- /scripts/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scala/community-build/6e1e2c2452b0f5437099abc1d2ea3b4f55210896/scripts/log4j.properties --------------------------------------------------------------------------------