Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Ben Hutchison
@benhutchison

Working on #37, I hit some blockers while running tests, eg

[error] Referring to non-existent class org.scalatest.FunSuiteRegistration
[error]   called from org.typelevel.discipline.scalatest.Discipline$$anonfun$checkAll$2.apply(scala.Tuple2)scala.Unit

I suspect its caused by Discipline 0.4 depending on an older version of Scalatest. I'd like to try upgrading to 0.5, but the build dependencies are completely sbt-catalyzed, and its difficult to figure whats going on when https://github.com/InTheNow/sbt-catalysts/ is off the air

Erik Osheim
@non
@benhutchison ah, yeah, i was afraid of that
Ben Hutchison
@benhutchison
@non Thats why I was asking about who's maintaining sbt-catalysts now over on typesafe/general. I prolly need a PR against it, and a new binary published, to complete my alleycats PR. Or even to get alleycats to build successfully now, I think..
Erik Osheim
@non
i'm not sure, but i think someone has a copy of sbt-catalysts -- i'll have to ask in typelevel/general and see
Ben Hutchison
@benhutchison

Arrgh, the walls are closing in. if Alleycats depends on Discipline 0.4 it hits the above error. But if it depends on 0.5 to freshen scalatest, it picks up scalacheck 1.13.x, which isnt compat with anything still on scalacheck 1.12.x, such as .. er cats, so get a different error.

On reflection, most of typelevel ecosystem sits atop scalacheck. If it breaks compat as at the 1.12 -> 1.13 boundary, thats a faultline that alot of the ecosystem needs to jump over in lockstep

One option is to issue a Discipline 0.4.1 release thats moves Scalatest up to 3.0.0-M15, afaict the last of the Scalacheck 1.12.x releases. The other option is take cats forward to 1.13
Ben Hutchison
@benhutchison
OK, I made a local 0.4.1 release of Discipline and made alleycats depend on it, and tests ran green :green_heart: . Finally feel like I understand the issue properly:
  • Discipline 0.4 was compiled against Scalatest 3.0.0-M7 and isnt binary compat with scalatest 3.0.0-M15
  • Other things in alleycats depend on 3.0.0-M15 because its the last scalatest using Scalacheck 1.12.x, causing eviction of 3.0.0-M7
  • Discipline 0.5 depends on Scalacheck 1.13.x and wont work
I'll send a PR on Discipline for a 0.4.1 release, if someone wants to publish that it would unblock alleycats development
Ben Hutchison
@benhutchison
Seems can't actually send a PR that creates a new branch, so typelevel/discipline#23
Miles Sabin
@milessabin
What would have to be updated to move straight to Discipline 0.5?
Ben Hutchison
@benhutchison
mainly Cats would need to be on scalacheck 1.13
Miles Sabin
@milessabin
It might be better to roll Cats forward.
Ben Hutchison
@benhutchison
I favor a 0.4.1 release because it "fixes" Discipline for all users of it with scalatest/scalacheck, rather than just alleycats. Rolling cats forward might resolve alleycats but it leaves Discipline 0.4 a bit broken for anyone else using it with that combo of libs
Erik Osheim
@non
unfortunately upgrading cats' scalacheck is somewhat blocked right now.
Miles Sabin
@milessabin
What's it blocked on?
Erik Osheim
@non
it's a bit complicated. the TL;DR is that the function generators (and cogen) have uncovered issues with scalacheck, particularly around shrinking and creating "impossible" generators.
Cody Allen
@ceedubs
I think rickynils/scalacheck#218 is an example of what can come of this
Miles Sabin
@milessabin
Hmm ... doesn't that mean that Discipline should roll back scalacheck too?
Erik Osheim
@non
yes, possibly.
i had hoped i would find some time to just fix the bug in scalacheck
but so far i haven't.
Ben Hutchison
@benhutchison
Scalatest moved to 1.13 after M15, so projects will naturally tend to pull it in
Miles Sabin
@milessabin
Is there enough information on the ticket for someone else to pick it up and get the fix in?
Ben Hutchison
@benhutchison
@larsrh issued a Discipline 0.4.1 release, now my Foldable[Iterable] PR is passing, despite what gitter shows in the righthand column
Ben Hutchison
@benhutchison

Have question about how alleycats modules are supposed to work..

  • Ive done a sbt> +publishLocal of 1.1.6 SNAPSHOT which publishes core & laws, but not tests
  • in my client project, Im using "org.typelevel" %% "alleycats" % "0.1.6-SNAPSHOT" as per README. But this pulls in the root project, which refs the unpublished tests project as a dependency . Hence [warn] :: org.typelevel#alleycats-tests_2.11;0.1.6-SNAPSHOT: not found

This problem ought to be happening for 1.1.5 in the wild as well. Why no complaints, is no one using alleycats yet?

Miles Sabin
@milessabin
Alleycats is used by Kittens.
It depends on "alleycats-core".
Ben Hutchison
@benhutchison
@non Just a reminder about a couple of PRs, #39 is hopefully non controversial fix, and from my perspective #38 is ready for merge also
Ben Hutchison
@benhutchison
Thanks for the 0.1.6 release @non :)
Erik Osheim
@non
you're welcome! sorry it was so late coming
Kai(luo) Wang
@kailuowang
@non I noticed that algebra is ready to release? I can help with updating alleycats to cats 0.7.0. if that works with your plan.
Erik Osheim
@non
sure! that would be great, thanks
Kai(luo) Wang
@kailuowang
@non the first step is to release a sbt-catalyst typelevel/sbt-catalysts#4
I faced a chicken and egg problem. please see the PR for detail.
Kai(luo) Wang
@kailuowang
here is the PR at alleycats side non/alleycats#42
Kai(luo) Wang
@kailuowang
#42 ready for review.
Kai(luo) Wang
@kailuowang
Now #42 is merged (thanks @non and @milessabin), is there anything else needed before the next release? BTW, if @non happen to want to use an extra release maintainer for alleycats I'd raise my hand. Several of my projects are dependent on kittens in production, and kittens depends on alleycats.
Erik Osheim
@non
@kailuowang that sounds great! i'll add you asap
Kai(luo) Wang
@kailuowang
thanks!
Erik Osheim
@non
invited you and the other newer cats maintainers to be alleycats maintainers also
Kai(luo) Wang
@kailuowang
Got it, thanks again
Kai(luo) Wang
@kailuowang
@/all How about I release 0.1.7 today?
Erik Osheim
@non
sounds good to me
Kai(luo) Wang
@kailuowang
releasing
released
Erik Osheim
@non
🎉
thanks @kailuowang!
Kai(luo) Wang
@kailuowang
@here anyone has time for non/alleycats#43
updated to cats 0.8.1