Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jun 22 2015 11:10
    japgolly commented #2066
  • Jun 22 2015 08:25
    keepscoding commented #2044
  • Jun 21 2015 03:24
    xerial commented #157
  • Jun 21 2015 00:10
    eed3si9n unlabeled #2057
  • Jun 21 2015 00:10

    eed3si9n on 0.13

    Adds bundledLauncherProj to all… Remove launcher tests Add unit tests to Travis and 3 more (compare)

  • Jun 21 2015 00:10
    eed3si9n closed #2057
  • Jun 21 2015 00:10

    eed3si9n on fixbuild

    (compare)

  • Jun 20 2015 18:42
    eed3si9n synchronize #2057
  • Jun 20 2015 18:42

    eed3si9n on fixbuild

    Fix typo (compare)

  • Jun 20 2015 18:23

    eed3si9n on fixbuild

    Adds bundledLauncherProj to all… Remove launcher tests Add unit tests to Travis and 1 more (compare)

  • Jun 20 2015 18:23
    eed3si9n synchronize #2057
  • Jun 20 2015 14:59

    eed3si9n on scalaversionbump

    (compare)

  • Jun 20 2015 14:59

    eed3si9n on 0.13

    Bumping up Scala version to 2.1… Try to keep bincompat Fixes #1666 and 1 more (compare)

  • Jun 20 2015 14:59
    eed3si9n unlabeled #2068
  • Jun 20 2015 14:59
    eed3si9n closed #2068
  • Jun 20 2015 14:59
    eed3si9n closed #1666
  • Jun 20 2015 14:57
    eed3si9n commented #2068
  • Jun 20 2015 12:55
    dwijnand commented #2068
  • Jun 20 2015 04:51
    eed3si9n synchronize #2068
  • Jun 20 2015 04:51

    eed3si9n on scalaversionbump

    Fixes #1666 (compare)

Sukant Hajra
@shajra
Okay. On one hand, I think SBT is actually the best build tool I've ever used. On the other hand, I still do not enjoy using it.
eugene yokota
@eed3si9n
for the most part we try to be applicative, but once in a while monad (flatMap) slips in
all the side effects are in Task and they run in parallel by default
plus it has imperative looking DSL that ppl can live with
it's a dream come true fanfic of a build tool
Sukant Hajra
@shajra
@eed3si9n okay I made a small game yesterday of actually understanding how SBT works for some of our settings, and I'm almost there. Along the way, I learned about This and derive and was reminded about dynamic tasks, and how all that relates to normal delegation -- the while looking through the keyhole of inspect calls...
Jorge
@jvican
@eed3si9n Do you remember an improvement that you made to either .evaluated or .taskValue to make it easier to use in the past two months?
ah, here it is: sbt/sbt#2943
Sukant Hajra
@shajra
so my last remaining question is to understand the order of execution of my plugin, with Wartremover, with the normal SBT default stuff.
I'm setting the scalacOptions in the globalSettings of an autoPlugin. Order matters for other thing messing with scalacOptions, right?
I believe SBT is setting scalacOptions for both the Compile and Test configurations at the project level.
I'm guessing SBT is doing this after my globalSettings, because my options are being picked up.
Sukant Hajra
@shajra
but that doesn't jive with my world view of how these things are ordered.
eugene yokota
@eed3si9n
basically avoid using global settings for built-in keys
and also make sure you have override def requires = plugins.JvmPlugin
so your stuff comes after sbt's default settings (which themselves are also auto plugins)
Sukant Hajra
@shajra
@eed3si9n is there a way to inspect the order that plugins are loaded.
I think I'm getting away with this because I'm not specifying the requirement of the JvmPlugin, and it's running after me, and not before.
which I'm inclined to correct if that's the case.
eugene yokota
@eed3si9n
there's sbt --debug output, but the order really depends on each user's environment
if the auto plugin doesn't declare dependency it would be placed randomly
Sukant Hajra
@shajra
psuedo-randomly, I hope.
eugene yokota
@eed3si9n
which is an oddity we will correct in sbt 1.0
Sukant Hajra
@shajra
there's no way to specify constraints more richly than just requires, right? It seems like there's a whole set of constraints like "before" and "after", in addition to just "requires", which implies "after".
eugene yokota
@eed3si9n
just requires and auto triggering
Sukant Hajra
@shajra
and the JvmPlugin is what's setting scalacOptions for sure?
eugene yokota
@eed3si9n
yea
and it should go at the project-level
so doing anything at the buildSettings or globalSettings won't work
Sukant Hajra
@shajra
that's weird, because somehow, I am, and it has been "working"
I'm going to try to figure out how/why.
Adelbert Chang
@adelbertc
@eed3si9n you the man
Sukant Hajra
@shajra
@eed3si9n okay, this puzzle persists. In my plugin, I'm definitely both 1) declaring requires on JvmPlugin and 2) doing a "scalacOptions ++=" in globalSettings.
but somehow my global settings of scalacOptions are making their way all the way up to project/compile:compile::scalacOptions
I'm close to saying "it works, forget about it." but I'll hunt further if anyone has ideas. Once bitten by curiosity, I like to see these things through.
Adelbert Chang
@adelbertc
is there a way to get the cross-module dependencies in a multiproject? e.g. for something like val foo = project.in(file(...)).dependsOn(bar, quux), i am trying to write a Task that when in foo gives bar and quux. i've chased it down to using the thisProject key which gives me http://www.scala-sbt.org/0.13.15/api/index.html#sbt.ResolvedProject on which i can call dependencies but the information given in a ProjectRef is not enough to reconstruct the actual sbt project ref
Adelbert Chang
@adelbertc
nvm i found it
i think
no i didnt i lied
eugene yokota
@eed3si9n
you likely have to go get BuildStructure from Extracted, which you can get from state.value, but it's internal, and i'm not making any promises there
Adelbert Chang
@adelbertc
i like the disclaimer :)
@eed3si9n ah ok so maybe i just need to be able to get a list of all projects in the build - do I still need to use BuildStructure to get that information?
i'm basically trying to find the transitive closure of source dependencies using sbt-dependency-graph. i have the graph for a given project, now i just need to prune out the source dependencies which i can do if i have all projects in the build by just filtering
eugene yokota
@eed3si9n
i have to go soon, but you could try hacking around basedon this imple - https://github.com/sbt/sbt/issues/3030#issuecomment-295828118
Adelbert Chang
@adelbertc
hm interesting
will take a look, thanks!
Nathan Canning
@ncanning
quick question: is there a way to include library dependencies only for development, similar to ruby's bundler groups?
Sukant Hajra
@shajra
hmm... what is the difference between :== and :=?
Sukant Hajra
@shajra
I'm in the middle of a private[sbt] macro definition now. This is hard to figure out.