Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jan 16 17:53
    blast-hardcheese closed #1325
  • Jan 16 10:54
    zeal18 commented #1342
  • Jan 15 18:08

    blast-hardcheese on master

    Update slf4j-simple to 1.7.33 Merge pull request #1376 from sā€¦ (compare)

  • Jan 15 18:08
    blast-hardcheese closed #1376
  • Jan 15 08:43
    codecov[bot] commented #1376
  • Jan 15 08:42
    codecov[bot] commented #1376
  • Jan 15 08:42
    codecov[bot] commented #1376
  • Jan 15 08:42
    codecov[bot] commented #1376
  • Jan 15 08:42
    codecov[bot] commented #1376
  • Jan 15 08:42
    codecov[bot] commented #1376
  • Jan 15 08:41
    codecov[bot] commented #1376
  • Jan 15 08:41
    codecov[bot] commented #1376
  • Jan 15 08:27
    blast-hardcheese synchronize #1325
  • Jan 15 08:26
    blast-hardcheese closed #1355
  • Jan 15 08:25
    codecov[bot] commented #1376
  • Jan 15 08:25
    codecov[bot] commented #1376
  • Jan 15 08:25
    blast-hardcheese synchronize #1376
  • Jan 15 08:24
    blast-hardcheese synchronize #1375
  • Jan 15 07:44
    blast-hardcheese closed #1373
  • Jan 15 07:44

    blast-hardcheese on master

    Update sbt-scoverage to 1.9.3 Merge pull request #1373 from sā€¦ (compare)

