These are chat archives for sbt/sbt

18th
Feb 2016
Denis Mikhaylov
@notxcain
Feb 18 2016 13:22
Hi! How do I create an SBT task that runs docker:publish on multiple projects at once?
eugene yokota
@eed3si9n
Feb 18 2016 14:49
or (assuming the configuration is named Docker)
foo := {
  val x = (publish in Docker in util).value
  val y = (publish in Docker in core).value
}
Denis Mikhaylov
@notxcain
Feb 18 2016 15:00
Cool, thanks!
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 15:32
Hi. I want to call this Zinc compile method from my Java code. I need to construct LoggerReporter, but cannot find a way to pass maximumErrors: Int parameter value. I cannot create scala.Int variable, and cannot use Java int type too (always have Type mismatch: cannot convert from int to Int error message in Scala IDE). How can I do it?
eugene yokota
@eed3si9n
Feb 18 2016 15:58
@gslowikowski does it compile?
you can't always believe what IDEs tell you when it comes to Scala
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 16:00
No, it doesn't (just checked). The same error message.
eugene yokota
@eed3si9n
Feb 18 2016 16:01
how about java.lang.Integer?
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 16:03
cannot convert from Integer to Int
I've tried scala.runtime.RichInt, scala.Predef.Integer2intin different combinations, but with no success.
eugene yokota
@eed3si9n
Feb 18 2016 16:05
there's a section in PinS that talks about this - http://www.artima.com/pins1ed/scalas-hierarchy.html#sec:impl-primitives
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 16:05
I wonder if this class is not accessible for Java code like traits.
eugene yokota
@eed3si9n
Feb 18 2016 16:06
I am guessing that it's actually just a normal int, but the type information is scala.Int or something like that, so you might have to somehow cast it
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 16:07
Right, type info is scala.Int but in compiled code it's int so there is a conflict.
I should use int but type checking fails
Is Scala wrapper the only way to workaround this?
Perry
@pfn
Feb 18 2016 16:08
how can type checking fail if it's int in the bytecode
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 16:11
I don't know. I decompiled Zinc Compiler class, look at this compile method:
public Analysis compile(Inputs inputs, Option cwd, Logger log)
{
    int maxErrors = 100;
    return compile(inputs, cwd, ((Reporter) (new LoggerReporter(maxErrors, Logger$.MODULE$.xlog2Log(log), new Serializable() {

        public final Position apply(Position x)
        {
            return (Position)Predef$.MODULE$.identity(x);
        }

        public final volatile Object apply(Object v1)
        {
            return apply((Position)v1);
        }

        public static final long serialVersionUID = L;

    }
))), log);
}
maxErrors is just an int
eugene yokota
@eed3si9n
Feb 18 2016 16:11
idk. i thought "zinc" was that wrapper
is maxError currently hardcoded in zinc, and you want it exposed as a parameter?
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 16:14
I'm using Zinc in my Maven plugin. I want to add source position mappers functionality, so I need to construct my instance of LoggerReporter like here, but with my mapper instead of identity
Yes, it's hardcoded. I need to pass it if I want to pass source position mapper (side effect)
eugene yokota
@eed3si9n
Feb 18 2016 16:15
ok. if you want to do something fancy, you might need a Scala shim
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 16:15
I used this method before.
So, there is no way to use API containing scala.Intfrom Java?
eugene yokota
@eed3si9n
Feb 18 2016 16:18
i am no longer sure if it's Int that's the issue or it's actually the problem with Position => Position
you'd need a wrapper to construct that from Java, no?
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 16:19
Position => Position if scala.Function1<Position, Position> - can be implemented in Java.
"is", not "if"
eugene yokota
@eed3si9n
Feb 18 2016 16:19
ok. that's good to know
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 16:20
Thank you for your help. I will try to extend Zinc API and propose PR for next version.
eugene yokota
@eed3si9n
Feb 18 2016 16:20
maybe there's some weirdness because of the constructor?
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 16:21
What do you mean?
eugene yokota
@eed3si9n
Feb 18 2016 16:21
you're trying to construct LoggerReporter right?
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 16:21
I tried this too:
private static class TestLoggerReporter extends sbt.LoggerReporter
{
    TestLoggerReporter(int maximumErrors, Logger log, scala.Function1<Position, Position> sourcePositionMapper) {
        super(maximumErrors, log, sourcePositionMapper);
    }
}
with no luck, super does not compile
The constructor LoggerReporter(int, Logger, Function1<Position,Position>) is undefined
My int didn't became scala.Int :)
Perry
@pfn
Feb 18 2016 16:26
I don't see where you're getting scala.Int
its not in that ctor
Richard Gomes
@frgomes
Feb 18 2016 16:27
Is there a way to pull a maven plugin as a dependency? I'm trying to add resolvers like shown below. Any ideas?
resolvers ++=
  Seq(
    Resolver.url("trial 1", url("http://remote:8081/artifactory/plugins-release-local"))(Resolver.mavenStylePatterns),
    Resolver.url("trial 2") artifacts
       "http://remote:8081/artifactory/plugins-release-local/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" )
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 16:27
Perry
@pfn
Feb 18 2016 16:37
frgomes, maven plugins are just normal maven artifacts, no?
the first one you have should work, @frgomes
@gslowikowski, that's int
use javap and show your caller and error
Richard Gomes
@frgomes
Feb 18 2016 16:39
@pfn: they are just maven artifacts, but packaging maven-plugin, not jar.
@pfn: I found a thread in SO which apparently states that SBT is not able to understand maven plugins: http://stackoverflow.com/questions/5556408/use-maven-plugin-on-sbt
Perry
@pfn
Feb 18 2016 16:41
frgomes, use the artifacts modifier on ModuleID
eugene yokota
@eed3si9n
Feb 18 2016 16:41
you might need classpathTypes += "maven-plugin" too
if it's not a jar
Richard Gomes
@frgomes
Feb 18 2016 16:42
I will try. Thanks :)
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 16:42
This simple code does not compile:
        int foo = 100;
        scala.Int var = foo;
