These are chat archives for sbt/sbt

1st
Apr 2016
Simon Hafner
@reactormonk
Apr 01 2016 12:14
Any documentation on how the whole scoping of keys works exactly? I assume projects are orthogonal to other keys? How do the other keys work? e.g. test:console
Simon Hafner
@reactormonk
Apr 01 2016 12:34
Is there a way to affect multiple settings with a single task?
Dale Wijnand
@dwijnand
Apr 01 2016 12:35
affect?
Simon Hafner
@reactormonk
Apr 01 2016 12:52
your usual task just outputs stuff for a single key - e.g. generates a list of files. Now I can store that output as a key/setting. Any way to output multiple things and store each one as a key?
Dale Wijnand
@dwijnand
Apr 01 2016 13:01
You can store a case class, then wire keys to pull things out of that case class
I'd recommend a case class over a tuple
Simon Hafner
@reactormonk
Apr 01 2016 13:02
Ah, nice, didn't think of that.
Perry
@pfn
Apr 01 2016 16:16
@eed3si9n so, what's the migration path for android.GradleBuild and android.AutoBuild? :(
Perry
@pfn
Apr 01 2016 16:47
re #2524
eugene yokota
@eed3si9n
Apr 01 2016 19:17
@pfn I don't know what feature you're using in GradleBuild that requires extendsing Build
Perry
@pfn
Apr 01 2016 19:17
override def projects @eed3si9n
oh, wait
pfn @pfn ponders
Perry
@pfn
Apr 01 2016 19:18
This message was deleted
actually, it's the fact that it generates build.sbt; but if I can do that as any arbitrary singleton in a file.scala that would be fine
but I don't think that's possible with Build deprecated
there's no singleton object that will be invoked
eugene yokota
@eed3si9n
Apr 01 2016 19:21
are you generating build.sbt, or are you generating ProjectRef on the fly?
Perry
@pfn
Apr 01 2016 19:22
generating build.sbt in the case of GradleBuild
eugene yokota
@eed3si9n
Apr 01 2016 19:22
so an auto plugin can be used there?
Dale Wijnand
@dwijnand
Apr 01 2016 20:13
Would be very cool to have an sbt plugin that did https://github.com/spotify/missinglink
OlegYch
@OlegYch
Apr 01 2016 20:52
this won't be much help for scala
btw didn't typesafe have a bytecode rewriting tool to fix some bin compat issues?
Dale Wijnand
@dwijnand
Apr 01 2016 21:04
Do you mean that library? Because I only meant what it does. It would be really helpful for Scala.
Sam Halliday
@fommil
Apr 01 2016 21:38
@dwijnand :+1: that would be awesome, I'm always really nervous when picking one lib over another. The scala binary change detector may be handy as a backend, but I guess irrelevant if the tool knows the exact classes / methods being called
Dale Wijnand
@dwijnand
Apr 01 2016 21:45
If I'm not mistaken, this is essentially doing the verifying that normally happens in a linker step
Sam Halliday
@fommil
Apr 01 2016 21:51
very very useful
OlegYch
@OlegYch
Apr 01 2016 22:50
ImmutableMap.Builder<String, PrimitiveTypeDescriptor> bob = ImmutableMap.builder(); %)
if (descriptor == null) {
}
  return null;
return descriptor;
java is so fun sometimes
seems easy to hook that lib to sbt
but i'd bet traits encoding would make it mostly useless
doesn't mima does the same kind of bytecode inspection?
Dale Wijnand
@dwijnand
Apr 01 2016 22:56
Mima just does declaration signatures though
not checking all the call-sites
I'm sure it'll have lots of bytecode inspecting code to use though.
I don't see how trait encoding could do anything.. it's bytecode that runs on the JVM, all it needs to do is early try to linked them at build time, rather than "lazily" as the code is evaluating at runtime
OlegYch
@OlegYch
Apr 01 2016 23:04
eg if you use method a in a trait and a new method b is introduced which is used in a, that'd be a problem
right? and this happens all the time in scala..
i mean there are a lot more bin compat issues in scala than in java, so that kind of analysis would almost always show problems
Dale Wijnand
@dwijnand
Apr 01 2016 23:08
Sounds like you're talking about MiMa already does.
I'm talking about: ok we have this class path, given this entry point, traverse the entire call-site graph and verify all the links
OlegYch
@OlegYch
Apr 01 2016 23:15
well, will be interesting to see how it performs
OlegYch
@OlegYch
Apr 01 2016 23:21
i might try to run it on my project to see if i can move from shapeless 2.2 to 2.3