blast_hardcheese
@blast_hardcheese:matrix.org
[m]
certainly. I can't look at this right now, as my time is allocated towards the modularization proposal, ramping up to the 1.x release, but if you want to test swapping that -Xlint:-unused,_ for -Wconf:src:..., that would be a step in the right direction
Shanan Sussman
@myfancypants
might have to come back to that, looks like it was added in 2.13, might need to just get the system to build + bake, before i take the step of upgrading scala versions. The changes are already including bumping from java 8 to 11
blast_hardcheese
@blast_hardcheese:matrix.org
[m]
oh, please disregard then, I didn't realize it was so new
it may not end up being worth it at all anyway, as a lot of warnings were removed in dotty (much to my displeasure)
it'll be interesting to see how things shake out as people start moving production systems to dotty
Shanan Sussman
@myfancypants
is dotty the same as 3.0 or a different fork of scala? I can never remember
blast_hardcheese
@blast_hardcheese:matrix.org
[m]
Yeah, dotty became 3.0
I should start just saying 3.0
Shanan Sussman
@myfancypants
:pewpew:
blast_hardcheese
@blast_hardcheese:matrix.org
[m]
There are only two other forks of Scala I know of, the typelevel fork as well as a paid super optimized one with some kind of other really cool features
the fragmentation all comes from how many different major/minor revisions people are using šŸ˜•
blast_hardcheese
@blast_hardcheese:matrix.org
[m]
kelnos: Barring any major objections to guardrail-dev/guardrail#1197 I think I'll merge as-is -- I was thinking it would make sense to also re-package definitions and modules and whatnot, but that'll be a real PITA for folks who maintain their own forks of guardrail to do all at once.
Once that's in, I'll cut some smaller PRs to move individual classes to raise visibility and make each individual changeset tractable, instead of doing 52 card pickup with the package structure.
The nice thing about wrapping this splitout up with guardrail_${scala.binary.version} artifact as root is that it's a no-op for the build tools at the moment, we can gradually implement the tooling improvements when there's time
once all the pieces are in place, I think the last big thing is to remove the tracing stuff, as akka-http, http4s, dropwizard, and spring-mvc all have a better way of doing that, either by mapRoute or by mapping over the entire server itself, and for the Java servers my understanding is there's deep introspection modules that can be registered to provide the route-level tracing required
blast_hardcheese
@blast_hardcheese:matrix.org
[m]
if I'm wrong about that I'm happy to revise, but I don't believe the tracing stuff has ever been broadly consumable other than the bespoke stuff in Twilio's scala-service overrides.
blast_hardcheese
@blast_hardcheese:matrix.org
[m]
also, hah, it has been a while since trying to use metals from vim
kelnos
@kelnos:matrix.org
[m]
blast_hardcheese: fine by me, probably won't have time to look into it in any detail all that soon
blast_hardcheese
@blast_hardcheese:matrix.org
[m]
Understood, just wanted to make sure you were broadly OK with the direction
kelnos
@kelnos:matrix.org
[m]
agree on the tracing stuff, i think it probably should have been out of scope for guardrail in the beginning, but yeah, was mostly there for the twilio bits (that we don't use anymore anyway)
might want to write up a migration guide, though, in case anyone's using it
blast_hardcheese
@blast_hardcheese:matrix.org
[m]
Yeah, as well as a class/package remapping list as things progress in that direction.
The splitout kind of lends itself towards moving stuff like ClientGenerator and ServerGenerator over in dev.guardrail.generators next to ProtocolGenerator, as well as to clean up all the cross-references between those things (like how akka-http uses the response generators from http4s)
kelnos
@kelnos:matrix.org
[m]
i think i would go for something like dev.guardrail.generators.{protocol, server, client} with perhaps also a helpers package
blast_hardcheese
@blast_hardcheese:matrix.org
[m]
What do you think about guardrail-core being reflected in dev.guardrail.core.{...}?
or would dev.guardrail.{...} be the de-facto core?
kelnos
@kelnos:matrix.org
[m]
hrm, i don't think i see the need for a core package, but i'm not really against it either
blast_hardcheese
@blast_hardcheese:matrix.org
[m]
yeah, that's where I am. We already have some dev.guardrail.core package members
so it's a weird position to be in.
I'll sort it though, no worries.
kelnos
@kelnos:matrix.org
[m]
blast_hardcheese: regarding my PR comment about the slf4j-simple good. what do you think about separating out the CLI into its own module (which can then depend on sfl4j-simple)?
s/good/goo/
blast_hardcheese
@blast_hardcheese:matrix.org
[m]
Wrestling with that now, actually, as part of the repackaging effort
kelnos
@kelnos:matrix.org
[m]
kk
blast_hardcheese
@blast_hardcheese:matrix.org
[m]
I'll keep that as an option. I like it because it means the build tools don't need to contend with the CLI at all, as far as name collisions or anything
the downside is that the gradle plugin "uses" guardrail by just constructing CLI args and running the CLI directly šŸ„“
kelnos
@kelnos:matrix.org
[m]
doh ā˜¹ļø i guess that should be fixed too
(or in the meantime the gradle plugin can just depend on the cli artifact)
blast_hardcheese
@blast_hardcheese:matrix.org
[m]
yeah
I really like the fact that coursier is able to just dynamically link and emit a standalone CLI artifact, btw. No need to publish the assembly like I used to do
kelnos
@kelnos:matrix.org
[m]
yeah, that's really cool
blast_hardcheese
@blast_hardcheese:matrix.org
[m]
OK, here's #2. I split out and cleaned up the backreferences between the CLI runners, so now extending CLICommon is much more clean. Previously it was a mess because parseArgs was incorrectly part of CoreTerms, so we had a circular reference thing that mucked everything up. guardrail-dev/guardrail#1213
Also waffling about whether to merge ProtocolGenerators into one big interface instead of this somewhat split out mess, especially since we have useful copy methods.
Probably do that in a later PR if that does happen.
kelnos
@kelnos:matrix.org
[m]
blast_hardcheese: gave it a quick skim, looks good
blast_hardcheese
@blast_hardcheese:matrix.org
[m]
kelnos appreciated
Nick Hudkins
@nickhudkins
@blast_hardcheese:matrix.org you still at Twilio and if so are y'all still actively using guardrail?
blast_hardcheese
@blast_hardcheese:matrix.org
[m]
@nickhudkins: I'm not at Twilio anymore, but yes, they're still actively using it. A number of others in this channel do work at Twilio, though
blast_hardcheese
@blast_hardcheese:matrix.org
[m]
@sideeffffect šŸ‘‹ Thanks for your work on this upgrade! Once this is in I'll cut a release with your change as well as the http4s body validation failure stuff, likely later today Pacific US time