Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 19:47
    Voltir commented #1421
  • 18:10
    dcsobral opened #1460
  • 12:20
    jonaslipp commented #1149
  • 03:08
    joprice closed #1451
  • 03:08
    joprice commented #1451
  • Dec 11 21:03

    alexarchambault on gh-pages

    Update website (compare)

  • Dec 11 20:18

    alexarchambault on master

    Update sbt-native-packager to 1… (compare)

  • Dec 11 20:18
    alexarchambault closed #1459
  • Dec 11 17:03
    scala-steward opened #1459
  • Dec 10 01:46
    joprice commented #1396
  • Dec 10 01:43
    joprice commented #1396
  • Dec 09 20:50
    scala-steward opened #1458
  • Dec 09 14:31

    alexarchambault on gh-pages

    Update website (compare)

  • Dec 09 13:50

    alexarchambault on master

    Don't rely on spurious dependen… Use default packaging for proje… Don't substitute Maven properti… and 2 more (compare)

  • Dec 09 13:50
    alexarchambault closed #1457
  • Dec 09 13:50
    alexarchambault closed #1455
  • Dec 09 13:31
    alexarchambault synchronize #1457
  • Dec 09 13:26
    alexarchambault synchronize #1457
  • Dec 09 13:26
    alexarchambault synchronize #1457
  • Dec 09 13:16
    alexarchambault opened #1457
Daniel Capo Sobral
@dcsobral
I believe it should be !exclude.forall. On an empty set, exists returns false, and forall returns true, so if you are using only include rules, that would expand to include.exists(…) || !false.
In addition to that, the else clause is clearly incorrect, since it’s identical to the if clause.
I’d test it, but I’m unable to compile master or RC4-1.
Daniel Capo Sobral
@dcsobral
Ah, my mistake on the second. One is ||, the other is &&.
So maybe there isn’t a bug, but why would includeByDefault be true in my test? I have set versionReconciliation += "com.slamdata" % "*" % “strict”.
Daniel Capo Sobral
@dcsobral
Looks like I just had an older version.
Diego E. Alonso Blas
@diesalbla
Good evening.
Profiling the build of a library (monix) I have found that the build creates a lot of threads.
Many of these threads have a very short "duration" : hundreds with less than a second, dozens of which last for under a millisecond.
Many of these are called coursier-pool-XX-thread-Y, where XX goes up to 74, and for each one Y goes between 1 and 6
I am not confident enough to be sure, but could this be a sign of a "resource leak" from coursier? I may be wrong, of course...
Daniel Capo Sobral
@dcsobral
What is the coursier-based sbt launcher? How does it differ from the normal launcher?
dvir
@dvirf1

Hi, I'd like to print the dependency tree in my project.
It is built with sbt 1.3.2, and coursierDependencyTree results in "Not a valid command" (is that expected?).
When I try to add sbt-coursier explicitly using addSbtPlugin("io.get-coursier" % "sbt-coursier" % "2.0.0-RC4"), I get:

[error] stack trace is suppressed; run last coursierResolutions for the full output
[error] (coursierResolutions) java.lang.NoSuchMethodError: lmcoursier.definitions.ToCoursier$.project(Llmcoursier/definitions/Project;)Lcoursier/core/Project;
[error] Total time: 0 s, completed Oct 30, 2019 5:47:40 PM

When I run last coursierResolutions I get:

