Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: twitter/util
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: cc03a3bb3f539cd49fefb81e12556deec97dd4c0
Choose a base ref
..
head repository: twitter/util
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: bf107cc457225615e59c9bb829e2ca7e7bf1e6bf
Choose a head ref
Showing with 8,230 additions and 8,470 deletions.
  1. +1 −5 .github/workflows/continuous-integration.yml
  2. +42 −4 CHANGELOG.rst
  3. +3 −10 PROJECT.yml
  4. +1 −2 README.md
  5. +8 −13 build.sbt
  6. +28 −28 doc/src/sphinx/util-jackson/index.rst
  7. +46 −46 doc/src/sphinx/util-validator/index.rst
  8. +0 −1 project/plugins.sbt
  9. 0 util-app-lifecycle/src/test/scala/com/twitter/app/lifecycle/{BUILD → BUILD.bazel}
  10. +3 −6 util-app/PROJECT
  11. +1 −1 util-app/src/main/scala/com/twitter/app/Flags.scala
  12. +4 −2 util-app/src/test/scala/com/twitter/app/FlagsTest.scala
  13. +0 −6 util-benchmark/BUILD
  14. +3 −5 util-benchmark/PROJECT
  15. +5 −0 util-benchmark/src/main/java/com/twitter/json/BUILD.bazel
  16. 0 util-benchmark/src/main/{scala → java}/com/twitter/json/TestDemographic.java
  17. 0 util-benchmark/src/main/{scala → java}/com/twitter/json/TestFormat.java
  18. +3 −14 util-benchmark/src/main/scala/{BUILD → BUILD.bazel}
  19. +1 −1 util-benchmark/src/main/scala/com/twitter/concurrent/SchedulerBenchmark.scala
  20. +33 −0 util-benchmark/src/main/scala/com/twitter/conversions/U64Benchmark.scala
  21. +1 −1 util-benchmark/src/main/scala/com/twitter/finagle/stats/CumulativeGaugeBenchmark.scala
  22. +7 −3 util-benchmark/src/main/scala/com/twitter/finagle/stats/StatBenchmark.scala
  23. +1 −1 util-benchmark/src/main/scala/com/twitter/io/BufBenchmark.scala
  24. +8 −3 util-benchmark/src/main/scala/com/twitter/io/PipeBenchmark.scala
  25. +1 −1 util-benchmark/src/main/scala/com/twitter/json/JacksonBenchmark.scala
  26. +1 −1 util-benchmark/src/main/scala/com/twitter/string/StringConcatenationBenchmark.scala
  27. +1 −1 util-benchmark/src/main/scala/com/twitter/util/DurationBenchmark.scala
  28. +1 −1 util-benchmark/src/main/scala/com/twitter/util/FutureBenchmark.scala
  29. +4 −2 util-benchmark/src/main/scala/com/twitter/util/MonitorBenchmark.scala
  30. +1 −1 util-benchmark/src/main/scala/com/twitter/util/TimeBenchmark.scala
  31. +1 −1 util-benchmark/src/main/scala/com/twitter/util/TimerBenchmark.scala
  32. +1 −1 util-benchmark/src/main/scala/com/twitter/util/TryBenchmark.scala
  33. +1 −1 util-benchmark/src/main/scala/com/twitter/util/TypesBenchmark.scala
  34. +8 −4 util-benchmark/src/main/scala/com/twitter/util/ValidationBenchmark.scala
  35. +0 −20 util-benchmark/src/test/scala/BUILD
  36. +0 −21 util-benchmark/src/test/scala/com/twitter/util/ValidationBenchmarkTest.scala
  37. 0 util-cache-guava/src/test/java/{BUILD → BUILD.bazel}
  38. 0 util-cache-guava/src/test/java/com/twitter/cache/guava/{BUILD → BUILD.bazel}
  39. 0 util-cache-guava/src/test/scala/{BUILD → BUILD.bazel}
  40. 0 util-cache-guava/src/test/scala/com/twitter/cache/guava/{BUILD → BUILD.bazel}
  41. +0 −2 util-cache/src/test/scala/com/twitter/cache/caffeine/BUILD
  42. +3 −5 util-codec/PROJECT
  43. +21 −25 util-codec/src/test/scala/com/twitter/util/StringEncoderTest.scala
  44. +3 −6 util-core/PROJECT
  45. +29 −0 util-core/src/benchmark/scala/BUILD.bazel
  46. +29 −0 util-core/src/benchmark/scala/com/twitter/util/LocalBenchmarks.scala
  47. +3 −0 util-core/src/main/scala/com/twitter/conversions/BUILD
  48. +26 −1 util-core/src/main/scala/com/twitter/conversions/U64Ops.scala
  49. +19 −3 util-core/src/main/scala/com/twitter/io/Buf.scala
  50. +77 −0 util-core/src/main/scala/com/twitter/io/Utf8Bytes.scala
  51. +32 −37 util-core/src/main/scala/com/twitter/util/ConstFuture.scala
  52. +34 −0 util-core/src/main/scala/com/twitter/util/ExecutorWorkQueueFiber.scala
  53. +55 −0 util-core/src/main/scala/com/twitter/util/Fiber.scala
  54. +19 −0 util-core/src/main/scala/com/twitter/util/FiberTask.scala
  55. +26 −0 util-core/src/main/scala/com/twitter/util/Future.scala
  56. +890 −105 util-core/src/main/scala/com/twitter/util/Local.scala
  57. +25 −36 util-core/src/main/scala/com/twitter/util/Promise.scala
  58. +1 −0 util-core/src/main/scala/com/twitter/util/ResourceTracker.scala
  59. +31 −0 util-core/src/main/scala/com/twitter/util/SchedulerWorkQueueFiber.scala
  60. +89 −14 util-core/src/main/scala/com/twitter/util/Time.scala
  61. +81 −0 util-core/src/main/scala/com/twitter/util/TimeFormatter.scala
  62. +35 −26 util-core/src/main/scala/com/twitter/util/TwitterDateFormat.scala
  63. +8 −58 util-core/src/main/scala/com/twitter/util/Var.scala
  64. +271 −0 util-core/src/main/scala/com/twitter/util/WorkQueueFiber.scala
  65. +101 −103 util-core/src/test/scala/com/twitter/concurrent/BrokerTest.scala
  66. +285 −301 util-core/src/test/scala/com/twitter/concurrent/OfferTest.scala
  67. +27 −29 util-core/src/test/scala/com/twitter/concurrent/SerializedTest.scala
  68. +88 −89 util-core/src/test/scala/com/twitter/concurrent/SpoolSourceTest.scala
  69. +360 −363 util-core/src/test/scala/com/twitter/concurrent/SpoolTest.scala
  70. +57 −59 util-core/src/test/scala/com/twitter/concurrent/TxTest.scala
  71. +4 −5 util-core/src/test/scala/com/twitter/io/FilesTest.scala
  72. +15 −18 util-core/src/test/scala/com/twitter/io/StreamIOTest.scala
  73. +11 −15 util-core/src/test/scala/com/twitter/io/TempDirectoryTest.scala
  74. +22 −26 util-core/src/test/scala/com/twitter/io/TempFileTest.scala
  75. +76 −0 util-core/src/test/scala/com/twitter/io/Utf8BytesTest.scala
  76. +237 −242 util-core/src/test/scala/com/twitter/util/DurationTest.scala
  77. +70 −0 util-core/src/test/scala/com/twitter/util/ExecutorWorkQueueFiberTest.scala
  78. +17 −18 util-core/src/test/scala/com/twitter/util/FutureOfferTest.scala
  79. +11 −4 util-core/src/test/scala/com/twitter/util/FuturePoolTest.scala
  80. +1,543 −1,592 util-core/src/test/scala/com/twitter/util/FutureTest.scala
  81. +17 −19 util-core/src/test/scala/com/twitter/util/LastWriteWinsQueueTest.scala
  82. +127 −130 util-core/src/test/scala/com/twitter/util/NetUtilTest.scala
  83. +50 −56 util-core/src/test/scala/com/twitter/util/PoolTest.scala
  84. +60 −0 util-core/src/test/scala/com/twitter/util/SchedulerWorkQueueFiberTest.scala
  85. +25 −27 util-core/src/test/scala/com/twitter/util/StateMachineTest.scala
  86. +657 −586 util-core/src/test/scala/com/twitter/util/TimeTest.scala
  87. +13 −34 util-core/src/test/scala/com/twitter/util/TwitterDateFormatTest.scala
  88. +0 −34 util-core/src/test/scala/com/twitter/util/VarTest.scala
  89. +1 −1 util-core/src/test/scala/com/twitter/util/WaitQueueTest.scala
  90. +450 −0 util-core/src/test/scala/com/twitter/util/WorkQueueFiberTest.scala
  91. +93 −92 util-hashing/src/test/scala/com/twitter/hashing/ConsistentHashingDistributorTest.scala
  92. +29 −31 util-hashing/src/test/scala/com/twitter/hashing/DiagnosticsTest.scala
  93. +19 −22 util-hashing/src/test/scala/com/twitter/hashing/KeyHasherTest.scala
  94. +0 −9 util-inject/PROJECT
  95. +0 −7 util-inject/README.md
  96. +0 −14 util-inject/src/main/java/com/twitter/util/inject/flag/BUILD
  97. +0 −24 util-inject/src/main/java/com/twitter/util/inject/flag/Flagged.java
  98. +0 −49 util-inject/src/main/java/com/twitter/util/inject/flag/FlaggedImpl.java
  99. +0 −30 util-inject/src/main/java/com/twitter/util/inject/flag/Flags.java
  100. +0 −28 util-inject/src/main/scala/com/twitter/util/inject/BUILD
  101. +0 −17 util-inject/src/main/scala/com/twitter/util/inject/Flags.scala
  102. +0 −142 util-inject/src/main/scala/com/twitter/util/inject/Injector.scala
  103. +0 −16 util-inject/src/main/scala/com/twitter/util/inject/InjectorModule.scala
  104. +0 −24 util-inject/src/main/scala/com/twitter/util/inject/TwitterBaseModule.scala
  105. +0 −368 util-inject/src/main/scala/com/twitter/util/inject/TwitterModule.scala
  106. +0 −112 util-inject/src/main/scala/com/twitter/util/inject/TwitterModuleFlags.scala
  107. +0 −83 util-inject/src/main/scala/com/twitter/util/inject/TwitterModuleLifecycle.scala
  108. +0 −76 util-inject/src/main/scala/com/twitter/util/inject/TypeUtils.scala
  109. +0 −25 util-inject/src/main/scala/com/twitter/util/inject/internal/BUILD
  110. +0 −69 util-inject/src/main/scala/com/twitter/util/inject/internal/FlagsModule.scala
  111. +0 −82 util-inject/src/main/scala/com/twitter/util/inject/internal/InstalledModules.scala
  112. +0 −113 util-inject/src/main/scala/com/twitter/util/inject/internal/Modules.scala
  113. +0 −46 util-inject/src/main/scala/com/twitter/util/inject/internal/TwitterTypeConvertersModule.scala
  114. +0 −37 util-inject/src/main/scala/com/twitter/util/inject/internal/iterable.scala
  115. +0 −5 util-inject/src/main/scala/com/twitter/util/inject/internal/package.scala
  116. +0 −10 util-inject/src/test/java/com/twitter/util/inject/BUILD
  117. +0 −19 util-inject/src/test/java/com/twitter/util/inject/TestBindingAnnotation.java
  118. +0 −22 util-inject/src/test/scala/com/twitter/util/inject/BUILD
  119. +0 −195 util-inject/src/test/scala/com/twitter/util/inject/InjectorTest.scala
  120. +0 −543 util-inject/src/test/scala/com/twitter/util/inject/TwitterModuleTest.scala
  121. +0 −46 util-inject/src/test/scala/com/twitter/util/inject/TypeUtilsTest.scala
  122. +0 −104 util-inject/src/test/scala/com/twitter/util/inject/classes.scala
  123. +0 −12 util-inject/src/test/scala/com/twitter/util/inject/module/SeqAbstractModule.scala
  124. +0 −26 util-inject/src/test/scala/com/twitter/util/inject/module/TestModule.scala
  125. +0 −136 util-inject/src/test/scala/com/twitter/util/inject/module/TestTwitterModule.scala
  126. +0 −32 util-inject/src/test/scala/com/twitter/util/inject/servicefactory.scala
  127. +3 −7 util-jackson-annotations/PROJECT
  128. +3 −7 util-jackson/PROJECT
  129. 0 util-jackson/src/test/java/com/twitter/util/jackson/{BUILD → BUILD.bazel}
  130. 0 util-jackson/src/test/java/com/twitter/util/jackson/tests/{BUILD → BUILD.bazel}
  131. 0 util-jackson/src/test/resources/{BUILD → BUILD.bazel}
  132. 0 util-jackson/src/test/scala/com/twitter/util/jackson/{BUILD → BUILD.bazel}
  133. +5 −224 util-jackson/src/test/scala/com/twitter/util/jackson/ScalaObjectMapperTest.scala
  134. +244 −0 util-jackson/src/test/scala/com/twitter/util/jackson/ValidationScalaObjectMapperTest.scala
  135. +0 −1 util-jvm/src/test/scala/BUILD
  136. +137 −141 util-jvm/src/test/scala/com/twitter/jvm/JvmTest.scala
  137. +0 −2 util-lint/src/test/scala/com/twitter/util/lint/BUILD
  138. +4 −1 util-logging/BUILD
  139. +3 −6 util-logging/PROJECT
  140. +4 −1 util-logging/src/main/scala/BUILD
  141. +14 −1 util-logging/src/main/scala/com/twitter/logging/BUILD
  142. +0 −1 util-logging/src/test/scala/BUILD
  143. +221 −262 util-logging/src/test/scala/com/twitter/logging/FileHandlerTest.scala
  144. +151 −156 util-logging/src/test/scala/com/twitter/logging/FormatterTest.scala
  145. +305 −314 util-logging/src/test/scala/com/twitter/logging/LoggerTest.scala
  146. +123 −124 util-logging/src/test/scala/com/twitter/logging/QueueingHandlerTest.scala
  147. +75 −77 util-logging/src/test/scala/com/twitter/logging/SyslogHandlerTest.scala
  148. +54 −56 util-logging/src/test/scala/com/twitter/logging/ThrottledHandlerTest.scala
  149. +3 −6 util-mock/PROJECT
  150. 0 util-mock/src/test/java/com/twitter/util/mock/{BUILD → BUILD.bazel}
  151. 0 util-mock/src/test/scala/com/twitter/util/mock/{BUILD → BUILD.bazel}
  152. 0 util-reflect/src/test/java/com/twitter/util/reflect/{BUILD → BUILD.bazel}
  153. 0 util-reflect/src/test/scala/com/twitter/util/reflect/{BUILD → BUILD.bazel}
  154. +4 −1 util-routing/src/main/scala/com/twitter/util/routing/BUILD
  155. +0 −1 util-routing/src/test/java/com/twitter/util/routing/{BUILD → BUILD.bazel}
  156. +1 −2 util-routing/src/test/scala/com/twitter/util/routing/{BUILD → BUILD.bazel}
  157. 0 util-routing/src/test/scala/com/twitter/util/routing/dynamic/{BUILD → BUILD.bazel}
  158. +0 −2 util-routing/src/test/scala/com/twitter/util/routing/simple/{BUILD → BUILD.bazel}
  159. 0 util-security-test-certs/src/main/resources/{BUILD → BUILD.bazel}
  160. +3 −5 util-security/PROJECT
  161. 0 util-security/src/test/java/{BUILD → BUILD.bazel}
  162. 0 util-security/src/test/java/com/twitter/util/security/{BUILD → BUILD.bazel}
  163. 0 util-security/src/test/scala/{BUILD → BUILD.bazel}
  164. 0 util-security/src/test/scala/com/twitter/util/security/{BUILD → BUILD.bazel}
  165. +3 −6 util-slf4j-api/PROJECT
  166. 0 util-slf4j-api/src/test/java/{BUILD → BUILD.bazel}
  167. 0 util-slf4j-api/src/test/java/com/twitter/util/logging/{BUILD → BUILD.bazel}
  168. +3 −6 util-slf4j-jul-bridge/PROJECT
  169. +3 −8 util-stats/PROJECT
  170. +93 −16 util-stats/src/main/scala/com/twitter/finagle/stats/HistogramFormatter.scala
  171. +22 −13 util-stats/src/main/scala/com/twitter/finagle/stats/InMemoryStatsReceiver.scala
  172. +130 −22 util-stats/src/main/scala/com/twitter/finagle/stats/MetricBuilder.scala
  173. +7 −0 util-stats/src/main/scala/com/twitter/finagle/stats/MetricUsageHint.scala
  174. +2 −1 util-stats/src/main/scala/com/twitter/finagle/stats/SchemaRegistry.scala
  175. +11 −2 util-stats/src/main/scala/com/twitter/finagle/stats/StatsReceiver.scala
  176. +7 −6 util-stats/src/main/scala/com/twitter/finagle/stats/exp/ExpressionSchema.scala
  177. +2 −2 util-stats/src/main/scala/com/twitter/finagle/stats/exp/HistogramComponent.scala
  178. +43 −0 util-stats/src/test/scala/com/twitter/finagle/stats/HistogramFormatterTest.scala
  179. +3 −3 util-stats/src/test/scala/com/twitter/finagle/stats/InMemoryStatsReceiverTest.scala
  180. +4 −3 util-stats/src/test/scala/com/twitter/finagle/stats/StatsReceiverTest.scala
  181. +1 −1 util-stats/src/test/scala/com/twitter/finagle/stats/exp/ExpressionSchemaTest.scala
  182. +2 −2 util-test/src/main/scala/com/twitter/logging/TestLogging.scala
  183. +22 −1 util-test/src/main/scala/com/twitter/util/testing/BUILD
  184. +10 −12 util-thrift/src/test/scala/com/twitter/util/ThriftSerializerTest.scala
  185. 0 util-tunable/src/test/java/com/twitter/util/tunable/{BUILD → BUILD.bazel}
  186. 0 util-tunable/src/test/resources/{BUILD → BUILD.bazel}
  187. 0 util-tunable/src/test/scala/{BUILD → BUILD.bazel}
  188. 0 util-tunable/src/test/scala/com/twitter/util/tunable/{BUILD → BUILD.bazel}
  189. +4 −8 util-validator-constraints/PROJECT
  190. +4 −8 util-validator/PROJECT
  191. 0 util-validator/src/test/java/com/twitter/util/validation/{BUILD → BUILD.bazel}
  192. 0 util-validator/src/test/java/com/twitter/util/validation/tests/{BUILD → BUILD.bazel}
  193. 0 util-validator/src/test/scala/com/twitter/util/validation/{BUILD → BUILD.bazel}
  194. +3 −5 util-zk-test/PROJECT
  195. +3 −5 util-zk/PROJECT
