From 108dd71ac439ee2938986288af4dbb754f91b390 Mon Sep 17 00:00:00 2001 From: Brian Holt Date: Tue, 5 Oct 2021 17:24:09 -0500 Subject: [PATCH 1/5] change package name to org.typelevel.catbird --- .../catbird/benchmark/RerunnableBenchmark.scala | 6 +++--- .../benchmark/RerunnableBenchmarkSpec.scala | 2 +- build.sbt | 16 ++++++++-------- .../catbird/util/effect/FutureInstances.scala | 4 ++-- .../catbird/util/effect/RerunnableClock.scala | 4 ++-- .../util/effect/RerunnableContextShift.scala | 6 +++--- .../util/effect/RerunnableInstances.scala | 4 ++-- .../catbird/util/effect/RerunnableTimer.scala | 4 ++-- .../typelevel}/catbird/util/effect/package.scala | 2 +- .../util/effect/ContextShiftingSuite.scala | 2 +- .../catbird/util/effect/FutureSuite.scala | 4 ++-- .../util/effect/RerunnableClockSuite.scala | 4 ++-- .../effect/RerunnableContextShiftSuite.scala | 4 ++-- .../catbird/util/effect/RerunnableSuite.scala | 4 ++-- .../util/effect/RerunnableTimerSuite.scala | 4 ++-- .../util/effect/ThreadPoolNamingSupport.scala | 2 +- .../catbird/util/effect/FutureInstances.scala | 4 ++-- .../util/effect/RerunnableInstances.scala | 4 ++-- .../typelevel}/catbird/util/effect/package.scala | 2 +- .../catbird/util/effect/FutureSuite.scala | 4 ++-- .../util/effect/RerunnableClockSuite.scala | 4 ++-- .../catbird/util/effect/RerunnableSuite.scala | 4 ++-- .../typelevel}/catbird/util/effect/Runners.scala | 4 ++-- .../typelevel}/catbird/finagle/package.scala | 2 +- .../typelevel}/catbird/finagle/service.scala | 4 ++-- .../typelevel}/catbird/finagle/arbitrary.scala | 4 ++-- .../typelevel}/catbird/finagle/eq.scala | 2 +- .../typelevel}/catbird/finagle/service.scala | 2 +- .../typelevel}/catbird/util/Rerunnable.scala | 2 +- .../typelevel}/catbird/util/asyncstream.scala | 2 +- .../typelevel}/catbird/util/future.scala | 2 +- .../catbird/util/internal/Newtype1.scala | 2 +- .../typelevel}/catbird/util/package.scala | 2 +- .../{io => org/typelevel}/catbird/util/try.scala | 2 +- .../{io => org/typelevel}/catbird/util/var.scala | 2 +- .../typelevel}/catbird/util/CatbirdSuite.scala | 2 +- .../catbird/util/RerunnableSuite.scala | 2 +- .../typelevel}/catbird/util/arbitrary.scala | 2 +- .../typelevel}/catbird/util/asyncstream.scala | 2 +- .../{io => org/typelevel}/catbird/util/eq.scala | 2 +- .../typelevel}/catbird/util/future.scala | 2 +- .../{io => org/typelevel}/catbird/util/try.scala | 2 +- .../{io => org/typelevel}/catbird/util/var.scala | 2 +- 43 files changed, 71 insertions(+), 71 deletions(-) rename benchmark/src/main/scala/{io => org/typelevel}/catbird/benchmark/RerunnableBenchmark.scala (88%) rename benchmark/src/test/scala/{io => org/typelevel}/catbird/benchmark/RerunnableBenchmarkSpec.scala (95%) rename effect/src/main/scala/{io => org/typelevel}/catbird/util/effect/FutureInstances.scala (87%) rename effect/src/main/scala/{io => org/typelevel}/catbird/util/effect/RerunnableClock.scala (86%) rename effect/src/main/scala/{io => org/typelevel}/catbird/util/effect/RerunnableContextShift.scala (92%) rename effect/src/main/scala/{io => org/typelevel}/catbird/util/effect/RerunnableInstances.scala (95%) rename effect/src/main/scala/{io => org/typelevel}/catbird/util/effect/RerunnableTimer.scala (93%) rename effect/src/main/scala/{io => org/typelevel}/catbird/util/effect/package.scala (98%) rename effect/src/test/scala/{io => org/typelevel}/catbird/util/effect/ContextShiftingSuite.scala (98%) rename effect/src/test/scala/{io => org/typelevel}/catbird/util/effect/FutureSuite.scala (88%) rename effect/src/test/scala/{io => org/typelevel}/catbird/util/effect/RerunnableClockSuite.scala (94%) rename effect/src/test/scala/{io => org/typelevel}/catbird/util/effect/RerunnableContextShiftSuite.scala (97%) rename effect/src/test/scala/{io => org/typelevel}/catbird/util/effect/RerunnableSuite.scala (93%) rename effect/src/test/scala/{io => org/typelevel}/catbird/util/effect/RerunnableTimerSuite.scala (92%) rename effect/src/test/scala/{io => org/typelevel}/catbird/util/effect/ThreadPoolNamingSupport.scala (94%) rename effect3/src/main/scala/{io => org/typelevel}/catbird/util/effect/FutureInstances.scala (92%) rename effect3/src/main/scala/{io => org/typelevel}/catbird/util/effect/RerunnableInstances.scala (94%) rename effect3/src/main/scala/{io => org/typelevel}/catbird/util/effect/package.scala (97%) rename effect3/src/test/scala/{io => org/typelevel}/catbird/util/effect/FutureSuite.scala (85%) rename effect3/src/test/scala/{io => org/typelevel}/catbird/util/effect/RerunnableClockSuite.scala (94%) rename effect3/src/test/scala/{io => org/typelevel}/catbird/util/effect/RerunnableSuite.scala (92%) rename effect3/src/test/scala/{io => org/typelevel}/catbird/util/effect/Runners.scala (94%) rename finagle/src/main/scala/{io => org/typelevel}/catbird/finagle/package.scala (62%) rename finagle/src/main/scala/{io => org/typelevel}/catbird/finagle/service.scala (87%) rename finagle/src/test/scala/{io => org/typelevel}/catbird/finagle/arbitrary.scala (75%) rename finagle/src/test/scala/{io => org/typelevel}/catbird/finagle/eq.scala (88%) rename finagle/src/test/scala/{io => org/typelevel}/catbird/finagle/service.scala (95%) rename util/src/main/scala/{io => org/typelevel}/catbird/util/Rerunnable.scala (99%) rename util/src/main/scala/{io => org/typelevel}/catbird/util/asyncstream.scala (98%) rename util/src/main/scala/{io => org/typelevel}/catbird/util/future.scala (99%) rename util/src/main/scala/{io => org/typelevel}/catbird/util/internal/Newtype1.scala (94%) rename util/src/main/scala/{io => org/typelevel}/catbird/util/package.scala (78%) rename util/src/main/scala/{io => org/typelevel}/catbird/util/try.scala (98%) rename util/src/main/scala/{io => org/typelevel}/catbird/util/var.scala (98%) rename util/src/test/scala/{io => org/typelevel}/catbird/util/CatbirdSuite.scala (86%) rename util/src/test/scala/{io => org/typelevel}/catbird/util/RerunnableSuite.scala (97%) rename util/src/test/scala/{io => org/typelevel}/catbird/util/arbitrary.scala (97%) rename util/src/test/scala/{io => org/typelevel}/catbird/util/asyncstream.scala (97%) rename util/src/test/scala/{io => org/typelevel}/catbird/util/eq.scala (76%) rename util/src/test/scala/{io => org/typelevel}/catbird/util/future.scala (98%) rename util/src/test/scala/{io => org/typelevel}/catbird/util/try.scala (97%) rename util/src/test/scala/{io => org/typelevel}/catbird/util/var.scala (96%) diff --git a/benchmark/src/main/scala/io/catbird/benchmark/RerunnableBenchmark.scala b/benchmark/src/main/scala/org/typelevel/catbird/benchmark/RerunnableBenchmark.scala similarity index 88% rename from benchmark/src/main/scala/io/catbird/benchmark/RerunnableBenchmark.scala rename to benchmark/src/main/scala/org/typelevel/catbird/benchmark/RerunnableBenchmark.scala index 6fb47b6c..dd9f80ae 100644 --- a/benchmark/src/main/scala/io/catbird/benchmark/RerunnableBenchmark.scala +++ b/benchmark/src/main/scala/org/typelevel/catbird/benchmark/RerunnableBenchmark.scala @@ -1,7 +1,7 @@ -package io.catbird.benchmark +package org.typelevel.catbird.benchmark import com.twitter.util.{ Await, Future, FuturePool } -import io.catbird.util.Rerunnable +import org.typelevel.catbird.util.Rerunnable import java.util.concurrent.{ ExecutorService, Executors, TimeUnit } import org.openjdk.jmh.annotations._ @@ -10,7 +10,7 @@ import org.openjdk.jmh.annotations._ * * The following command will run the benchmarks with reasonable settings: * - * > sbt "benchmark/jmh:run -i 20 -wi 10 -f 2 -t 1 io.catbird.benchmark.RerunnableBenchmark" + * > sbt "benchmark/jmh:run -i 20 -wi 10 -f 2 -t 1 org.typelevel.catbird.benchmark.RerunnableBenchmark" */ @State(Scope.Thread) @BenchmarkMode(Array(Mode.Throughput)) diff --git a/benchmark/src/test/scala/io/catbird/benchmark/RerunnableBenchmarkSpec.scala b/benchmark/src/test/scala/org/typelevel/catbird/benchmark/RerunnableBenchmarkSpec.scala similarity index 95% rename from benchmark/src/test/scala/io/catbird/benchmark/RerunnableBenchmarkSpec.scala rename to benchmark/src/test/scala/org/typelevel/catbird/benchmark/RerunnableBenchmarkSpec.scala index 93a3dccf..7a01d5af 100644 --- a/benchmark/src/test/scala/io/catbird/benchmark/RerunnableBenchmarkSpec.scala +++ b/benchmark/src/test/scala/org/typelevel/catbird/benchmark/RerunnableBenchmarkSpec.scala @@ -1,4 +1,4 @@ -package io.catbird.benchmark +package org.typelevel.catbird.benchmark import org.scalatest.BeforeAndAfter import org.scalatest.flatspec.AnyFlatSpec diff --git a/build.sbt b/build.sbt index 66901233..fc7f4334 100644 --- a/build.sbt +++ b/build.sbt @@ -10,7 +10,7 @@ val finagleVersion = "21.8.0" ThisBuild / crossScalaVersions := Seq("2.12.14", "2.13.6") ThisBuild / scalaVersion := crossScalaVersions.value.last -ThisBuild / organization := "io.catbird" +ThisBuild / organization := "org.typelevel" (Global / onChangedBuildSource) := ReloadOnSourceChanges @@ -70,15 +70,15 @@ lazy val root = project .settings( (ScalaUnidoc / unidoc / unidocProjectFilter) := inAnyProject -- inProjects(benchmark, effect3), addMappingsToSiteDir((ScalaUnidoc / packageDoc / mappings), docMappingsApiDir), - git.remoteRepo := "git@github.com:travisbrown/catbird.git" + git.remoteRepo := "git@github.com:typelevel/catbird.git" ) .settings( (console / initialCommands) := """ |import com.twitter.finagle._ |import com.twitter.util._ - |import io.catbird.finagle._ - |import io.catbird.util._ + |import org.typelevel.catbird.finagle._ + |import org.typelevel.catbird.util._ """.stripMargin ) .aggregate(util, effect, effect3, finagle, benchmark) @@ -152,7 +152,7 @@ lazy val publishSettings = Seq( releaseCrossBuild := true, releasePublishArtifactsAction := PgpKeys.publishSigned.value, releaseVcsSign := true, - homepage := Some(url("https://github.com/travisbrown/catbird")), + homepage := Some(url("https://github.com/typelevel/catbird")), licenses := Seq("Apache 2.0" -> url("http://www.apache.org/licenses/LICENSE-2.0")), publishMavenStyle := true, (Test / publishArtifact) := false, @@ -165,11 +165,11 @@ lazy val publishSettings = Seq( Some("releases".at(nexus + "service/local/staging/deploy/maven2")) }, autoAPIMappings := true, - apiURL := Some(url("https://travisbrown.github.io/catbird/api/")), + apiURL := Some(url("https://typelevel.org/catbird/api/")), scmInfo := Some( ScmInfo( - url("https://github.com/travisbrown/catbird"), - "scm:git:git@github.com:travisbrown/catbird.git" + url("https://github.com/typelevel/catbird"), + "scm:git:git@github.com:typelevel/catbird.git" ) ), pomExtra := ( diff --git a/effect/src/main/scala/io/catbird/util/effect/FutureInstances.scala b/effect/src/main/scala/org/typelevel/catbird/util/effect/FutureInstances.scala similarity index 87% rename from effect/src/main/scala/io/catbird/util/effect/FutureInstances.scala rename to effect/src/main/scala/org/typelevel/catbird/util/effect/FutureInstances.scala index 89e4eb58..4463a779 100644 --- a/effect/src/main/scala/io/catbird/util/effect/FutureInstances.scala +++ b/effect/src/main/scala/org/typelevel/catbird/util/effect/FutureInstances.scala @@ -1,8 +1,8 @@ -package io.catbird.util.effect +package org.typelevel.catbird.util.effect import cats.effect.{ Bracket, ExitCase } import com.twitter.util.{ Future, Monitor } -import io.catbird.util.FutureMonadError +import org.typelevel.catbird.util.FutureMonadError import java.lang.Throwable import scala.Unit diff --git a/effect/src/main/scala/io/catbird/util/effect/RerunnableClock.scala b/effect/src/main/scala/org/typelevel/catbird/util/effect/RerunnableClock.scala similarity index 86% rename from effect/src/main/scala/io/catbird/util/effect/RerunnableClock.scala rename to effect/src/main/scala/org/typelevel/catbird/util/effect/RerunnableClock.scala index 3750e960..b8e96f82 100644 --- a/effect/src/main/scala/io/catbird/util/effect/RerunnableClock.scala +++ b/effect/src/main/scala/org/typelevel/catbird/util/effect/RerunnableClock.scala @@ -1,9 +1,9 @@ -package io.catbird.util.effect +package org.typelevel.catbird.util.effect import java.util.concurrent.TimeUnit import cats.effect.Clock -import io.catbird.util.Rerunnable +import org.typelevel.catbird.util.Rerunnable import scala.Long import java.lang.System diff --git a/effect/src/main/scala/io/catbird/util/effect/RerunnableContextShift.scala b/effect/src/main/scala/org/typelevel/catbird/util/effect/RerunnableContextShift.scala similarity index 92% rename from effect/src/main/scala/io/catbird/util/effect/RerunnableContextShift.scala rename to effect/src/main/scala/org/typelevel/catbird/util/effect/RerunnableContextShift.scala index 761d2b98..065d77bc 100644 --- a/effect/src/main/scala/io/catbird/util/effect/RerunnableContextShift.scala +++ b/effect/src/main/scala/org/typelevel/catbird/util/effect/RerunnableContextShift.scala @@ -1,8 +1,8 @@ -package io.catbird.util.effect +package org.typelevel.catbird.util.effect import cats.effect.ContextShift import com.twitter.util.{ Future, FuturePool, Promise } -import io.catbird.util.Rerunnable +import org.typelevel.catbird.util.Rerunnable import scala.Unit import java.lang.Runnable @@ -38,7 +38,7 @@ object RerunnableContextShift { * * Usage: * {{{ - * import io.catbird.util.effect.RerunnableContextShift.Implicits.global + * import org.typelevel.catbird.util.effect.RerunnableContextShift.Implicits.global * }}} */ object Implicits { diff --git a/effect/src/main/scala/io/catbird/util/effect/RerunnableInstances.scala b/effect/src/main/scala/org/typelevel/catbird/util/effect/RerunnableInstances.scala similarity index 95% rename from effect/src/main/scala/io/catbird/util/effect/RerunnableInstances.scala rename to effect/src/main/scala/org/typelevel/catbird/util/effect/RerunnableInstances.scala index ad95766b..935798cf 100644 --- a/effect/src/main/scala/io/catbird/util/effect/RerunnableInstances.scala +++ b/effect/src/main/scala/org/typelevel/catbird/util/effect/RerunnableInstances.scala @@ -1,8 +1,8 @@ -package io.catbird.util.effect +package org.typelevel.catbird.util.effect import cats.effect.{ Effect, ExitCase, IO, SyncIO } import com.twitter.util.{ Future, Monitor, Promise } -import io.catbird.util.{ Rerunnable, RerunnableMonadError } +import org.typelevel.catbird.util.{ Rerunnable, RerunnableMonadError } import java.lang.Throwable import scala.Unit import scala.util.{ Either, Left, Right } diff --git a/effect/src/main/scala/io/catbird/util/effect/RerunnableTimer.scala b/effect/src/main/scala/org/typelevel/catbird/util/effect/RerunnableTimer.scala similarity index 93% rename from effect/src/main/scala/io/catbird/util/effect/RerunnableTimer.scala rename to effect/src/main/scala/org/typelevel/catbird/util/effect/RerunnableTimer.scala index 67a510f5..f74ccca5 100644 --- a/effect/src/main/scala/io/catbird/util/effect/RerunnableTimer.scala +++ b/effect/src/main/scala/org/typelevel/catbird/util/effect/RerunnableTimer.scala @@ -1,7 +1,7 @@ -package io.catbird.util.effect +package org.typelevel.catbird.util.effect import cats.effect.{ Clock, Timer } -import io.catbird.util.Rerunnable +import org.typelevel.catbird.util.Rerunnable import com.twitter.util.Future import com.twitter.util import scala.Unit diff --git a/effect/src/main/scala/io/catbird/util/effect/package.scala b/effect/src/main/scala/org/typelevel/catbird/util/effect/package.scala similarity index 98% rename from effect/src/main/scala/io/catbird/util/effect/package.scala rename to effect/src/main/scala/org/typelevel/catbird/util/effect/package.scala index 539005e7..58f5c740 100644 --- a/effect/src/main/scala/io/catbird/util/effect/package.scala +++ b/effect/src/main/scala/org/typelevel/catbird/util/effect/package.scala @@ -1,4 +1,4 @@ -package io.catbird.util +package org.typelevel.catbird.util import cats.effect.{ Async, ContextShift, ExitCase, IO } import com.twitter.util.{ Future, Return, Throw, Try } diff --git a/effect/src/test/scala/io/catbird/util/effect/ContextShiftingSuite.scala b/effect/src/test/scala/org/typelevel/catbird/util/effect/ContextShiftingSuite.scala similarity index 98% rename from effect/src/test/scala/io/catbird/util/effect/ContextShiftingSuite.scala rename to effect/src/test/scala/org/typelevel/catbird/util/effect/ContextShiftingSuite.scala index f96b013a..5f40646f 100644 --- a/effect/src/test/scala/io/catbird/util/effect/ContextShiftingSuite.scala +++ b/effect/src/test/scala/org/typelevel/catbird/util/effect/ContextShiftingSuite.scala @@ -1,4 +1,4 @@ -package io.catbird.util.effect +package org.typelevel.catbird.util.effect import cats.effect.{ ContextShift, IO } import com.twitter.util.{ ExecutorServiceFuturePool, Future, FuturePool } diff --git a/effect/src/test/scala/io/catbird/util/effect/FutureSuite.scala b/effect/src/test/scala/org/typelevel/catbird/util/effect/FutureSuite.scala similarity index 88% rename from effect/src/test/scala/io/catbird/util/effect/FutureSuite.scala rename to effect/src/test/scala/org/typelevel/catbird/util/effect/FutureSuite.scala index 424ab90c..c85296fc 100644 --- a/effect/src/test/scala/io/catbird/util/effect/FutureSuite.scala +++ b/effect/src/test/scala/org/typelevel/catbird/util/effect/FutureSuite.scala @@ -1,4 +1,4 @@ -package io.catbird.util.effect +package org.typelevel.catbird.util.effect import cats.Eq import cats.effect.laws.discipline.BracketTests @@ -10,7 +10,7 @@ import cats.instances.unit._ import cats.laws.discipline.arbitrary._ import com.twitter.conversions.DurationOps._ import com.twitter.util.Future -import io.catbird.util.{ ArbitraryInstances, futureEqWithFailure } +import org.typelevel.catbird.util.{ ArbitraryInstances, futureEqWithFailure } import org.scalatest.funsuite.AnyFunSuite import org.scalatest.prop.Configuration import org.typelevel.discipline.scalatest.FunSuiteDiscipline diff --git a/effect/src/test/scala/io/catbird/util/effect/RerunnableClockSuite.scala b/effect/src/test/scala/org/typelevel/catbird/util/effect/RerunnableClockSuite.scala similarity index 94% rename from effect/src/test/scala/io/catbird/util/effect/RerunnableClockSuite.scala rename to effect/src/test/scala/org/typelevel/catbird/util/effect/RerunnableClockSuite.scala index 067baa4f..32d51604 100644 --- a/effect/src/test/scala/io/catbird/util/effect/RerunnableClockSuite.scala +++ b/effect/src/test/scala/org/typelevel/catbird/util/effect/RerunnableClockSuite.scala @@ -1,11 +1,11 @@ -package io.catbird.util.effect +package org.typelevel.catbird.util.effect import java.time.Instant import java.util.concurrent.TimeUnit import cats.effect.Clock import com.twitter.util.Await -import io.catbird.util.Rerunnable +import org.typelevel.catbird.util.Rerunnable import org.scalatest.Outcome import org.scalatest.concurrent.Eventually import org.scalatest.funsuite.FixtureAnyFunSuite diff --git a/effect/src/test/scala/io/catbird/util/effect/RerunnableContextShiftSuite.scala b/effect/src/test/scala/org/typelevel/catbird/util/effect/RerunnableContextShiftSuite.scala similarity index 97% rename from effect/src/test/scala/io/catbird/util/effect/RerunnableContextShiftSuite.scala rename to effect/src/test/scala/org/typelevel/catbird/util/effect/RerunnableContextShiftSuite.scala index b58bba20..3f69dd14 100644 --- a/effect/src/test/scala/io/catbird/util/effect/RerunnableContextShiftSuite.scala +++ b/effect/src/test/scala/org/typelevel/catbird/util/effect/RerunnableContextShiftSuite.scala @@ -1,8 +1,8 @@ -package io.catbird.util.effect +package org.typelevel.catbird.util.effect import cats.effect.{ ContextShift, IO, Sync } import com.twitter.util.{ Await, Future, FuturePool } -import io.catbird.util.Rerunnable +import org.typelevel.catbird.util.Rerunnable import org.scalatest.Outcome import org.scalatest.funsuite.FixtureAnyFunSuite diff --git a/effect/src/test/scala/io/catbird/util/effect/RerunnableSuite.scala b/effect/src/test/scala/org/typelevel/catbird/util/effect/RerunnableSuite.scala similarity index 93% rename from effect/src/test/scala/io/catbird/util/effect/RerunnableSuite.scala rename to effect/src/test/scala/org/typelevel/catbird/util/effect/RerunnableSuite.scala index ccc2d765..87470578 100644 --- a/effect/src/test/scala/io/catbird/util/effect/RerunnableSuite.scala +++ b/effect/src/test/scala/org/typelevel/catbird/util/effect/RerunnableSuite.scala @@ -1,4 +1,4 @@ -package io.catbird.util.effect +package org.typelevel.catbird.util.effect import cats.effect.laws.discipline.EffectTests import cats.effect.laws.discipline.arbitrary.catsEffectLawsArbitraryForIO @@ -11,7 +11,7 @@ import cats.instances.unit._ import cats.kernel.Eq import cats.laws.discipline.arbitrary._ import com.twitter.util.{ Await, Monitor, Throw } -import io.catbird.util.{ ArbitraryInstances, Rerunnable } +import org.typelevel.catbird.util.{ ArbitraryInstances, Rerunnable } import org.scalatest.funsuite.AnyFunSuite import org.scalatest.prop.Configuration import org.typelevel.discipline.scalatest.FunSuiteDiscipline diff --git a/effect/src/test/scala/io/catbird/util/effect/RerunnableTimerSuite.scala b/effect/src/test/scala/org/typelevel/catbird/util/effect/RerunnableTimerSuite.scala similarity index 92% rename from effect/src/test/scala/io/catbird/util/effect/RerunnableTimerSuite.scala rename to effect/src/test/scala/org/typelevel/catbird/util/effect/RerunnableTimerSuite.scala index 24bd2a64..2901d599 100644 --- a/effect/src/test/scala/io/catbird/util/effect/RerunnableTimerSuite.scala +++ b/effect/src/test/scala/org/typelevel/catbird/util/effect/RerunnableTimerSuite.scala @@ -1,11 +1,11 @@ -package io.catbird.util.effect +package org.typelevel.catbird.util.effect import cats.effect.Timer import org.scalatest.Outcome import org.scalatest.funsuite.FixtureAnyFunSuite import com.twitter.util import com.twitter.util.{ Await, Future } -import io.catbird.util.Rerunnable +import org.typelevel.catbird.util.Rerunnable import scala.concurrent.duration._ diff --git a/effect/src/test/scala/io/catbird/util/effect/ThreadPoolNamingSupport.scala b/effect/src/test/scala/org/typelevel/catbird/util/effect/ThreadPoolNamingSupport.scala similarity index 94% rename from effect/src/test/scala/io/catbird/util/effect/ThreadPoolNamingSupport.scala rename to effect/src/test/scala/org/typelevel/catbird/util/effect/ThreadPoolNamingSupport.scala index 98cdfcba..11c30f57 100644 --- a/effect/src/test/scala/io/catbird/util/effect/ThreadPoolNamingSupport.scala +++ b/effect/src/test/scala/org/typelevel/catbird/util/effect/ThreadPoolNamingSupport.scala @@ -1,4 +1,4 @@ -package io.catbird.util.effect +package org.typelevel.catbird.util.effect import java.lang.{ Runnable, Thread } import java.util.concurrent.{ Executors, ThreadFactory } diff --git a/effect3/src/main/scala/io/catbird/util/effect/FutureInstances.scala b/effect3/src/main/scala/org/typelevel/catbird/util/effect/FutureInstances.scala similarity index 92% rename from effect3/src/main/scala/io/catbird/util/effect/FutureInstances.scala rename to effect3/src/main/scala/org/typelevel/catbird/util/effect/FutureInstances.scala index 45ff798a..e1c3ad8a 100644 --- a/effect3/src/main/scala/io/catbird/util/effect/FutureInstances.scala +++ b/effect3/src/main/scala/org/typelevel/catbird/util/effect/FutureInstances.scala @@ -1,8 +1,8 @@ -package io.catbird.util.effect +package org.typelevel.catbird.util.effect import cats.effect.kernel.{ MonadCancel, Outcome } import com.twitter.util.{ Future, Monitor } -import io.catbird.util.FutureMonadError +import org.typelevel.catbird.util.FutureMonadError import java.lang.Throwable diff --git a/effect3/src/main/scala/io/catbird/util/effect/RerunnableInstances.scala b/effect3/src/main/scala/org/typelevel/catbird/util/effect/RerunnableInstances.scala similarity index 94% rename from effect3/src/main/scala/io/catbird/util/effect/RerunnableInstances.scala rename to effect3/src/main/scala/org/typelevel/catbird/util/effect/RerunnableInstances.scala index df6ff12e..66220a08 100644 --- a/effect3/src/main/scala/io/catbird/util/effect/RerunnableInstances.scala +++ b/effect3/src/main/scala/org/typelevel/catbird/util/effect/RerunnableInstances.scala @@ -1,9 +1,9 @@ -package io.catbird.util.effect +package org.typelevel.catbird.util.effect import cats.effect.Clock import cats.effect.kernel.{ MonadCancel, Outcome, Sync } import com.twitter.util.{ Future, Monitor } -import io.catbird.util.{ Rerunnable, RerunnableMonadError } +import org.typelevel.catbird.util.{ Rerunnable, RerunnableMonadError } import java.lang.Throwable import java.util.concurrent.TimeUnit diff --git a/effect3/src/main/scala/io/catbird/util/effect/package.scala b/effect3/src/main/scala/org/typelevel/catbird/util/effect/package.scala similarity index 97% rename from effect3/src/main/scala/io/catbird/util/effect/package.scala rename to effect3/src/main/scala/org/typelevel/catbird/util/effect/package.scala index 9c42154e..ab6640ba 100644 --- a/effect3/src/main/scala/io/catbird/util/effect/package.scala +++ b/effect3/src/main/scala/org/typelevel/catbird/util/effect/package.scala @@ -1,4 +1,4 @@ -package io.catbird.util +package org.typelevel.catbird.util import cats.effect.{ Async, IO } import com.twitter.util.{ Future, Return, Throw, Try } diff --git a/effect3/src/test/scala/io/catbird/util/effect/FutureSuite.scala b/effect3/src/test/scala/org/typelevel/catbird/util/effect/FutureSuite.scala similarity index 85% rename from effect3/src/test/scala/io/catbird/util/effect/FutureSuite.scala rename to effect3/src/test/scala/org/typelevel/catbird/util/effect/FutureSuite.scala index 8a61fa22..199e0fbb 100644 --- a/effect3/src/test/scala/io/catbird/util/effect/FutureSuite.scala +++ b/effect3/src/test/scala/org/typelevel/catbird/util/effect/FutureSuite.scala @@ -1,4 +1,4 @@ -package io.catbird.util.effect +package org.typelevel.catbird.util.effect import cats.Eq import cats.effect.laws.MonadCancelTests @@ -7,7 +7,7 @@ import cats.laws.discipline.MonadErrorTests import cats.laws.discipline.arbitrary._ import com.twitter.conversions.DurationOps._ import com.twitter.util.Future -import io.catbird.util.{ ArbitraryInstances, EqInstances, futureEqWithFailure } +import org.typelevel.catbird.util.{ ArbitraryInstances, EqInstances, futureEqWithFailure } import org.scalatest.funsuite.AnyFunSuite import org.scalatest.prop.Configuration import org.typelevel.discipline.scalatest.FunSuiteDiscipline diff --git a/effect3/src/test/scala/io/catbird/util/effect/RerunnableClockSuite.scala b/effect3/src/test/scala/org/typelevel/catbird/util/effect/RerunnableClockSuite.scala similarity index 94% rename from effect3/src/test/scala/io/catbird/util/effect/RerunnableClockSuite.scala rename to effect3/src/test/scala/org/typelevel/catbird/util/effect/RerunnableClockSuite.scala index c1011ac0..b1a431f9 100644 --- a/effect3/src/test/scala/io/catbird/util/effect/RerunnableClockSuite.scala +++ b/effect3/src/test/scala/org/typelevel/catbird/util/effect/RerunnableClockSuite.scala @@ -1,11 +1,11 @@ -package io.catbird.util.effect +package org.typelevel.catbird.util.effect import java.time.Instant import java.util.concurrent.TimeUnit import cats.effect.Clock import com.twitter.util.Await -import io.catbird.util.Rerunnable +import org.typelevel.catbird.util.Rerunnable import org.scalatest.{ Outcome } import org.scalatest.concurrent.{ Eventually, IntegrationPatience } import org.scalatest.funsuite.FixtureAnyFunSuite diff --git a/effect3/src/test/scala/io/catbird/util/effect/RerunnableSuite.scala b/effect3/src/test/scala/org/typelevel/catbird/util/effect/RerunnableSuite.scala similarity index 92% rename from effect3/src/test/scala/io/catbird/util/effect/RerunnableSuite.scala rename to effect3/src/test/scala/org/typelevel/catbird/util/effect/RerunnableSuite.scala index e08deb91..28034536 100644 --- a/effect3/src/test/scala/io/catbird/util/effect/RerunnableSuite.scala +++ b/effect3/src/test/scala/org/typelevel/catbird/util/effect/RerunnableSuite.scala @@ -1,4 +1,4 @@ -package io.catbird.util.effect +package org.typelevel.catbird.util.effect import cats.effect.MonadCancel import cats.effect.kernel.testkit.SyncTypeGenerators @@ -9,7 +9,7 @@ import cats.instances.tuple._ import cats.instances.unit._ import cats.laws.discipline.arbitrary._ import com.twitter.util.{ Await, Monitor, Throw } -import io.catbird.util.{ ArbitraryInstances, EqInstances, Rerunnable } +import org.typelevel.catbird.util.{ ArbitraryInstances, EqInstances, Rerunnable } import org.scalatest.funsuite.AnyFunSuite import org.scalatest.prop.Configuration import org.typelevel.discipline.scalatest.FunSuiteDiscipline diff --git a/effect3/src/test/scala/io/catbird/util/effect/Runners.scala b/effect3/src/test/scala/org/typelevel/catbird/util/effect/Runners.scala similarity index 94% rename from effect3/src/test/scala/io/catbird/util/effect/Runners.scala rename to effect3/src/test/scala/org/typelevel/catbird/util/effect/Runners.scala index 4061c304..2faa07a4 100644 --- a/effect3/src/test/scala/io/catbird/util/effect/Runners.scala +++ b/effect3/src/test/scala/org/typelevel/catbird/util/effect/Runners.scala @@ -1,10 +1,10 @@ -package io.catbird.util.effect +package org.typelevel.catbird.util.effect import cats.Eq import cats.effect.{ IO, Outcome, unsafe } import cats.effect.testkit.TestContext import cats.effect.unsafe.IORuntimeConfig -import io.catbird.util.{ EqInstances, Rerunnable } +import org.typelevel.catbird.util.{ EqInstances, Rerunnable } import org.scalacheck.Prop import scala.annotation.implicitNotFound diff --git a/finagle/src/main/scala/io/catbird/finagle/package.scala b/finagle/src/main/scala/org/typelevel/catbird/finagle/package.scala similarity index 62% rename from finagle/src/main/scala/io/catbird/finagle/package.scala rename to finagle/src/main/scala/org/typelevel/catbird/finagle/package.scala index 7620d21f..51f1fb8e 100644 --- a/finagle/src/main/scala/io/catbird/finagle/package.scala +++ b/finagle/src/main/scala/org/typelevel/catbird/finagle/package.scala @@ -1,3 +1,3 @@ -package io.catbird +package org.typelevel.catbird package object finagle extends ServiceInstances diff --git a/finagle/src/main/scala/io/catbird/finagle/service.scala b/finagle/src/main/scala/org/typelevel/catbird/finagle/service.scala similarity index 87% rename from finagle/src/main/scala/io/catbird/finagle/service.scala rename to finagle/src/main/scala/org/typelevel/catbird/finagle/service.scala index 407f0efa..6eded719 100644 --- a/finagle/src/main/scala/io/catbird/finagle/service.scala +++ b/finagle/src/main/scala/org/typelevel/catbird/finagle/service.scala @@ -1,7 +1,7 @@ -package io.catbird.finagle +package org.typelevel.catbird.finagle import cats.arrow.{ Category, Profunctor } -import io.catbird.util.twitterFutureInstance +import org.typelevel.catbird.util.twitterFutureInstance import com.twitter.finagle.Service trait ServiceInstances { diff --git a/finagle/src/test/scala/io/catbird/finagle/arbitrary.scala b/finagle/src/test/scala/org/typelevel/catbird/finagle/arbitrary.scala similarity index 75% rename from finagle/src/test/scala/io/catbird/finagle/arbitrary.scala rename to finagle/src/test/scala/org/typelevel/catbird/finagle/arbitrary.scala index d55200b7..2d24d4d5 100644 --- a/finagle/src/test/scala/io/catbird/finagle/arbitrary.scala +++ b/finagle/src/test/scala/org/typelevel/catbird/finagle/arbitrary.scala @@ -1,7 +1,7 @@ -package io.catbird.finagle +package org.typelevel.catbird.finagle import com.twitter.finagle.Service -import io.catbird.util.twitterFutureInstance +import org.typelevel.catbird.util.twitterFutureInstance import org.scalacheck.Arbitrary trait ArbitraryInstances { diff --git a/finagle/src/test/scala/io/catbird/finagle/eq.scala b/finagle/src/test/scala/org/typelevel/catbird/finagle/eq.scala similarity index 88% rename from finagle/src/test/scala/io/catbird/finagle/eq.scala rename to finagle/src/test/scala/org/typelevel/catbird/finagle/eq.scala index fafdf4e5..a6cd206d 100644 --- a/finagle/src/test/scala/io/catbird/finagle/eq.scala +++ b/finagle/src/test/scala/org/typelevel/catbird/finagle/eq.scala @@ -1,4 +1,4 @@ -package io.catbird.finagle +package org.typelevel.catbird.finagle import cats.kernel.Eq import com.twitter.finagle.Service diff --git a/finagle/src/test/scala/io/catbird/finagle/service.scala b/finagle/src/test/scala/org/typelevel/catbird/finagle/service.scala similarity index 95% rename from finagle/src/test/scala/io/catbird/finagle/service.scala rename to finagle/src/test/scala/org/typelevel/catbird/finagle/service.scala index f6ec28b6..00086c9d 100644 --- a/finagle/src/test/scala/io/catbird/finagle/service.scala +++ b/finagle/src/test/scala/org/typelevel/catbird/finagle/service.scala @@ -1,4 +1,4 @@ -package io.catbird.finagle +package org.typelevel.catbird.finagle import cats.instances.int._ import cats.kernel.Eq diff --git a/util/src/main/scala/io/catbird/util/Rerunnable.scala b/util/src/main/scala/org/typelevel/catbird/util/Rerunnable.scala similarity index 99% rename from util/src/main/scala/io/catbird/util/Rerunnable.scala rename to util/src/main/scala/org/typelevel/catbird/util/Rerunnable.scala index 61e25bf5..1edeabde 100644 --- a/util/src/main/scala/io/catbird/util/Rerunnable.scala +++ b/util/src/main/scala/org/typelevel/catbird/util/Rerunnable.scala @@ -1,4 +1,4 @@ -package io.catbird.util +package org.typelevel.catbird.util import cats.{ Applicative, diff --git a/util/src/main/scala/io/catbird/util/asyncstream.scala b/util/src/main/scala/org/typelevel/catbird/util/asyncstream.scala similarity index 98% rename from util/src/main/scala/io/catbird/util/asyncstream.scala rename to util/src/main/scala/org/typelevel/catbird/util/asyncstream.scala index 632052cf..ed11027e 100644 --- a/util/src/main/scala/io/catbird/util/asyncstream.scala +++ b/util/src/main/scala/org/typelevel/catbird/util/asyncstream.scala @@ -1,4 +1,4 @@ -package io.catbird +package org.typelevel.catbird package util import cats.{ Alternative, Eq, Monad, Monoid, Semigroup, StackSafeMonad } diff --git a/util/src/main/scala/io/catbird/util/future.scala b/util/src/main/scala/org/typelevel/catbird/util/future.scala similarity index 99% rename from util/src/main/scala/io/catbird/util/future.scala rename to util/src/main/scala/org/typelevel/catbird/util/future.scala index 2ecb7769..2a69f928 100644 --- a/util/src/main/scala/io/catbird/util/future.scala +++ b/util/src/main/scala/org/typelevel/catbird/util/future.scala @@ -1,4 +1,4 @@ -package io.catbird.util +package org.typelevel.catbird.util import cats.{ Applicative, diff --git a/util/src/main/scala/io/catbird/util/internal/Newtype1.scala b/util/src/main/scala/org/typelevel/catbird/util/internal/Newtype1.scala similarity index 94% rename from util/src/main/scala/io/catbird/util/internal/Newtype1.scala rename to util/src/main/scala/org/typelevel/catbird/util/internal/Newtype1.scala index eb835926..82dc996d 100644 --- a/util/src/main/scala/io/catbird/util/internal/Newtype1.scala +++ b/util/src/main/scala/org/typelevel/catbird/util/internal/Newtype1.scala @@ -1,4 +1,4 @@ -package io.catbird.util.internal +package org.typelevel.catbird.util.internal /** * INTERNAL API — Newtype encoding for types with one type parameter. diff --git a/util/src/main/scala/io/catbird/util/package.scala b/util/src/main/scala/org/typelevel/catbird/util/package.scala similarity index 78% rename from util/src/main/scala/io/catbird/util/package.scala rename to util/src/main/scala/org/typelevel/catbird/util/package.scala index aceb06bc..8bac8bf8 100644 --- a/util/src/main/scala/io/catbird/util/package.scala +++ b/util/src/main/scala/org/typelevel/catbird/util/package.scala @@ -1,3 +1,3 @@ -package io.catbird +package org.typelevel.catbird package object util extends FutureInstances with TryInstances with VarInstances with AsyncStreamInstances diff --git a/util/src/main/scala/io/catbird/util/try.scala b/util/src/main/scala/org/typelevel/catbird/util/try.scala similarity index 98% rename from util/src/main/scala/io/catbird/util/try.scala rename to util/src/main/scala/org/typelevel/catbird/util/try.scala index 3b0a06dc..7b761a56 100644 --- a/util/src/main/scala/io/catbird/util/try.scala +++ b/util/src/main/scala/org/typelevel/catbird/util/try.scala @@ -1,4 +1,4 @@ -package io.catbird.util +package org.typelevel.catbird.util import cats.{ Applicative, CoflatMap, Eq, Eval, MonadError, Monoid, Semigroup, Traverse } import com.twitter.util.{ Return, Throw, Try } diff --git a/util/src/main/scala/io/catbird/util/var.scala b/util/src/main/scala/org/typelevel/catbird/util/var.scala similarity index 98% rename from util/src/main/scala/io/catbird/util/var.scala rename to util/src/main/scala/org/typelevel/catbird/util/var.scala index cddd757e..ea39fe4c 100644 --- a/util/src/main/scala/io/catbird/util/var.scala +++ b/util/src/main/scala/org/typelevel/catbird/util/var.scala @@ -1,4 +1,4 @@ -package io.catbird.util +package org.typelevel.catbird.util import cats.{ CoflatMap, Comonad, Eq, Monad, Monoid, Semigroup } import com.twitter.util.Var diff --git a/util/src/test/scala/io/catbird/util/CatbirdSuite.scala b/util/src/test/scala/org/typelevel/catbird/util/CatbirdSuite.scala similarity index 86% rename from util/src/test/scala/io/catbird/util/CatbirdSuite.scala rename to util/src/test/scala/org/typelevel/catbird/util/CatbirdSuite.scala index 7b54dafb..3fdb6e34 100644 --- a/util/src/test/scala/io/catbird/util/CatbirdSuite.scala +++ b/util/src/test/scala/org/typelevel/catbird/util/CatbirdSuite.scala @@ -1,4 +1,4 @@ -package io.catbird.util +package org.typelevel.catbird.util import org.scalatest.funsuite.AnyFunSuite import org.scalatest.prop.Configuration diff --git a/util/src/test/scala/io/catbird/util/RerunnableSuite.scala b/util/src/test/scala/org/typelevel/catbird/util/RerunnableSuite.scala similarity index 97% rename from util/src/test/scala/io/catbird/util/RerunnableSuite.scala rename to util/src/test/scala/org/typelevel/catbird/util/RerunnableSuite.scala index 5292b608..fcaf1d40 100644 --- a/util/src/test/scala/io/catbird/util/RerunnableSuite.scala +++ b/util/src/test/scala/org/typelevel/catbird/util/RerunnableSuite.scala @@ -1,4 +1,4 @@ -package io.catbird.util +package org.typelevel.catbird.util import cats.instances.either._ import cats.instances.int._ diff --git a/util/src/test/scala/io/catbird/util/arbitrary.scala b/util/src/test/scala/org/typelevel/catbird/util/arbitrary.scala similarity index 97% rename from util/src/test/scala/io/catbird/util/arbitrary.scala rename to util/src/test/scala/org/typelevel/catbird/util/arbitrary.scala index 3f00c401..92a98342 100644 --- a/util/src/test/scala/io/catbird/util/arbitrary.scala +++ b/util/src/test/scala/org/typelevel/catbird/util/arbitrary.scala @@ -1,4 +1,4 @@ -package io.catbird.util +package org.typelevel.catbird.util import com.twitter.concurrent.AsyncStream import com.twitter.conversions.DurationOps._ diff --git a/util/src/test/scala/io/catbird/util/asyncstream.scala b/util/src/test/scala/org/typelevel/catbird/util/asyncstream.scala similarity index 97% rename from util/src/test/scala/io/catbird/util/asyncstream.scala rename to util/src/test/scala/org/typelevel/catbird/util/asyncstream.scala index 7e276dd0..7fef87d8 100644 --- a/util/src/test/scala/io/catbird/util/asyncstream.scala +++ b/util/src/test/scala/org/typelevel/catbird/util/asyncstream.scala @@ -1,4 +1,4 @@ -package io.catbird +package org.typelevel.catbird package util import cats.Eq diff --git a/util/src/test/scala/io/catbird/util/eq.scala b/util/src/test/scala/org/typelevel/catbird/util/eq.scala similarity index 76% rename from util/src/test/scala/io/catbird/util/eq.scala rename to util/src/test/scala/org/typelevel/catbird/util/eq.scala index cdee27d6..fb649158 100644 --- a/util/src/test/scala/io/catbird/util/eq.scala +++ b/util/src/test/scala/org/typelevel/catbird/util/eq.scala @@ -1,4 +1,4 @@ -package io.catbird.util +package org.typelevel.catbird.util import cats.kernel.Eq diff --git a/util/src/test/scala/io/catbird/util/future.scala b/util/src/test/scala/org/typelevel/catbird/util/future.scala similarity index 98% rename from util/src/test/scala/io/catbird/util/future.scala rename to util/src/test/scala/org/typelevel/catbird/util/future.scala index 22021f4d..f5cd6d6c 100644 --- a/util/src/test/scala/io/catbird/util/future.scala +++ b/util/src/test/scala/org/typelevel/catbird/util/future.scala @@ -1,4 +1,4 @@ -package io.catbird.util +package org.typelevel.catbird.util import cats.instances.either._ import cats.instances.int._ diff --git a/util/src/test/scala/io/catbird/util/try.scala b/util/src/test/scala/org/typelevel/catbird/util/try.scala similarity index 97% rename from util/src/test/scala/io/catbird/util/try.scala rename to util/src/test/scala/org/typelevel/catbird/util/try.scala index 187188d7..e5b00d4f 100644 --- a/util/src/test/scala/io/catbird/util/try.scala +++ b/util/src/test/scala/org/typelevel/catbird/util/try.scala @@ -1,4 +1,4 @@ -package io.catbird.util +package org.typelevel.catbird.util import cats.instances.either._ import cats.instances.int._ diff --git a/util/src/test/scala/io/catbird/util/var.scala b/util/src/test/scala/org/typelevel/catbird/util/var.scala similarity index 96% rename from util/src/test/scala/io/catbird/util/var.scala rename to util/src/test/scala/org/typelevel/catbird/util/var.scala index cbb46aa6..d1600775 100644 --- a/util/src/test/scala/io/catbird/util/var.scala +++ b/util/src/test/scala/org/typelevel/catbird/util/var.scala @@ -1,4 +1,4 @@ -package io.catbird.util +package org.typelevel.catbird.util import cats.instances.int._ import cats.instances.tuple._ From 82e2f6649b1a226275ee97dff0a2e5939f244300 Mon Sep 17 00:00:00 2001 From: Brian Holt Date: Tue, 5 Oct 2021 18:22:38 -0500 Subject: [PATCH 2/5] convert to sbt-ci-release --- .github/workflows/ci.yml | 71 +++++++++++++++++++++++++++++++++++++++- build.sbt | 47 ++++++++------------------ project/plugins.sbt | 2 +- version.sbt | 1 - 4 files changed, 84 insertions(+), 37 deletions(-) delete mode 100644 version.sbt diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ac87a100..e8108cc4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,4 +56,73 @@ jobs: run: 'sbt --client ''++${{ matrix.scala }}; clean; coverage; test; scalastyle; scalafmtCheck; scalafmtSbtCheck; test:scalafmtCheck; unidoc; coverageReport''' - name: Code coverage analysis - uses: codecov/codecov-action@v1 \ No newline at end of file + uses: codecov/codecov-action@v1 + + - name: Compress target directories + run: tar cf targets.tar util/target target effect/target effect3/target finagle/target benchmark/target project/target + + - name: Upload target directories + uses: actions/upload-artifact@v2 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }} + path: targets.tar + + publish: + name: Publish Artifacts + needs: [build] + if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v')) + strategy: + matrix: + os: [ubuntu-latest] + scala: [2.13.6] + java: [adopt@1.8] + runs-on: ${{ matrix.os }} + steps: + - name: Checkout current branch (full) + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Setup Java and Scala + uses: olafurpg/setup-scala@v12 + with: + java-version: ${{ matrix.java }} + + - name: Cache sbt + uses: actions/cache@v2 + with: + path: | + ~/.sbt + ~/.ivy2/cache + ~/.coursier/cache/v1 + ~/.cache/coursier/v1 + ~/AppData/Local/Coursier/Cache/v1 + ~/Library/Caches/Coursier/v1 + key: ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }} + + - name: Download target directories (2.12.14) + uses: actions/download-artifact@v2 + with: + name: target-${{ matrix.os }}-2.12.14-${{ matrix.java }} + + - name: Inflate target directories (2.12.14) + run: | + tar xf targets.tar + rm targets.tar + + - name: Download target directories (2.13.6) + uses: actions/download-artifact@v2 + with: + name: target-${{ matrix.os }}-2.13.6-${{ matrix.java }} + + - name: Inflate target directories (2.13.6) + run: | + tar xf targets.tar + rm targets.tar + + - env: + PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }} + PGP_SECRET: ${{ secrets.PGP_SECRET }} + SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} + SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} + run: sbt --client '++${{ matrix.scala }}; ci-release' \ No newline at end of file diff --git a/build.sbt b/build.sbt index fc7f4334..ff328517 100644 --- a/build.sbt +++ b/build.sbt @@ -149,21 +149,10 @@ lazy val benchmark = project .dependsOn(util) lazy val publishSettings = Seq( - releaseCrossBuild := true, - releasePublishArtifactsAction := PgpKeys.publishSigned.value, - releaseVcsSign := true, homepage := Some(url("https://github.com/typelevel/catbird")), licenses := Seq("Apache 2.0" -> url("http://www.apache.org/licenses/LICENSE-2.0")), - publishMavenStyle := true, (Test / publishArtifact) := false, pomIncludeRepository := { _ => false }, - publishTo := { - val nexus = "https://oss.sonatype.org/" - if (isSnapshot.value) - Some("snapshots".at(nexus + "content/repositories/snapshots")) - else - Some("releases".at(nexus + "service/local/staging/deploy/maven2")) - }, autoAPIMappings := true, apiURL := Some(url("https://typelevel.org/catbird/api/")), scmInfo := Some( @@ -172,15 +161,7 @@ lazy val publishSettings = Seq( "scm:git:git@github.com:typelevel/catbird.git" ) ), - pomExtra := ( - - - travisbrown - Travis Brown - https://twitter.com/travisbrown - - - ) + developers += Developer("travisbrown", "Travis Brown", "", url("https://twitter.com/travisbrown")), ) lazy val noPublishSettings = Seq( @@ -189,18 +170,6 @@ lazy val noPublishSettings = Seq( publishArtifact := false ) -credentials ++= ( - for { - username <- Option(System.getenv().get("SONATYPE_USERNAME")) - password <- Option(System.getenv().get("SONATYPE_PASSWORD")) - } yield Credentials( - "Sonatype Nexus Repository Manager", - "oss.sonatype.org", - username, - password - ) -).toSeq - def priorTo2_13(scalaVersion: String): Boolean = CrossVersion.partialVersion(scalaVersion) match { case Some((2, minor)) if minor < 13 => true @@ -208,8 +177,18 @@ def priorTo2_13(scalaVersion: String): Boolean = } ThisBuild / githubWorkflowJavaVersions := Seq("adopt@1.8") -// No auto-publish atm. Remove this line to generate publish stage -ThisBuild / githubWorkflowPublishTargetBranches := Seq.empty +ThisBuild / githubWorkflowPublishTargetBranches := Seq(RefPredicate.StartsWith(Ref.Tag("v"))) +ThisBuild / githubWorkflowPublish := Seq( + WorkflowStep.Sbt( + List("ci-release"), + env = Map( + "PGP_PASSPHRASE" -> "${{ secrets.PGP_PASSPHRASE }}", + "PGP_SECRET" -> "${{ secrets.PGP_SECRET }}", + "SONATYPE_PASSWORD" -> "${{ secrets.SONATYPE_PASSWORD }}", + "SONATYPE_USERNAME" -> "${{ secrets.SONATYPE_USERNAME }}" + ) + ) +) ThisBuild / githubWorkflowBuild := Seq( WorkflowStep.Sbt( List( diff --git a/project/plugins.sbt b/project/plugins.sbt index 200b2afa..3f5fbd6d 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,5 +1,5 @@ addSbtPlugin("com.eed3si9n" % "sbt-unidoc" % "0.4.3") -addSbtPlugin("com.github.sbt" % "sbt-release" % "1.1.0") +addSbtPlugin("com.github.sbt" % "sbt-ci-release" % "1.5.9") addSbtPlugin("com.github.sbt" % "sbt-pgp" % "2.1.2") addSbtPlugin("com.typesafe.sbt" % "sbt-ghpages" % "0.6.3") addSbtPlugin("com.typesafe.sbt" % "sbt-git" % "1.0.1") diff --git a/version.sbt b/version.sbt deleted file mode 100644 index 5ee9fb67..00000000 --- a/version.sbt +++ /dev/null @@ -1 +0,0 @@ -ThisBuild / version := "21.8.1-SNAPSHOT" From 6a18efa064b176f5e53297d2b97d86e9fdc2f5f0 Mon Sep 17 00:00:00 2001 From: Brian Holt Date: Tue, 5 Oct 2021 18:47:35 -0500 Subject: [PATCH 3/5] use sbt-tpolecat to set compiler options --- .github/workflows/ci.yml | 2 +- build.sbt | 50 +++---------------- .../catbird/util/effect/package.scala | 2 + .../effect/RerunnableContextShiftSuite.scala | 1 + .../catbird/util/effect/FutureInstances.scala | 2 +- .../util/effect/RerunnableInstances.scala | 2 +- .../catbird/util/effect/package.scala | 2 + .../util/effect/RerunnableClockSuite.scala | 2 +- .../catbird/util/effect/Runners.scala | 1 - project/plugins.sbt | 1 + .../typelevel/catbird/util/Rerunnable.scala | 2 +- .../typelevel/catbird/util/asyncstream.scala | 2 +- 12 files changed, 19 insertions(+), 50 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e8108cc4..c8011e6a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -53,7 +53,7 @@ jobs: - env: SBT_OPTS: '-J-Xmx8G' - run: 'sbt --client ''++${{ matrix.scala }}; clean; coverage; test; scalastyle; scalafmtCheck; scalafmtSbtCheck; test:scalafmtCheck; unidoc; coverageReport''' + run: sbt --client '++${{ matrix.scala }}; clean; coverage; test; scalastyle; scalafmtCheck; scalafmtSbtCheck; Test / scalafmtCheck; unidoc; coverageReport' - name: Code coverage analysis uses: codecov/codecov-action@v1 diff --git a/build.sbt b/build.sbt index ff328517..44cda5c0 100644 --- a/build.sbt +++ b/build.sbt @@ -14,34 +14,9 @@ ThisBuild / organization := "org.typelevel" (Global / onChangedBuildSource) := ReloadOnSourceChanges -def compilerOptions(scalaVersion: String): Seq[String] = Seq( - "-deprecation", - "-encoding", - "UTF-8", - "-feature", - "-language:existentials", - "-language:higherKinds", - "-unchecked", - "-Ywarn-dead-code", - "-Ywarn-numeric-widen", - "-Yno-imports", - "-Yno-predef" -) ++ (if (priorTo2_13(scalaVersion)) - Seq( - "-Ywarn-unused-import", - "-Yno-adapted-args", - "-Xfuture" - ) - else - Seq( - "-Ywarn-unused:imports", - "-Ymacro-annotations" - )) - val docMappingsApiDir = settingKey[String]("Subdirectory in site target directory for API docs") lazy val baseSettings = Seq( - scalacOptions ++= compilerOptions(scalaVersion.value), (Compile / console / scalacOptions) ~= { _.filterNot(Set("-Ywarn-unused-import", "-Ywarn-unused:imports", "-Yno-imports", "-Yno-predef")) }, @@ -66,11 +41,12 @@ lazy val allSettings = baseSettings ++ publishSettings lazy val root = project .in(file(".")) .enablePlugins(GhpagesPlugin, ScalaUnidocPlugin) - .settings(allSettings ++ noPublishSettings) + .settings(allSettings) .settings( (ScalaUnidoc / unidoc / unidocProjectFilter) := inAnyProject -- inProjects(benchmark, effect3), addMappingsToSiteDir((ScalaUnidoc / packageDoc / mappings), docMappingsApiDir), - git.remoteRepo := "git@github.com:typelevel/catbird.git" + git.remoteRepo := "git@github.com:typelevel/catbird.git", + publish / skip := true ) .settings( (console / initialCommands) := @@ -136,10 +112,10 @@ lazy val finagle = project .dependsOn(util) lazy val benchmark = project - .settings(moduleName := "catbird-benchmark") .settings(allSettings) - .settings(noPublishSettings) .settings( + moduleName := "catbird-benchmark", + publish / skip := true, libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.10", scalacOptions ~= { _.filterNot(Set("-Yno-imports", "-Yno-predef")) @@ -161,21 +137,9 @@ lazy val publishSettings = Seq( "scm:git:git@github.com:typelevel/catbird.git" ) ), - developers += Developer("travisbrown", "Travis Brown", "", url("https://twitter.com/travisbrown")), + developers += Developer("travisbrown", "Travis Brown", "", url("https://twitter.com/travisbrown")) ) -lazy val noPublishSettings = Seq( - publish := {}, - publishLocal := {}, - publishArtifact := false -) - -def priorTo2_13(scalaVersion: String): Boolean = - CrossVersion.partialVersion(scalaVersion) match { - case Some((2, minor)) if minor < 13 => true - case _ => false - } - ThisBuild / githubWorkflowJavaVersions := Seq("adopt@1.8") ThisBuild / githubWorkflowPublishTargetBranches := Seq(RefPredicate.StartsWith(Ref.Tag("v"))) ThisBuild / githubWorkflowPublish := Seq( @@ -198,7 +162,7 @@ ThisBuild / githubWorkflowBuild := Seq( "scalastyle", "scalafmtCheck", "scalafmtSbtCheck", - "test:scalafmtCheck", + "Test / scalafmtCheck", "unidoc", "coverageReport" ), diff --git a/effect/src/main/scala/org/typelevel/catbird/util/effect/package.scala b/effect/src/main/scala/org/typelevel/catbird/util/effect/package.scala index 58f5c740..7f7ae073 100644 --- a/effect/src/main/scala/org/typelevel/catbird/util/effect/package.scala +++ b/effect/src/main/scala/org/typelevel/catbird/util/effect/package.scala @@ -16,6 +16,8 @@ package object effect extends FutureInstances with RerunnableInstances { case Return(a) => k(Right[Throwable, A](a)) case Throw(err) => k(Left[Throwable, A](err)) } + + () } /** diff --git a/effect/src/test/scala/org/typelevel/catbird/util/effect/RerunnableContextShiftSuite.scala b/effect/src/test/scala/org/typelevel/catbird/util/effect/RerunnableContextShiftSuite.scala index 3f69dd14..bf75f2a8 100644 --- a/effect/src/test/scala/org/typelevel/catbird/util/effect/RerunnableContextShiftSuite.scala +++ b/effect/src/test/scala/org/typelevel/catbird/util/effect/RerunnableContextShiftSuite.scala @@ -42,6 +42,7 @@ class RerunnableContextShiftSuite extends FixtureAnyFunSuite with ThreadPoolNami assert(poolName1 == f.futurePoolName) assert(poolName2 == f.ioPoolName) assert(poolName2 == f.ioPoolName) + assert(poolName3 == f.futurePoolName) } test("ContextShift[Rerunnable].evalOn executes on correct pool and shifts back to previous pool") { f => diff --git a/effect3/src/main/scala/org/typelevel/catbird/util/effect/FutureInstances.scala b/effect3/src/main/scala/org/typelevel/catbird/util/effect/FutureInstances.scala index e1c3ad8a..db405443 100644 --- a/effect3/src/main/scala/org/typelevel/catbird/util/effect/FutureInstances.scala +++ b/effect3/src/main/scala/org/typelevel/catbird/util/effect/FutureInstances.scala @@ -15,7 +15,7 @@ trait FutureInstances { final override def forceR[A, B](fa: Future[A])(fb: Future[B]): Future[B] = fa.liftToTry.flatMap { resultA => - resultA.handle(Monitor.catcher) + resultA.handle[Any](Monitor.catcher) fb } diff --git a/effect3/src/main/scala/org/typelevel/catbird/util/effect/RerunnableInstances.scala b/effect3/src/main/scala/org/typelevel/catbird/util/effect/RerunnableInstances.scala index 66220a08..68daed21 100644 --- a/effect3/src/main/scala/org/typelevel/catbird/util/effect/RerunnableInstances.scala +++ b/effect3/src/main/scala/org/typelevel/catbird/util/effect/RerunnableInstances.scala @@ -31,7 +31,7 @@ trait RerunnableInstances { final override def forceR[A, B](fa: Rerunnable[A])(fb: Rerunnable[B]): Rerunnable[B] = fa.liftToTry.flatMap { resultA => - resultA.handle(Monitor.catcher) + resultA.handle[Any](Monitor.catcher) fb } diff --git a/effect3/src/main/scala/org/typelevel/catbird/util/effect/package.scala b/effect3/src/main/scala/org/typelevel/catbird/util/effect/package.scala index ab6640ba..75ac7bac 100644 --- a/effect3/src/main/scala/org/typelevel/catbird/util/effect/package.scala +++ b/effect3/src/main/scala/org/typelevel/catbird/util/effect/package.scala @@ -20,6 +20,8 @@ package object effect extends FutureInstances with RerunnableInstances { case Return(a) => k(Right(a)) case Throw(err) => k(Left(err)) } + + () } /** diff --git a/effect3/src/test/scala/org/typelevel/catbird/util/effect/RerunnableClockSuite.scala b/effect3/src/test/scala/org/typelevel/catbird/util/effect/RerunnableClockSuite.scala index b1a431f9..abd17829 100644 --- a/effect3/src/test/scala/org/typelevel/catbird/util/effect/RerunnableClockSuite.scala +++ b/effect3/src/test/scala/org/typelevel/catbird/util/effect/RerunnableClockSuite.scala @@ -33,7 +33,7 @@ class RerunnableClockSuite extends FixtureAnyFunSuite with Eventually with Integ } } - test("Retrieval of monotonic time") { f => + test("Retrieval of monotonic time") { _ => eventually { val result = Await.result( Clock[Rerunnable].monotonic.map(duration => duration.toNanos).run diff --git a/effect3/src/test/scala/org/typelevel/catbird/util/effect/Runners.scala b/effect3/src/test/scala/org/typelevel/catbird/util/effect/Runners.scala index 2faa07a4..3257a43e 100644 --- a/effect3/src/test/scala/org/typelevel/catbird/util/effect/Runners.scala +++ b/effect3/src/test/scala/org/typelevel/catbird/util/effect/Runners.scala @@ -10,7 +10,6 @@ import org.scalacheck.Prop import scala.annotation.implicitNotFound import scala.concurrent.duration.FiniteDuration import scala.concurrent.duration._ -import scala.language.implicitConversions /** * Test helpers mostly taken from the cats-effect IOSpec. diff --git a/project/plugins.sbt b/project/plugins.sbt index 3f5fbd6d..f72b040f 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -8,3 +8,4 @@ addSbtPlugin("org.scalastyle" %% "scalastyle-sbt-plugin" % "1.0.0") addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.9.0") addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.4.3") addSbtPlugin("com.codecommit" % "sbt-github-actions" % "0.12.0") +addSbtPlugin("io.github.davidgregory084" % "sbt-tpolecat" % "0.1.20") diff --git a/util/src/main/scala/org/typelevel/catbird/util/Rerunnable.scala b/util/src/main/scala/org/typelevel/catbird/util/Rerunnable.scala index 1edeabde..8d14e686 100644 --- a/util/src/main/scala/org/typelevel/catbird/util/Rerunnable.scala +++ b/util/src/main/scala/org/typelevel/catbird/util/Rerunnable.scala @@ -188,7 +188,7 @@ final object Rerunnable extends RerunnableInstances1 { * * Useful when you need a parameter for a `mapK` method, for example you could use * [[https://typelevel.org/cats-tagless/ cats-tagless]] in a codebase that mixes [[Rerunnable]] and - * [[Future]]. + * [[com.twitter.util.Future]]. */ final val toFuture: Rerunnable ~> Future = λ[Rerunnable ~> Future](_.run) } diff --git a/util/src/main/scala/org/typelevel/catbird/util/asyncstream.scala b/util/src/main/scala/org/typelevel/catbird/util/asyncstream.scala index ed11027e..69b277c1 100644 --- a/util/src/main/scala/org/typelevel/catbird/util/asyncstream.scala +++ b/util/src/main/scala/org/typelevel/catbird/util/asyncstream.scala @@ -21,7 +21,7 @@ trait AsyncStreamInstances extends AsyncStreamInstances1 { final def asyncStreamEq[A](atMost: Duration)(implicit A: Eq[A]): Eq[AsyncStream[A]] = new Eq[AsyncStream[A]] { final def eqv(x: AsyncStream[A], y: AsyncStream[A]): scala.Boolean = Await.result( - x.take(1).toSeq().join(y.take(1).toSeq()).map { case (x, y) => x == y }, + x.head.join(y.head).map((Eq[Option[A]].eqv _).tupled), atMost ) } From 7992250a201084681069a856e6f8c032831c6b44 Mon Sep 17 00:00:00 2001 From: Brian Holt Date: Wed, 6 Oct 2021 00:26:21 -0500 Subject: [PATCH 4/5] add Scalafix rule to rename io.catbird to org.typelevel.catbird --- .github/workflows/ci.yml | 10 ++-- build.sbt | 55 +++++++++++++++++-- project/plugins.sbt | 1 + .../scalafix/RenameIoCatbirdPackage.scala | 16 ++++++ .../scalafix/RenameIoCatbirdPackage.scala | 15 +++++ .../META-INF/services/scalafix.v1.Rule | 1 + .../scalafix/CatbirdPackageRename.scala | 8 +++ .../catbird/scalafix/RuleSuite.scala | 8 +++ 8 files changed, 105 insertions(+), 9 deletions(-) create mode 100644 scalafix/input/src/main/scala/org/typelevel/catbird/scalafix/RenameIoCatbirdPackage.scala create mode 100644 scalafix/output/src/main/scala/org/typelevel/catbird/scalafix/RenameIoCatbirdPackage.scala create mode 100644 scalafix/rules/src/main/resources/META-INF/services/scalafix.v1.Rule create mode 100644 scalafix/rules/src/main/scala/org/typelevel/catbird/scalafix/CatbirdPackageRename.scala create mode 100644 scalafix/tests/src/test/scala/org/typelevel/catbird/scalafix/RuleSuite.scala diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c8011e6a..7cd4b1ab 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,7 +22,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - scala: [2.12.14, 2.13.6] + scala: [2.12.15, 2.13.6] java: [adopt@1.8] runs-on: ${{ matrix.os }} steps: @@ -59,7 +59,7 @@ jobs: uses: codecov/codecov-action@v1 - name: Compress target directories - run: tar cf targets.tar util/target target effect/target effect3/target finagle/target benchmark/target project/target + run: tar cf targets.tar util/target target effect/target scalafix/input/target effect3/target finagle/target scalafix/rules/target scalafix/tests/target benchmark/target project/target - name: Upload target directories uses: actions/upload-artifact@v2 @@ -100,12 +100,12 @@ jobs: ~/Library/Caches/Coursier/v1 key: ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }} - - name: Download target directories (2.12.14) + - name: Download target directories (2.12.15) uses: actions/download-artifact@v2 with: - name: target-${{ matrix.os }}-2.12.14-${{ matrix.java }} + name: target-${{ matrix.os }}-2.12.15-${{ matrix.java }} - - name: Inflate target directories (2.12.14) + - name: Inflate target directories (2.12.15) run: | tar xf targets.tar rm targets.tar diff --git a/build.sbt b/build.sbt index 44cda5c0..020227f2 100644 --- a/build.sbt +++ b/build.sbt @@ -7,7 +7,7 @@ val catsEffect3Version = "3.2.9" val utilVersion = "21.8.0" val finagleVersion = "21.8.0" -ThisBuild / crossScalaVersions := Seq("2.12.14", "2.13.6") +ThisBuild / crossScalaVersions := Seq("2.12.15", "2.13.6") ThisBuild / scalaVersion := crossScalaVersions.value.last ThisBuild / organization := "org.typelevel" @@ -30,7 +30,7 @@ lazy val baseSettings = Seq( "org.typelevel" %% "cats-laws" % catsVersion % Test, "org.typelevel" %% "discipline-core" % "1.1.5" % Test, "org.typelevel" %% "discipline-scalatest" % "2.1.5" % Test, - compilerPlugin(("org.typelevel" %% "kind-projector" % "0.13.0").cross(CrossVersion.full)) + compilerPlugin(("org.typelevel" %% "kind-projector" % "0.13.2").cross(CrossVersion.full)) ), resolvers += Resolver.sonatypeRepo("snapshots"), docMappingsApiDir := "api" @@ -43,7 +43,13 @@ lazy val root = project .enablePlugins(GhpagesPlugin, ScalaUnidocPlugin) .settings(allSettings) .settings( - (ScalaUnidoc / unidoc / unidocProjectFilter) := inAnyProject -- inProjects(benchmark, effect3), + (ScalaUnidoc / unidoc / unidocProjectFilter) := inAnyProject -- inProjects( + benchmark, + effect3, + `scalafix-input`, + `scalafix-output`, + `scalafix-tests` + ), addMappingsToSiteDir((ScalaUnidoc / packageDoc / mappings), docMappingsApiDir), git.remoteRepo := "git@github.com:typelevel/catbird.git", publish / skip := true @@ -57,7 +63,7 @@ lazy val root = project |import org.typelevel.catbird.util._ """.stripMargin ) - .aggregate(util, effect, effect3, finagle, benchmark) + .aggregate(util, effect, effect3, finagle, benchmark, `scalafix-rules`, `scalafix-tests`) .dependsOn(util, effect, finagle) lazy val util = project @@ -175,3 +181,44 @@ ThisBuild / githubWorkflowBuild := Seq( name = Some("Code coverage analysis") ) ) + +lazy val `scalafix-rules` = (project in file("scalafix/rules")).settings( + moduleName := "catbird-scalafix", + libraryDependencies ++= Seq( + "ch.epfl.scala" %% "scalafix-core" % _root_.scalafix.sbt.BuildInfo.scalafixVersion + ) +) + +lazy val `scalafix-input` = (project in file("scalafix/input")).settings( + publish / skip := true, + libraryDependencies ++= Seq( + "io.catbird" %% "catbird-util" % "21.8.0" + ), + scalacOptions ~= { _.filterNot(_ == "-Xfatal-warnings") }, + semanticdbEnabled := true, + semanticdbVersion := scalafixSemanticdb.revision +) + +lazy val `scalafix-output` = (project in file("scalafix/output")) + .settings( + githubWorkflowArtifactUpload := false, + publish / skip := true, + scalacOptions ~= { _.filterNot(_ == "-Xfatal-warnings") } + ) + .dependsOn(util) + +lazy val `scalafix-tests` = (project in file("scalafix/tests")) + .settings( + publish / skip := true, + libraryDependencies += { + import _root_.scalafix.sbt.BuildInfo.scalafixVersion + ("ch.epfl.scala" % "scalafix-testkit" % scalafixVersion % Test).cross(CrossVersion.full) + }, + scalafixTestkitOutputSourceDirectories := (`scalafix-output` / Compile / unmanagedSourceDirectories).value, + scalafixTestkitInputSourceDirectories := (`scalafix-input` / Compile / unmanagedSourceDirectories).value, + scalafixTestkitInputClasspath := (`scalafix-input` / Compile / fullClasspath).value, + scalafixTestkitInputScalacOptions := (`scalafix-input` / Compile / scalacOptions).value, + scalafixTestkitInputScalaVersion := (`scalafix-input` / Compile / scalaVersion).value + ) + .dependsOn(`scalafix-rules`) + .enablePlugins(ScalafixTestkitPlugin) diff --git a/project/plugins.sbt b/project/plugins.sbt index f72b040f..d2932833 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -9,3 +9,4 @@ addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.9.0") addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.4.3") addSbtPlugin("com.codecommit" % "sbt-github-actions" % "0.12.0") addSbtPlugin("io.github.davidgregory084" % "sbt-tpolecat" % "0.1.20") +addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.9.31") diff --git a/scalafix/input/src/main/scala/org/typelevel/catbird/scalafix/RenameIoCatbirdPackage.scala b/scalafix/input/src/main/scala/org/typelevel/catbird/scalafix/RenameIoCatbirdPackage.scala new file mode 100644 index 00000000..3c70e786 --- /dev/null +++ b/scalafix/input/src/main/scala/org/typelevel/catbird/scalafix/RenameIoCatbirdPackage.scala @@ -0,0 +1,16 @@ +/* rule=CatbirdPackageRename */ +package org.typelevel.catbird.scalafix + +import cats.MonadError +import com.twitter.util.{Await, Future} +import io.catbird.util._ + +object RenameIoCatbirdPackage { + def apply() + (implicit F: MonadError[Future, Throwable]): Future[Unit] = + F.raiseError[Unit](new NotImplementedError()) +} + +object Main { + Await.result(RenameIoCatbirdPackage()) +} diff --git a/scalafix/output/src/main/scala/org/typelevel/catbird/scalafix/RenameIoCatbirdPackage.scala b/scalafix/output/src/main/scala/org/typelevel/catbird/scalafix/RenameIoCatbirdPackage.scala new file mode 100644 index 00000000..bf622de8 --- /dev/null +++ b/scalafix/output/src/main/scala/org/typelevel/catbird/scalafix/RenameIoCatbirdPackage.scala @@ -0,0 +1,15 @@ +package org.typelevel.catbird.scalafix + +import cats.MonadError +import com.twitter.util.{Await, Future} +import org.typelevel.catbird.util._ + +object RenameIoCatbirdPackage { + def apply() + (implicit F: MonadError[Future, Throwable]): Future[Unit] = + F.raiseError[Unit](new NotImplementedError()) +} + +object Main { + Await.result(RenameIoCatbirdPackage()) +} diff --git a/scalafix/rules/src/main/resources/META-INF/services/scalafix.v1.Rule b/scalafix/rules/src/main/resources/META-INF/services/scalafix.v1.Rule new file mode 100644 index 00000000..01f3fcc2 --- /dev/null +++ b/scalafix/rules/src/main/resources/META-INF/services/scalafix.v1.Rule @@ -0,0 +1 @@ +org.typelevel.catbird.scalafix.CatbirdPackageRename diff --git a/scalafix/rules/src/main/scala/org/typelevel/catbird/scalafix/CatbirdPackageRename.scala b/scalafix/rules/src/main/scala/org/typelevel/catbird/scalafix/CatbirdPackageRename.scala new file mode 100644 index 00000000..4341a3c2 --- /dev/null +++ b/scalafix/rules/src/main/scala/org/typelevel/catbird/scalafix/CatbirdPackageRename.scala @@ -0,0 +1,8 @@ +package org.typelevel.catbird.scalafix + +import scalafix.v1._ + +class CatbirdPackageRename extends SemanticRule("CatbirdPackageRename") { + override def fix(implicit doc: SemanticDocument): Patch = + Patch.replaceSymbols("io.catbird" -> "org.typelevel.catbird") +} diff --git a/scalafix/tests/src/test/scala/org/typelevel/catbird/scalafix/RuleSuite.scala b/scalafix/tests/src/test/scala/org/typelevel/catbird/scalafix/RuleSuite.scala new file mode 100644 index 00000000..00ae6952 --- /dev/null +++ b/scalafix/tests/src/test/scala/org/typelevel/catbird/scalafix/RuleSuite.scala @@ -0,0 +1,8 @@ +package org.typelevel.catbird.scalafix + +import scalafix.testkit._ +import org.scalatest.FunSuiteLike + +class RuleSuite extends AbstractSemanticRuleSuite with FunSuiteLike { + runAllTests() +} From 67cbf3d604bd99e685c3a36b45055cc3005473bd Mon Sep 17 00:00:00 2001 From: Brian Holt Date: Wed, 6 Oct 2021 00:38:27 -0500 Subject: [PATCH 5/5] update README --- README.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 2584cd1f..c40fb007 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,8 @@ # catbird -[![Build status](https://img.shields.io/github/workflow/status/travisbrown/catbird/Continuous%20Integration.svg)](http://github.com/travisbrown/catbird/actions) -[![Coverage status](https://img.shields.io/codecov/c/github/travisbrown/catbird/master.svg)](https://codecov.io/github/travisbrown/catbird) -[![Maven Central](https://img.shields.io/maven-central/v/io.catbird/catbird-finagle_2.13.svg)](https://maven-badges.herokuapp.com/maven-central/io.catbird/catbird-finagle_2.13) - +[![Build status](https://img.shields.io/github/workflow/status/typelevel/catbird/Continuous%20Integration.svg)](http://github.com/typelevel/catbird/actions) +[![Coverage status](https://img.shields.io/codecov/c/github/typelevel/catbird/master.svg)](https://codecov.io/github/typelevel/catbird) +[![Maven Central](https://img.shields.io/maven-central/v/org.typelevel.catbird/catbird-finagle_2.13.svg)](https://maven-badges.herokuapp.com/maven-central/org.typelevel.catbird/catbird-finagle_2.13) This project provides [Cats](https://github.com/typelevel/cats) type class instances (and other useful Cats-related stuff) for various [Twitter Open Source](https://twitter.com/twitteross) Scala @@ -13,7 +12,7 @@ It currently includes the following: * Type class instances for `Future`, `Var`, and `Try` (including `Monad` or `MonadError`, `Semigroup`, and equality) * Category and profunctor instances for `Service` -* A `Rerunnable` type that wraps `Future` but provides semantics more like Scalaz's `Task` +* A `Rerunnable` type that wraps `Future` but provides semantics more like Cats Effect's `IO` These are reasonably well-tested (thanks to [Discipline](https://github.com/typelevel/discipline)).