[error] java.lang.NoSuchMethodError: lmcoursier.definitions.ToCoursier$.project(Llmcoursier/definitions/Project;)Lcoursier/core/Project;
[error]     at coursier.sbtcoursier.ResolutionTasks$.$anonfun$resolutionsTask$3(ResolutionTasks.scala:43)
[error]     at scala.Function1.$anonfun$compose$1(Function1.scala:49)
[error]     at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:62)
[error]     at sbt.std.Transform$$anon$4.work(Transform.scala:67)
[error]     at sbt.Execute.$anonfun$submit$2(Execute.scala:280)
[error]     at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:19)
[error]     at sbt.Execute.work(Execute.scala:289)
[error]     at sbt.Execute.$anonfun$submit$1(Execute.scala:280)
[error]     at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178)
[error]     at sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
[error]     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error]     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[error]     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error]     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[error]     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[error]     at java.lang.Thread.run(Thread.java:748)
[error] (coursierResolutions) java.lang.NoSuchMethodError: lmcoursier.definitions.ToCoursier$.project(Llmcoursier/definitions/Project;)Lcoursier/core/Project;
Jan Høydahl
@janhoy
Hi. I'm trying to use coursier fetch --javadoc my:coordinate:here to fetch a particular javadoc jar, but I do not want to fetch dependencies at all, just that specific jar. I don't want to add 30 --exclude rules (which may change over time). I cannot find a --nodeps switch or similar. Tips?
charego
@charego
@dvirf1 seems like that's expected. try dependencyTree... sbt uses coursier by default now; the coursier prefix was dropped?
rms264
@rms264
How do I set COURSIER_TTL in my build.sbt file
charego
@charego
I don't think you can set it in your build.sbt file. There's COURSIER_TTL environment variable, and coursier.ttl JVM/system property https://github.com/coursier/coursier/blob/master/modules/cache/jvm/src/main/scala/coursier/cache/CacheDefaults.scala#L39-L47
Daniel Capo Sobral
@dcsobral
@dvirf1 You need to use coursier’s sbt launcher to use coursier’s plugin with sbt 1.3+:
$ coursier bootstrap sbt-launcher -f -o csbt && ./csbt
Jan Høydahl
@janhoy
Is there a way to disable dependency resolution?
...for fetch that is. And ideally also specify the exact output folder for the jar instead of having to copy from deep sub folder of cache?
dvir
@dvirf1

thanks @dcsobral , it works.

is there a way to show the coursierDependencyTree for the Provided scope?

Rob Norris
@tpolecat
@alexarchambault I would like to start distributing programs via coursier install … is there any documentation available? Do you have an estimate of when this feature will be generally available? Probably an FAQ, sorry.
Alexandre Archambault
@alexarchambault
@tpolecat I should probably remove the experimental guard now… That shouldn't prevent evolving it anyway.
I'll try to write a page on the coursier website about it. Until then, all that's mentioned in my Scala Days talk should still apply.
Rob Norris
@tpolecat
:+1: merci
Daniel Capo Sobral
@dcsobral
@alexarchambault Should fine grained version reconciliation work with sbt-lm-coursier? It isn’t working for me, though the versionReconciliation key is there.
Sebastián Ortega
@sortega

is there a way to show the coursierDependencyTree for the Provided scope?

That would be really handy

fourth44
@fourth44
I'm trying to fetch a zip from my local nexus using the programmatic coursier api (no sbt). I'm trying to debug what URLs coursier is actually fetching, without resorting to wireshark etc. I tried to use coursier command line as well (with -v -v -v -v -v -v -F) but it still doesn't verbosely tell my all URLs being used, and worse, progress bars that were telling me some URL for a split second get cleared on the terminal. In the end I suspect a bug/missing feature, as I can't get Coursier to fetch my zip. It has type/extention zip, and classifier "assembly". I expect a URL in the form "https://my-nexus/repository/releases/com/organization/artifact/version/artifact-version-classifier.extention. My artifact and classifier are both 'assembly' in my case, so my URL should end with /assembly/1.1.4/assembly-1.1.4-assembly.zip. I cannot figure out if Coursier is even capable of constructing such strings (I assume it can), but I also cannot figure out what it is actually trying right now. Is there either documentation on the 'format' of maven repostitories, or can it be customized like ivy (i.e. "ivy:/.../[organization]/[module/...")?
fourth44
@fourth44
(I hope my question isn't read as negative criticism, if so my apologies. I'm just learning to use coursier and am very much impressed by it).
Dale Wijnand
@dwijnand
@alexarchambault you fixing https://travis-ci.org/coursier/sbt-launcher/jobs/614999713? I want to use the launcher ;-)
João Costa
@JD557
hi there, I'm trying to add support for the ivy2 local repository to polynote, but I need some help (I think I'm doing something stupid)
the Resolution appears to be working (the local project appear on the projectCache
however, I need the path to the .jars, and the Artifacts.ioResult here is only returning downloaded jars, and ignoring the local jars: https://github.com/polynote/polynote/blob/eb1b98c96473786598a060e1b1fe927c8a10485c/polynote-kernel/src/main/scala/polynote/kernel/dependency/CoursierFetcher.scala#L160-L172
is there some kind of flag that I might be missing, or a way to return the jars from the Resolution.projectCache?
João Costa
@JD557
nvm, I found the problem, it was loading the wrong Configuration :)
Sakib Hadžiavdić
@sake92
Hi there!
I'm getting this weird error on Travis: OverlappingFileLockException
Appears to have something with Coursier caches
It builds normally on my local Mac machine
Tobias Roeser
@lefou
Hi, in the mill room @onedigit found an interesting set of dependencies, that causes mill __.ivyDepsTree to spin one cpu core at 100% for about 10 minutes.
A quick glace at the thread dump suggests, that it might be coursier related, which is the inner work horse for ivyDepsTree.
Here is the offending build.sc
import mill._, scalalib._, scalafmt._