6 changes: 1 addition & 5 deletions .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
@@ -52,8 +52,4 @@ jobs:
find ~/.sbt -name "*.lock" -delete
fi
- name: test
run: ${{ format('./sbt ++{0} clean coverage test coverageReport', matrix.scala) }}
- name: coverage
run: ${{ format('./sbt ++{0} coverageAggregate', matrix.scala) }}
- name: upload coverage
uses: codecov/codecov-action@v2
run: ${{ format('./sbt ++{0} clean test', matrix.scala) }}
46 changes: 42 additions & 4 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -7,12 +7,48 @@ Note that ``PHAB_ID=#`` and ``RB_ID=#`` correspond to associated messages in com
Unreleased
----------

22.7.0
------
Runtime Behavior Changes
~~~~~~~~~~~~~~~~~~~~~~~~

No Changes
* util: Bump version of Jackson to 2.14.2. ``PHAB_ID=D1049772``

* util: Update snakeyaml to 1.28 ``PHAB_ID=D930268``
* util: Bump version of Jackson to 2.14.3. ``PHAB_ID=D1069160``

22.12.0
-------

New Features
~~~~~~~~~~~~

* util-core: Introduce Future.fromCompletableFuture ``PHAB_ID=D940686``

* util-core: Introduce `Time.fromInstant` ``PHAB_ID=D987464``

