These are chat archives for sbt/sbt

Mar 2016
Mar 23 2016 05:19
@eed3si9n any thoughts on the discussion in scala/scala?
Adelbert Chang
Mar 23 2016 05:23
so i'm cloning typelevel/discipline and non/algebra locally, bumping the ScalaTest and ScalaCheck versions, doing a publishLocal (JVM only) and then going to my local Cats clone and bumping all of the above
but im getting
[warn]     ::::::::::::::::::::::::::::::::::::::::::::::
[warn]     ::          UNRESOLVED DEPENDENCIES         ::
[warn]     ::::::::::::::::::::::::::::::::::::::::::::::
[warn]     :: org.typelevel#discipline_2.11;0.5-SNAPSHOT: configuration not found in org.typelevel#discipline_2.11;0.5-SNAPSHOT: 'master'. It was required from org.spire-math#algebra-laws_2.11;0.3.2-SNAPSHOT compile
[warn]     ::::::::::::::::::::::::::::::::::::::::::::::
[warn]     Note: Unresolved dependencies path:
[warn]         org.typelevel:discipline_2.11:0.5-SNAPSHOT
[warn]           +- org.spire-math:algebra-laws_2.11:0.3.2-SNAPSHOT (<elided>/cats/build.sbt#L159)
[warn]           +- org.typelevel:cats-laws_2.11:0.5.0-SNAPSHOT ()
i tried blowing away ~/.ivy2/local/{org.spire-math, org.typelevel} and ~/.ivy2/cache/{org.spire-math, org.typelevel} and re-publishLocal-ing, but no go
any ideas?
Mar 23 2016 05:24
@adelbertc what's specifying configuration "master"?
Adelbert Chang
Mar 23 2016 05:25
i have no clue what thats coming from
thats the name of the branch im on?
does publishLocal tag it with the name of the branch or something
Mar 23 2016 05:29
it's in a configuration for libraryDependencies in algebra-laws
grep -w master cats/build.sbt
or maybe look at the pom/.ivy for algebra-laws
Adelbert Chang
Mar 23 2016 05:30
how do i inspect pom/.ivy for local published stuff?
i cant do a publishLocal for JS for Discipline which leads to issues publishLocal-ing for Algebra on JS unsure if thats related. i tried just publishLocal-ing for the JVM projects
Adelbert Chang
Mar 23 2016 05:42
im assuming ~/.ivy2/local/org.spire-math/algebra-laws_2.11/0.3.2-SNAPSHOT/pom/algebra-laws_2.11.pom is it
but no mention of 'master' in it
Adelbert Chang
Mar 23 2016 05:49
a clean before publishLocal-ing didnt work either, same error
Adelbert Chang
Mar 23 2016 07:13
@dwijnand so i removed those, but now it cant resolve the SNAPSHOT because publishLocal
meaning SNAPSHOTs arent available on Sonatype
im doing this through publishLocal
i guess i can try publishLocal again
Dale Wijnand
Mar 23 2016 07:14
I think it's basically stale data confusing the hell out of Ivy
Adelbert Chang
Mar 23 2016 07:15
seems it doesnt work
im not sure if its related but
i did project disciplineJVM and then publishLocal which does work
but yeah.. no go :|
i wonder if that error is related
Dale Wijnand
Mar 23 2016 07:17
not sure.. when you say doesn't work - same error?
Adelbert Chang
Mar 23 2016 07:34
@dwijnand i mean publishLocal on disciplineJs doesn't work, failing with the error linked in that ScalaTest issue
but publishLocal on disciplineJVM succeeds. however update on catsJVM fails with the error earlier
with the "configuration not found" thing
Mar 23 2016 10:25

I have lots of warning for dependencies from local nexus repository:

[info] Resolving client;1.7-SNAPSHOT ...
[warn] Unable to reparse client;1.7-SNAPSHOT from My proxy, using Mon Feb 15 13:52:56 NOVT 2016
[warn] Choosing My proxy for client;1.7-SNAPSHOT

how can I fix or at least suppress them?

Alexander Ray
Mar 23 2016 12:53

Hi, I can't start a Play Project from Intellij with following error

[info] Set current project to web (in build file:/Users/alexanderray/Developer/EZ/densus/web/)
java.lang.RuntimeException: No main class detected.
    at scala.sys.package$.error(package.scala:27)
[trace] Stack trace suppressed: run 'last compile:run' for the full output.
[error] (compile:run) No main class detected.
[error] Total time: 1 s, completed Mar 23, 2016 1:43:31 PM

if I start it from activator - it works fine ...

Gervais Blaise
Mar 23 2016 14:35

Hi there. I have two sbt projects who exists for the same application : client_ and _server. They don't share anything except that they are for same product.
Is it an advantage to create a root sbt project for them ?

Ideally I would like to be able to checkout the root and run sbt from it to compile both but I would be able to release them independently.

Erik LaBianca
Mar 23 2016 14:38
The advantage would be you could compile and/or publish them both with one command inside sbt
Gervais Blaise
Mar 23 2016 14:39
Ok, but since I don't want to publish/release both with one command. It is bettter to create two different projects.
Erik LaBianca
Mar 23 2016 14:49
Yeah, generally the coupling will just make things slower if they don’t share anything. Typically the reason you’d do it is to share dependency definitions, compiler flags, etc without having to create a plugin.
eugene yokota
Mar 23 2016 16:25
@nafg the server command as it stands is a minimum viable just enough for me to write a blog post
eventually it would need to relay back error messages etc as events, otherwise it's not very useful
I avoided the notion of thin client, since having two JVM seemed to have scared ppl off, and it won't solve the issue if the second thin client just displayed the same exact session from the server
to address @lihaoyi's case, we need a shell notation for background run, which is implemented in sbt-core-next -
eugene yokota
Mar 23 2016 16:35
as per running multiple commands in parallel, I think Josh posted on the stackoverflow question a while back about all command -
Mar 23 2016 17:38
all is pretty close
it just needs a discriminator to run one or the other
the tasks can be implemented with file function cached internally
Li Haoyi
Mar 23 2016 19:59
@pfn yeah that's basically what i ended up doing
except I forgot how to use FileFunction.cached despite using it before, and don't know how to make it cache existing tasks, and so re-implemented the logic manually...
Mar 23 2016 20:10
you can't exactly cache existing tasks
but you can create a taskDyn to wrap the task you want to use
Def.taskDyn { val cached = FileFunction.cached....returnsomeboolean; if (cached) Def.task { realtask.value } else nooptask }
something like that should work