!oXgwMHWllugcPDSKTb:matrix.org

sbt

2090 Members
Scala Build Tool5 Servers

Load older messages


SenderMessageTime
11 May 2024
@_discord_734849617820254331:t2bot.iovelvetbaldmime#6377 Scalac I think, 47degrees (Xebia), Ziverge

I believe VirtusLab have the most relevant experience with this, as I remember them optimising SBT build for a huge customer
08:09:35
@_discord_996744440322469900:t2bot.ioanemish Isn't Eugene working on Netflix? Wouldn't they like to speed-up sbt as well? 12:04:30
@_discord_734849617820254331:t2bot.iovelvetbaldmime#6377 Eugene is working on Bazel at Netflix 12:05:08
@_discord_691992332245008424:t2bot.ioigor.ramazanov Just to double-check - you are aware of running sbt as a daemon and ability to reload it without killing the process and also of bloop?

I just too often saw people runnin, sbt compile and then saying that it's slow.

There're options to make the setup faster, but unfortunately:
- there are many different ways of importing a project
- it's difficult to expect developers to know them, especially comparing to other ecosystems, where, let's say, there's just 1 static binary to call with embedded LSP server
12:07:11
@_discord_691992332245008424:t2bot.ioigor.ramazanov * Just to double-check - you are aware of running sbt as a daemon and ability to reload it without killing the process and also of bloop?

I just too often saw people running sbt compile and then saying that it's slow.

There're options to make the setup faster, but unfortunately:
- there are many different ways of importing a project
- it's difficult to expect developers to know them, especially comparing to other ecosystems, where, let's say, there's just 1 static binary to call with embedded LSP server
12:07:24
@_discord_691992332245008424:t2bot.ioigor.ramazanov + also peculiarities of JetBrains tools (their own implementation of typechecker, e.g. if I'm not mistaken and not relying on LSP, because it doesn't provide them all they need for better UX) 12:08:59
@_discord_691992332245008424:t2bot.ioigor.ramazanov bloop is fast and shares the process between the projects, so it's cool

A few drawbacks are that you can only use it for compiling, running and running tests, but not, let's say, building a Docker image.

And also (at least in the past, maybe it's fixed already) sbt's plugin bloopInstall couldn't see Runtime libraries
12:12:26
@_discord_691992332245008424:t2bot.ioigor.ramazanov In IntelliJ it's possible to switch away from the custom typechecker to the one from a build tool - sometimes useful 12:13:12
@_discord_996744440322469900:t2bot.ioanemish yeah, I know this. Again. It's been 20 years of Scala. And still we have all that slow, barely working mess. Rust has it working out of the box. Sigh 12:14:23
@_discord_996744440322469900:t2bot.ioanemish It's like a curse, same that Haskell has 12:14:51
@_discord_691992332245008424:t2bot.ioigor.ramazanov Maybe one day we'll get there 🥲 12:15:52
@_discord_996744440322469900:t2bot.ioanemish I've been waiting for 15 years 12:16:10
@_discord_154558903290560512:t2bot.ioJD557#8432 maybe things have changed in the meantime, but I find the comparison with Rust kind of weird... isn´t Rust compiation (in release mode) still super slow (which is the whole reason for cargo check)?

I'm not saying Scala compilation is fast (I wish it was as fast as Java's), I just don't think Rust is the best point of comparison 😅
12:17:46
@_discord_996744440322469900:t2bot.ioanemish it's not about compilationspeed, it's about their build tool and dev-ex 12:18:38
@_discord_691992332245008424:t2bot.ioigor.ramazanov Rust uses source dependencies (yeah?), so yeah.

Another complain is that it has somewhat unintuitive system with editions/rustup/targets/etc. Grokkable, of course, but still not very intuitive, I think
12:19:43
@_discord_691992332245008424:t2bot.ioigor.ramazanov There also Bleep/Pants/Bazel, albeit somewhat niche 12:21:00
@_discord_996744440322469900:t2bot.ioanemish https://tenor.com/view/please-no-michael-scott-the-office-no-god-please-no-steve-carell-gif-3532257 12:21:40
@_discord_691992332245008424:t2bot.ioigor.ramazanov I agree with Anton that - the best way would be just hiring someone fulltime or asking for some paid-time work on open-source tools at our jobs. There was so much progress on Scala Native after Wojciech joined the project 12:26:32
@_discord_691992332245008424:t2bot.ioigor.ramazanov I mean it's all free tools people working mostly in their free time 12:31:36
@_discord_825046170799046687:t2bot.ioroti7342 joined the room.17:07:15
12 May 2024
@_discord_815300059251081237:t2bot.iohkateu joined the room.06:04:05
@_discord_815300059251081237:t2bot.iohkateu Hi everyone, how do I supress full type information in sbt console.
Here's what am getting when working with Refined.
val age: eu.timepit.refined.api.Refined[Int,eu.timepit.refined.numeric.Positive] = 20
06:04:06
@_discord_815300059251081237:t2bot.iohkateu changed their profile picture.06:04:06
@_discord_815300059251081237:t2bot.iohkateu What I want is 'val age: Refined[Int, Positive] = 20 06:05:00
@_discord_815300059251081237:t2bot.iohkateu * What I want is 'val age: Refined[Int, Positive] = 20' 06:05:14
@_discord_815300059251081237:t2bot.iohkateu * What I want is val age: Refined[Int, Positive] = 20 06:05:50
@_discord_510415959480336393:t2bot.ioPotatoe[F[_]] Good daytime! How can I add libraries from jar files in SBT? 09:51:40
@_discord_154558903290560512:t2bot.ioJD557#8432 It's been a while since I did that, but from a quick look at the documentation (https://www.scala-sbt.org/release/docs/Library-Dependencies.html) I think you can just add them to the lib directory 10:52:17
@_discord_583167330566275072:t2bot.ioSethTisue#7418 sbt isn't playing a significant role here. it's just launching the stock REPL for you. you'd get the same result regardless of how you launched the REPL

and I'm afraid this behavior of the REPL isn't configurable, to my knowledge
15:53:48
13 May 2024
@98765abc:mozilla.org@98765abc:mozilla.org joined the room.03:52:35

Show newer messages


Back to Room ListRoom Version: 9