* util-core: Introduce `TimeFormatter`, a replacement for `TimeFormat`. `TimeFormatter` uses
the modern `java.time.format.DateTimeFormatter` API instead of the `java.text.SimpleDateFormat`
with the main advantage being that it doesn't require synchronization on either formatting or
parsing, and is thus more performant and causes no contention. ``PHAB_ID=D987464``

* util-stats: `MetricBuilder` now has API to configure a format in which histograms are exported.
Use `.withHistogramFormat` to access it. ``PHAB_ID=D908189``

Deprecations
~~~~~~~~~~~~
* util-core: `TimeFormat`, as well as the `Time.format` methods are deprecated in favor of using
`TimeFormatter`. ``PHAB_ID=D987464``

Runtime Behavior Changes
~~~~~~~~~~~~~~~~~~~~~~~~

* util: Bump version of Jackson to 2.14.1. ``PHAB_ID=D1025778``

* util-core: `Time.at`, `Time.toString`, and `Time.fromRss` now use `TimeFormatter` internally and
thus have better performance and do not cause contention through synchronization. `toString` always
uses `TimeFormatter` while `at` and `fromRss` only use it when run with Java 9 or later due to a
compatibility bug in Java 1.8. ``PHAB_ID=D987464``

22.7.0
------

Breaking API Changes
~~~~~~~~~~~~~~~~~~~~
@@ -28,6 +64,8 @@ Runtime Behavior Changes
* util-jackson: Deserialized case classes with validation on optional fields shouldn't throw an error.
``PHAB_ID=D915377``