in Java
@frgomes why you need Maven plugin in SBT?
Richard Gomes
@frgomes
Feb 18 2016 16:46
It's just a jar which contains 2 entry points. One is employed by Maven and another one is intended for calling via command line (java -jar jarfile.jar arguments). The second entry point has classes which can be simply called from another class, allowing a SBT plugin to call the logic exposed by a Maven plugin. Yes... it's ugly... but it is the way it is :-(
eugene yokota
@eed3si9n
Feb 18 2016 16:49
@gslowikowski This works for me:
class Foo {
  void foo() {
    new sbt.LoggerReporter(1, null, null);
  }
}
so i think we can rule out scala.Int leaking out to Java world
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 16:55
@frgomes yes it's ugly, you have many unneeded Maven dependencies in your classpath
@eed3si9n , I've added new variant of the compile method in Zinc:
def compile(inputs: Inputs, cwd: Option[File], maxErrors: java.lang.Integer, sourcePositionMapper: xsbti.Position => xsbti.Position)(log: Logger): Analysis = {
compile(inputs, cwd, new LoggerReporter(maxErrors, log, sourcePositionMapper))(log)
}
Using java.lang.Integer seems to be the only way to convert from int to scala.Int. I cannot use int in Scala, but when using java.lang.Integer there is implicit conversion Integer2int and it compiles.
Richard Gomes
@frgomes
Feb 18 2016 16:58
@gslowikowski: I've modified the maven plugin so that its dependencies are all optional, except slf4j. I hope this reduces the polution in the classpath. I'm not sure if it will be really effective at this point.
eugene yokota
@eed3si9n
Feb 18 2016 16:58
what compiler are you using that can't do new sbt.LoggerReporter(1, null, null);?
is this Eclipse's own Java incremental compiler?
or Maven calling javac
Richard Gomes
@frgomes
Feb 18 2016 16:59
Seems like my sbt plugin now sees the code exposed by the maven plugin. Thanks to @eed3si9n, the line below did the trick:
classpathTypes += "maven-plugin"
Perry
@pfn
Feb 18 2016 17:00
@frgomes didn't need the artifacts modifier? neat
@gslowikowski this compiles fine for me as well
eugene yokota
@eed3si9n
Feb 18 2016 17:00
@frgomes ok do you mind updating the Stackoverflow for the future travelers?
Perry
@pfn
Feb 18 2016 17:00
[pfnguyen@galactica sl] $ cat build.sbt testlogger.java
sbtPlugin := true
import sbt.Logger;
import sbt.LoggerReporter;
import xsbti.Position;
import scala.Function1;
public class testlogger {
    public void makeLogger(int count, Logger logger, Function1<Position,Position> mapper) {
        new LoggerReporter(count, logger, mapper);
    }
}
[pfnguyen@galactica sl] $ sbt compile
[info] Loading global plugins from C:\Users\pfnguyen\.sbt\0.13\plugins
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[info] Set current project to sl (in build file:/C:/Users/pfnguyen/src/sl/)
[info] Compiling 1 Java source to C:\Users\pfnguyen\src\sl\target\scala-2.10\sbt-0.13\classes...
[success] Total time: 1 s, completed Feb 18, 2016 8:59:38 AM
Richard Gomes
@frgomes
Feb 18 2016 17:01
@pfn: No, it does not require anything additional to the ModuleID. IntelliJ does not like the code, but it compiles fine under SBT.
eugene yokota
@eed3si9n
Feb 18 2016 17:01
@frgomes I guess i can update my answer and you can accept it
Perry
@pfn
Feb 18 2016 17:01
yeah, intellij doesn't read the classpathTypes setting most likely
sbt-structure needs so much work :(
I don't have any time to contribute to it either
Richard Gomes
@frgomes
Feb 18 2016 17:02
@eed3si9n: sure :-) ... even for myself... I usually find my own answers years later!
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 17:02
wait a minute, you are right
Perry
@pfn
Feb 18 2016 17:04
of course :P
I wonder why nikolay obedin left jetbrains
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 17:05
Logger is a problem. I have xsbti.Logger and I need sbt.Logger
grrrrrh
Perry
@pfn
Feb 18 2016 17:06
@gslowikowski Logger.xlog2Log(xsbtiLogger)
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 17:06
yes
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 17:11
OK, everything works, thank you very much for help.
eugene yokota
@eed3si9n
Feb 18 2016 17:12
no problem
i hope you have fun using Maven :)
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 17:14
I'm implementing Maven plugins related to Scala and Play!, but I don't know Scala basics :)
Perry
@pfn
Feb 18 2016 17:15
why maven...
eugene yokota
@eed3si9n
Feb 18 2016 17:15
are you going to implement your own dev server and the plugin ecosystem?
Richard Gomes
@frgomes
Feb 18 2016 17:15
@eed3si9n : I was about to update it. Actually... I'm in doubt how it worked. I've cleaned my .m2 and .ivy2 in order to test everything again from scratch... and it does not work. Let me try again and I will report the full procedure. Seems to be more complicated than I thought.
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 17:17
@eed3si9n if you ask me - no, another ecosystem does not make sense
@pnf because a lot of people use Maven and I started from Play! 1.x Maven plugin. After Play! migration to Scala world, this was natural to implement a plugin for Play! 2.x
SBT is nice, but complicated like hell.
eugene yokota
@eed3si9n
Feb 18 2016 17:21
given that Play fully supports Java, Maven support I think would be nice, but I honestly don't know if it's realistic since so much of Play's experience is backed by interactive nature of sbt and the the plugin system
I'm sure many others have thought and discussed this topic previously
if you can get Maven to build a Play app on CI server that can be a win
what you need would be maven-sbt, not maven-scala tho
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 17:24
yes, I can
Perry
@pfn
Feb 18 2016 17:24
sbt isn't that complicated
everyone says that... but it really really isn't
it's the standard kneejerk reaction to the scala ecosystem
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 17:25
What you mean by "you need would be maven-sbt, not maven-scala"?
eugene yokota
@eed3si9n
Feb 18 2016 17:26
being able to compile Scala from Maven is not going to solve the issue of resolving plugin ordering etc
and whatever code generation and classfile manipulation Play might do
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 17:26
With Maven I read plugins documentations, with SBT I need to browse sources to find answers all the time
Perry
@pfn
Feb 18 2016 17:27
I rarely have to browse sources when using sbt plugins
extremely rarely--docs for plugins are all straightforward
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 17:27
SBT sources, not plugins
Perry
@pfn
Feb 18 2016 17:27
right, but what exactly are you doing
compare to what you would be doing in maven
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 17:27
I need SBT internals
Perry
@pfn
Feb 18 2016 17:27
if you were doing this in maven
you would need the internals as well
and thus read maven sources
you're comparing apples to oranges, "using maven plugins" vs. "making use of sbt internals"
eugene yokota
@eed3si9n
Feb 18 2016 17:29
both tools have pros and cons. Maven probably is easier for build users but there's a hump you have to cross to become a plugin author
Perry
@pfn
Feb 18 2016 17:29
I despise writing maven plugins
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 17:29
No exactly. Im working in scoverage project, implementing the same functionalities in both Maven and often SBT plugins.
eugene yokota
@eed3si9n
Feb 18 2016 17:29
with sbt, there is defintely a learning curve, but you become a plugin author if you understand how the build works
Perry
@pfn
Feb 18 2016 17:29
@eed3si9n well, Defaults isn't very clear without reading the source
that's admittedly true
Benjamin Darfler
@bdarfler
Feb 18 2016 17:30
@eed3si9n Looking again this AM and I think I must have been rushing yesterday, I'm not seeing the issue I thought I saw with the depdnencies
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 17:30
I'm not saying Maven is better. SBT is different. It's a challenge for someone coming from Maven world
eugene yokota
@eed3si9n
Feb 18 2016 17:30
@bdarfler so sbt is off the hook for now?
Perry
@pfn
Feb 18 2016 17:30
@eed3si9n for common scenarios, the learning curve is pretty shallow
Benjamin Darfler
@bdarfler
Feb 18 2016 17:31
for now ... ;-)
Perry
@pfn
Feb 18 2016 17:31
the hard part is, practically everyone who uses sbt wants to immediately jump into the "become a plugin author" phase
while everyone who uses maven says "fuck writing plugins, imma just drop shit in pom and if it don't work, find someone else to do it"
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 17:31
@pnf, Defaults.scala file is a place where I'm looking all the time.
Perry
@pfn
Feb 18 2016 17:32
@gslowikowski indeed, I agree that's something of a pain point
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 17:33
Not a pain anymore for me, but a lot of time passed before I realized it's such important class
Maybe this should be written somehow in the docs.
Perry
@pfn
Feb 18 2016 17:34
things I always find painful in sbt: configuration scoping--sbt gives no indicator that a setting you set will not be used
eugene yokota
@eed3si9n
Feb 18 2016 17:34
I did tell ppl to read Defaults.scala back when I wasn't a core dev - http://eed3si9n.com/sbt-010-guide
Perry
@pfn
Feb 18 2016 17:35
so it's always a clusterfuck of trial and error of "key in Foo" until it works, or digging in inspect until something comes up
it was a particular pain point for android-sdk-plugin, users kept omitting in Android
eugene yokota
@eed3si9n
Feb 18 2016 17:36
scoping is hard
it makes it even harder because there are two notations for scoping
{.}/*:foo
Perry
@pfn
Feb 18 2016 17:40
yes, it is very hard, and a big pitfall of sbt; I find pretty much all of sbt enjoyable except for scoping, namespacing and plugin autodiscovery
eugene yokota
@eed3si9n
Feb 18 2016 17:41
basically like riding bike down steep hills. it's going to be fun, but difficult at first.
you'll likely fall on the first day. second day you'll do better.
Grzegorz Slowikowski
@gslowikowski
Feb 18 2016 17:42
exactly
Perry
@pfn
Feb 18 2016 17:42
to me, they're the biggest problems, especially after working with sbt for ~4 years
well, autodiscovery of plugins isn't a huge issue, but it's something really convenient from maven that I wish sbt had
Richard Gomes
@frgomes
Feb 18 2016 17:42
@eed3si9n : The only difficulty I find in SBT (regardless not knowing several internal of it, obviously) is the fact that configurations do not inherit settings from the extended configuration, as the extends keyword suggests. Funny enough, "it works" in some case but "it does not work" in some other cases. Seems like it's a matter of who is the author of the plugin.
Perry
@pfn
Feb 18 2016 17:44
@frgomes indeed, config extends is a little weird, it doesn't copy settings, which is what you would expect
eugene yokota
@eed3si9n
Feb 18 2016 17:44
@frgomes yea. that's probably one of the most hairiest areas
Perry
@pfn
Feb 18 2016 17:44
it doesn't really work at all, at least from my understanding it doesn't...
eugene yokota
@eed3si9n
Feb 18 2016 17:45
it's basically for inheriting source code and classpath
Perry
@pfn
Feb 18 2016 17:45
if a plugin or core sbt understands that config scope, then it will apply settings for that
eugene yokota
@eed3si9n
Feb 18 2016 17:45
like Test having access to your Compile code
but ppl use it for all sorts of other purposes
Perry
@pfn
Feb 18 2016 17:45
otherwise, it just sits in limbo after extending
@eed3si9n indeed
Richard Gomes
@frgomes
Feb 18 2016 17:52
I've tried to use it for generating a fat-jar for one mainClass and generating a .zip packaging for deployment on Debian, using sbt-native-packager, for another mainClass. The obvious solution is spliting a module in two, refactoring, etc, etc... but our codebase is big, with 75 modules and a lot of mess in certain areas... so, I've tried the simple thing... or I thought should be an easy win.
Richard Gomes
@frgomes
Feb 18 2016 18:02
@eed3si9n :: In the end, that thing involving pulling the maven plugin didn't work. I still don't know what I did which pulled it from the maven repository to the ivy repository. I've tried several things and I cannot reproduce it. :-(
eugene yokota
@eed3si9n
Feb 18 2016 18:04
if all else fails there's from where you can point to a URL to download a jar
Perry
@pfn
Feb 18 2016 18:04
@frgomes artifacts("name", "name", "maven-plugin")
Perry
@pfn
Feb 18 2016 18:05
er, artifacts(Artifact("name", "maven-plugin", "maven-plugin"))
eugene yokota
@eed3si9n
Feb 18 2016 18:05
using artifacts is the right way. more on that here - http://www.scala-sbt.org/0.13/docs/Artifacts.html#Defining+custom+artifacts
Perry
@pfn
Feb 18 2016 18:05
then classpathTypes += "maven-plugin"
Richard Gomes
@frgomes
Feb 18 2016 18:06
thanks. I'm giving a try. (y)
Richard Gomes
@frgomes
Feb 18 2016 18:26
@eed3si9n : SBT downloaded the jar. Passing the URL is irresistable. Now I understand why I was not able to reprouce. The organization I'm using has a dot, like com.example. During the various tentatives I did before, I changed the ModuleID to "com/example" % artifact % revision (which is not really legal, afaik!) and after other tentatives changing other things it finally dowloaded the jar. Then I fixed the ModuleID cos com/example was actually wrong, thinking that the reason for SBT downloading the file was my last change, and not the fact that I cheated the ModuleID.
@eed3si9n :: So the, solution for the SO question is: tell SBT what the URL is!
Perry
@pfn
Feb 18 2016 18:31
?
so fix the moduleID, and use artifacts + classpathTypes
Perry
@pfn
Feb 18 2016 18:31
seems like the correct solution, rather than specifying the url
rather, libraryDependencies += "org" % "art" % "version" classifiers("maven-plugin")
pfn @pfn shrugs
Perry
@pfn
Feb 18 2016 18:35
hmm, guess it's not a classifier
but that should work automatically
I just tested a random maven plugin, and it downloaded just fine using libraryDependencies += "org" % "art" % "ver"
oh, but it's in artifactory...
pfn @pfn shrugs
Richard Gomes
@frgomes
Feb 18 2016 18:37
@pfn :: My answer in SO is not fully complete yet. Despite SBT downloads the jar, apparently it is not in the classpath. I'm investigating.
@pfn: no... not a classifier. I've tried Artifact(...) too with different parameters (after having a look at SBT sources), but without luck.
Perry
@pfn
Feb 18 2016 18:38
but artifacts(Artifact("myartifact", "maven-plugin", "jar")) seems most appropriate here
and classpathTypes may be necessary
Richard Gomes
@frgomes
Feb 18 2016 18:52
@pfn: Let me try that. Meanwhile, I've updated my answer at
http://stackoverflow.com/questions/5556408/use-maven-plugin-on-sbt/35489610#35489610
Richard Gomes
@frgomes
Feb 18 2016 18:59
@pfn: apparently it does not work. Let me try to change the organization. I think that it is trying to access com.example/myartifact/revision/... instead of com/example/myartifact/revision/...
Perry
@pfn
Feb 18 2016 19:00
you should be pasting logs...
Richard Gomes
@frgomes
Feb 18 2016 19:07
@pfn: No... apparently changing the organization from com.example to only `example`` does not make any difference.
Perry
@pfn
Feb 18 2016 19:08
what exactly is the error
Richard Gomes
@frgomes
Feb 18 2016 19:08
@pfn: yeah!... I should report this somehow... but I'm so tired of another unproductive day struggling against SBT... which means that I will stick to what works and turn the page.
@pfn: I do a reload and it cannot resolve the dependency, since the .jar file is not found remotely.
Perry
@pfn
Feb 18 2016 19:09
and what is the error
it tells you what it searched
Richard Gomes
@frgomes
Feb 18 2016 19:14
@pfn; Unresolved dependencies. If I specify Resolver.mavenStylePatterns it does not seem to try to access the repository. Using log-level INFO it says it will try my Artifactory but it does not display the URL it is trying. If I specify Resolver.ivyStylePatterns, it displays the URL it is trying... which is not going to work obviously, since it is not an Ivy repo.
@pfn:: I think that I't necessary to turn debug on and see what is going on. But I'm not going to do it. I'm taking tooo long to complete this task due to difficulties with SBT... and I'm very tired today.
@pfn: I'm learning a lot... true... but I have work to deliver. And I need to finish this thing tomorrow.
@pfn: Maybe I create a simple test project and I open an issue for it. But not today or tomorrow.
Perry
@pfn
Feb 18 2016 19:19
last update
this sounds like a simple misconfiguration
since I just pulled down some maven plugins without a problem...
(ie, any plugin published on central)
Richard Gomes
@frgomes
Feb 18 2016 19:28
@pfn: maybe... but in this case it's not anything apparent. I need to generate debug logs and find what is going on. But, as I said, I have to go ahead, otherwise I will not deliver this product by COB tomorrow.
Richard Gomes
@frgomes
Feb 18 2016 19:44
@pfn: Thanks a lot for your help! I will inform when I find more information. Cheers :-)
Greg Symons
@gregsymons
Feb 18 2016 20:51
In an sbt launcher app, is there an easy way to get access to the update report?
Perry
@pfn
Feb 18 2016 20:51
wut
Greg Symons
@gregsymons
Feb 18 2016 20:55
Update report might not be exactly what I want; I want to have access to the resolved module ids so that I can verify that they are exactly the same as what I built against (i.e. ivy didn't fall back to resolving anything against a version matcher instead of an exact version).
Joe Arasin
@joearasin
Feb 18 2016 22:20
Is there a current lib of choice to pull deps from s3?
som-snytt
@som-snytt
Feb 18 2016 23:20
This is not entirely sbt-specific, but I started using sbt on recentish Cygwin x86_64 under windows 7. The weird behavior is that input is slow, pausing five seconds after CR. Has anyone seen this?
Perry
@pfn
Feb 18 2016 23:22
I use msys, haven't seen such a thing
som-snytt
@som-snytt
Feb 18 2016 23:22
A question might be: does sbt do anything on empty line? Also, this is in the cygwin console.
Currently I only ~ test, which works great, so thanks for sbt.
Perry
@pfn
Feb 18 2016 23:25
Probably cygwin console doing something
som-snytt
@som-snytt
Feb 18 2016 23:27
I suspected a weird jline interaction, but recent scala is normal. Or normalish. There's a problem with terminal width.
Perry
@pfn
Feb 18 2016 23:27
I've always had a problem with terminal width in shell
som-snytt
@som-snytt
Feb 18 2016 23:28
I'll keep you posted if I gather more info. Thx.