object millTest extends SbtModule {
  // mill and bloopInstall do not work properly with 2.12.10
  def scalaVersion = "2.12.9"

  val hiveJdbcVersion = "3.1.2"

  def ivyDeps = Agg(
    ivy"org.apache.hive:hive-jdbc:$hiveJdbcVersion"
      .exclude(
        "ch.qos.logback" -> "logback-classic",
        "org.slf4j" -> "slf4j-log4j12"
      ),
    ivy"org.apache.logging.log4j:log4j-api:2.12.1",
    ivy"org.apache.logging.log4j:log4j-core:2.12.1",
    ivy"org.apache.logging.log4j:log4j-slf4j-impl:2.12.1"
  )

}
07:35:54 lefou:/tmp/t2 3s $ time mill -i millTest.ivyDepsTree
No mill version specified.
You should provide a version via '.mill-version' file or --mill-version option.
Retrieving latest mill version ...
Using mill version is 0.5.2
Compiling (synthetic)/ammonite/predef/interpBridge.sc
Compiling (synthetic)/ammonite/predef/sourceBridge.sc
Compiling (synthetic)/ammonite/predef/frontEndBridge.sc
Compiling (synthetic)/ammonite/predef/DefaultPredef.sc
Compiling /tmp/t2/build.sc
[6/6] millTest.ivyDepsTree 
^C
real    6m1,481s
user    6m40,407s
sys     0m1,741s
Tobias Roeser
@lefou
I let the process run and after about 15,5 minutes, it showed me a tree with many thousand lines
onedigit
@onedigit
Hi, for the dependency tree issue above, that @lefou mentioned, I also tried resolving the tree using SBT. SBT gives the tree in about 50 seconds
Matthew de Detrich
@mdedetrich
So I just updated to SBT 1.3 which is now using coursier by default and it appears that it is resolving SNAPSHOT completely differently
In fact it appears that if you have some transitive SNAPSHOT dependency its ignoring it over something else?
Matthew de Detrich
@mdedetrich
It appears that when I am using specs2 and doing test in SBT its using the specs2 scalacheck version rather than my manually specified one
Matthew de Detrich
@mdedetrich
Hmm think I found it coursier/coursier#1149
Daniel Capo Sobral
@dcsobral
@dwijnand I’ve added a question to coursier/sbt-extras@538b2a4 — could you take a look at it?
Daniel Capo Sobral
@dcsobral
This looks like it needs changing too:
  # if none of the options touched coursier_launcher_version, use the coursier
  # launcher with sbt >= 0.13.8
  if [[ "$coursier_launcher_version" = "default" ]]; then
    case "$sbt_version" in
        0.13.[89] | 0.13.1[0-9] | 1.* ) coursier_launcher_version="$default_coursier_launcher_version" ;;
        * ) coursier_launcher_version="" ;;
    esac
  fi
Have it be 1.[0-2]* instead of 1.*