* util: Update snakeyaml to 1.28 ``PHAB_ID=D930268``

22.4.0
------

13 changes: 3 additions & 10 deletions PROJECT.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,7 @@
# See go/project-docs. Generated using ./pants run src/python/twitter/phabricator:owners_to_project -- --dirs=a/owned/path,b/owned/path

owners:
- banderson
- mnakamura
- roanta
- vkostyukov
- yufang
watchers:
- csl-team:ldap

fileOwners:
CHANGELOG.rst:
- csl-team:ldap
- jillianc
- mbezoyan
- nvong
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# Twitter Util

[![Build Status](https://github.com/twitter/util/workflows/continuous%20integration/badge.svg?branch=develop)](https://github.com/twitter/util/actions?query=workflow%3A%22continuous+integration%22+branch%3Adevelop)
[![Codecov](https://codecov.io/gh/twitter/util/branch/develop/graph/badge.svg)](https://codecov.io/gh/twitter/util)
[![Project status](https://img.shields.io/badge/status-active-brightgreen.svg)](#status)
[![Gitter](https://badges.gitter.im/twitter/finagle.svg)](https://gitter.im/twitter/finagle?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.twitter/util-core_2.12/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.twitter/util-core_2.12)
@@ -40,7 +39,7 @@ for more details about how to contribute.
An example SBT dependency string for the `util-core` library would look like this:

```scala
val utilCore = "com.twitter" %% "util-core" % "22.7.0"
val utilCore = "com.twitter" %% "util-core" % "22.12.0"
```

# Units
21 changes: 8 additions & 13 deletions build.sbt
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
import scoverage.ScoverageKeys

Global / onChangedBuildSource := ReloadOnSourceChanges
Global / excludeLintKeys += scalacOptions // might be actually unused in util-doc module but not sure

// All Twitter library releases are date versioned as YY.MM.patch
val releaseVersion = "22.10.0-SNAPSHOT"
val releaseVersion = "23.3.0-SNAPSHOT"

val slf4jVersion = "1.7.30"
val jacksonVersion = "2.13.3"
val jacksonVersion = "2.14.3"
val json4sVersion = "4.0.3"
val mockitoVersion = "3.3.3"
val mockitoScalaVersion = "1.14.8"
@@ -91,12 +89,12 @@ val defaultScalaSettings = Seq(
)
val defaultScala3EnabledSettings = Seq(
scalaVersion := _scalaVersion,
crossScalaVersions := _crossScalaVersions ++ Seq("3.0.2")
crossScalaVersions := _crossScalaVersions ++ Seq("3.2.2")
)

// Our dependencies or compiler options may differ for both Scala 2 and 3. We branch here
// to account for there differences but should merge these artifacts as they are updated.
val scalaDependencies = Seq("org.scala-lang.modules" %% "scala-collection-compat" % "2.7.0")
val scalaDependencies = Seq("org.scala-lang.modules" %% "scala-collection-compat" % "2.4.4")
val scala2cOptions = Seq(
"-target:jvm-1.8",
// Needs -missing-interpolator due to https://issues.scala-lang.org/browse/SI-8761
@@ -141,7 +139,6 @@ val baseSettings = Seq(
if (scalaVersion.value.startsWith("3")) Seq.empty
else (Compile / doc / sources).value
},
ScoverageKeys.coverageHighlighting := true,
resolvers +=
"Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots",
scalacOptions := Seq(
@@ -208,15 +205,13 @@ val baseSettings = Seq(
val sharedSettings =
baseSettings ++
defaultScalaSettings ++
Seq(libraryDependencies ++= scala2Dependencies) ++
// This doesn't really do much except when trying to compile modules with Scala 3 which don't support it yet,
// instead of failing during "update" due to conflicting _2.13 _3 suffixes it will fail during compilation.
Seq(excludeDependencies ++= Seq("org.scala-lang.modules" % "scala-collection-compat_3"))
Seq(libraryDependencies ++= scala2Dependencies)

val sharedScala3EnabledSettings =
baseSettings ++
defaultScala3EnabledSettings ++
Seq(libraryDependencies ++= scala3Dependencies)
Seq(libraryDependencies ++= scala3Dependencies) ++
Seq(excludeDependencies ++= Seq("org.scala-lang.modules" % "scala-collection-compat_3"))

// settings for projects that are cross compiled with scala 2.10
val settingsCrossCompiledWithTwoTen =
@@ -449,7 +444,7 @@ lazy val utilFunction = Project(
id = "util-function",
base = file("util-function")
).settings(
sharedScala3EnabledSettings
sharedSettings
).settings(
name := "util-function"
)
Loading