Skip to content

Instantly share code, notes, and snippets.

@paulp
Last active August 12, 2016 22:37
Show Gist options
  • Save paulp/62eaca1850904137959ad9121cce6b15 to your computer and use it in GitHub Desktop.
Save paulp/62eaca1850904137959ad9121cce6b15 to your computer and use it in GitHub Desktop.
testing coursier as a drop-in replacement
origin https://github.com/gitbucket/gitbucket (fetch)
origin https://github.com/gitbucket/gitbucket (push)
Aug 08 18:50:38 Downloaded https://repo1.maven.org/maven2/com/sun/mail/javax.mail/1.5.2/javax.mail-1.5.2.jar
Aug 08 18:50:38 Downloaded https://repo1.maven.org/maven2/com/typesafe/slick/slick_2.11/2.1.0/slick_2.11-2.1.0.jar
Aug 08 18:50:38 [info] Fetched artifacts of io.github.gitbucket:gitbucket_2.11:4.3.0
Aug 08 18:50:40 coursier.ResolutionException: 1 not found https://repo1.maven.org/maven2/org/apache/sshd/apache-sshd/1.2.0/apache-sshd-1.2.0.jar
Aug 08 18:50:40 [error] (*:update) coursier.ResolutionException: 1 not found https://repo1.maven.org/maven2/org/apache/sshd/apache-sshd/1.2.0/apache-sshd-1.2.0.jar
Aug 08 18:50:40 [error] Total time: 10 s, completed Aug 8, 2016 6:50:40 PM
---
origin https://github.com/jrudolph/sbt-dependency-graph (fetch)
origin https://github.com/jrudolph/sbt-dependency-graph (push)
Aug 08 18:33:58 Downloaded https://repo1.maven.org/maven2/org/specs2/specs2_2.10/2.3.11/specs2_2.10-2.3.11.jar
Aug 08 18:33:58 Downloaded https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/precompiled-2_8_2/0.13.6/jars/compiler-interface-bin.jar
Aug 08 18:33:58 [info] Fetched artifacts of net.virtual-void:sbt-dependency-graph:0.8.3-SNAPSHOT
Aug 08 18:33:59 coursier.ResolutionException: 1 not found http://typesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.13.0/sbt-launch.jar
Aug 08 18:33:59 [error] (*:update) coursier.ResolutionException: 1 not found http://typesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.13.0/sbt-launch.jar
Aug 08 18:33:59 [error] Total time: 16 s, completed Aug 8, 2016 6:33:59 PM
---
origin https://github.com/non/spire (fetch)
origin https://github.com/non/spire (push)
Aug 08 18:22:21 [error] /Users/psp/.ivy2/local/ichi.bench/thyme/0.1.0/ivys/ivy.xml
Aug 08 18:22:21 [error] https://jcenter.bintray.com/ichi/bench/thyme/0.1.0/thyme-0.1.0.pom
Aug 08 18:22:21 [error] https://repo1.maven.org/maven2/ichi/bench/thyme/0.1.0/thyme-0.1.0.pom
Aug 08 18:22:21 [error] http://dl.bintray.com/non/maven/ichi/bench/thyme/0.1.0/thyme-0.1.0.pom
Aug 08 18:22:21 [error] https://oss.sonatype.org/content/repositories/snapshots/ichi/bench/thyme/0.1.0/thyme-0.1.0.pom
Aug 08 18:22:21 [error] Total time: 13 s, completed Aug 8, 2016 6:22:21 PM
---
origin https://github.com/oncue/knobs (fetch)
origin https://github.com/oncue/knobs (push)
Aug 08 18:41:58 [error] not found:
Aug 08 18:41:58 [error] /Users/psp/.ivy2/local/oncue.ermine/ermine-parser_2.10/0.2.1-2/ivys/ivy.xml
Aug 08 18:41:58 [error] https://repo1.maven.org/maven2/oncue/ermine/ermine-parser_2.10/0.2.1-2/ermine-parser_2.10-0.2.1-2.pom
Aug 08 18:41:58 [error] https://dl.bintray.com//maven/oncue/ermine/ermine-parser_2.10/0.2.1-2/ermine-parser_2.10-0.2.1-2.pom
Aug 08 18:41:58 [error] http://dl.bintray.com/tpolecat/maven/oncue/ermine/ermine-parser_2.10/0.2.1-2/ermine-parser_2.10-0.2.1-2.pom
Aug 08 18:41:58 [error] Total time: 4 s, completed Aug 8, 2016 6:41:58 PM
---
origin https://github.com/typesafehub/dbuild (fetch)
origin https://github.com/typesafehub/dbuild (push)
Aug 08 19:02:08 [error] (build/*:update) coursier.ResolutionException: 1 not found https://repo1.maven.org/maven2/org/eclipse/aether/aether/1.0.0.v20140518/aether-1.0.0.v20140518.jar
Aug 08 19:02:08 [error] (plugin/*:update) coursier.ResolutionException: 1 not found https://repo1.maven.org/maven2/org/eclipse/aether/aether/1.0.0.v20140518/aether-1.0.0.v20140518.jar
Aug 08 19:02:08 [error] (actorProj/*:update) coursier.ResolutionException: 1 not found https://repo1.maven.org/maven2/org/eclipse/aether/aether/1.0.0.v20140518/aether-1.0.0.v20140518.jar
Aug 08 19:02:08 [error] (support/*:update) coursier.ResolutionException: 1 not found https://repo1.maven.org/maven2/org/eclipse/aether/aether/1.0.0.v20140518/aether-1.0.0.v20140518.jar
Aug 08 19:02:08 [error] (supportGit/*:update) coursier.ResolutionException: 1 not found https://repo1.maven.org/maven2/org/eclipse/aether/aether/1.0.0.v20140518/aether-1.0.0.v20140518.jar
Aug 08 19:02:08 [error] Total time: 4 s, completed Aug 8, 2016 7:02:08 PM
[FAIL] gitbucket/gitbucket ivy ok, coursier failed.
[FAIL] jrudolph/sbt-dependency-graph ivy ok, coursier failed.
[FAIL] non/spire ivy ok, coursier failed.
[FAIL] oncue/knobs ivy ok, coursier failed.
[FAIL] typesafehub/dbuild ivy ok, coursier failed.
[PASS] 47deg/fetch ivy ok, coursier ok.
[PASS] Duhemm/parsermacros ivy ok, coursier ok.
[PASS] ProjectSeptemberInc/freek ivy ok, coursier ok.
[PASS] S-Mach/s_mach.codetools ivy ok, coursier ok.
[PASS] S-Mach/s_mach.datadiff ivy ok, coursier ok.
[PASS] alexarchambault/jupyter-scala ivy ok, coursier ok.
[PASS] bkgood/jnr-hdf5 ivy ok, coursier ok.
[PASS] bytedeco/sbt-javacv ivy ok, coursier ok.
[PASS] cb372/scalacache ivy ok, coursier ok.
[PASS] channingwalton/typeclassopedia ivy ok, coursier ok.
[PASS] densh/typelog ivy ok, coursier ok.
[PASS] djspiewak/emm ivy ok, coursier ok.
[PASS] ensime/ensime-sbt ivy ok, coursier ok.
[PASS] ensime/scala-debugger ivy ok, coursier ok.
[PASS] felixmulder/fool ivy ok, coursier ok.
[PASS] fommil/spray-json-shapeless ivy ok, coursier ok.
[PASS] fpinscala/fpinscala ivy ok, coursier ok.
[PASS] functional-streams-for-scala/fs2 ivy ok, coursier ok.
[PASS] http4s/http4s ivy ok, coursier ok.
[PASS] hughsimpson/sigterms ivy ok, coursier ok.
[PASS] inc-lc/ilc-scala ivy ok, coursier ok.
[PASS] ipfs/scala-ipfs-api ivy ok, coursier ok.
[PASS] johnynek/inliner ivy ok, coursier ok.
[PASS] json4s/json4s-ast ivy ok, coursier ok.
[PASS] lagom/lagom ivy ok, coursier ok.
[PASS] lihaoyi/fastparse ivy ok, coursier ok.
[PASS] lloydmeta/enumeratum ivy ok, coursier ok.
[PASS] maxaf/dandy ivy ok, coursier ok.
[PASS] melrief/pureconfig ivy ok, coursier ok.
[PASS] mentat-labs/sbt-nsa ivy ok, coursier ok.
[PASS] milessabin/shapeless ivy ok, coursier ok.
[PASS] mkroli/dns4s ivy ok, coursier ok.
[PASS] mpilquist/simulacrum ivy ok, coursier ok.
[PASS] non/irreg ivy ok, coursier ok.
[PASS] non/jawn ivy ok, coursier ok.
[PASS] non/kind-projector ivy ok, coursier ok.
[PASS] okomok/sing ivy ok, coursier ok.
[PASS] olafurpg/scalafmt ivy ok, coursier ok.
[PASS] quasar-analytics/quasar ivy ok, coursier ok.
[PASS] rickynils/scalacheck ivy ok, coursier ok.
[PASS] sbt/sbt ivy ok, coursier ok.
[PASS] sbt/sbt-git ivy ok, coursier ok.
[PASS] scala/scala ivy ok, coursier ok.
[PASS] scalamacros/paradise ivy ok, coursier ok.
[PASS] scalameta/scalameta ivy ok, coursier ok.
[PASS] scalaprops/scalaprops ivy ok, coursier ok.
[PASS] scalikejdbc/scalikejdbc ivy ok, coursier ok.
[PASS] scoverage/scalac-scoverage-plugin ivy ok, coursier ok.
[PASS] slamdata/matryoshka ivy ok, coursier ok.
[PASS] slamdata/scala-abt ivy ok, coursier ok.
[PASS] spray/spray ivy ok, coursier ok.
[PASS] stacycurl/delta ivy ok, coursier ok.
[PASS] stew/dogs ivy ok, coursier ok.
[PASS] storm-enroute/mecha ivy ok, coursier ok.
[PASS] tetrao-eu/template-site ivy ok, coursier ok.
[PASS] tiarkrompf/minidot ivy ok, coursier ok.
[PASS] timcharper/sbt-jnaerator ivy ok, coursier ok.
[PASS] timperrett/functional-microservice-example ivy ok, coursier ok.
[PASS] tpolecat/doobie ivy ok, coursier ok.
[PASS] tpolecat/tut ivy ok, coursier ok.
[PASS] travisbrown/iteratee ivy ok, coursier ok.
[PASS] typelevel/machinist ivy ok, coursier ok.
[PASS] typelevel/typeclassic ivy ok, coursier ok.
[PASS] typelevel/wartremover ivy ok, coursier ok.
[PASS] typesafehub/scala-logging ivy ok, coursier ok.
[PASS] typesafehub/zinc ivy ok, coursier ok.
[PASS] vjovanov/finally-tagless ivy ok, coursier ok.
[SKIP] ensime/ensime-server ivy failed.
[SKIP] m50d/paperdoll ivy failed.
[SKIP] nscala-time/nscala-time ivy failed.
[SKIP] pchiusano/scodec-bits ivy failed.
[SKIP] refried/project-common ivy failed.
[SKIP] regb/scala-smtlib ivy failed.
[SKIP] runarorama/scala-bound ivy failed.
[SKIP] sbt/test-interface ivy failed.
[SKIP] scala/scala-java8-compat ivy failed.
[SKIP] scaled/scaled ivy failed.
[SKIP] scodec/scodec ivy failed.
[SKIP] smarter/dotty-bridge ivy failed.
[SKIP] theon/scala-uri ivy failed.
[SKIP] typelevel/scalaz-outlaws ivy failed.
[SKIP] xdotai/diff ivy failed.
#!/usr/bin/env bash
#
# Search scala repos for ones where standard update succeeds
# where coursier fails.
#
# To run:
#
# cd /dir/containing/many/repos
# coursier-test * >log &
# tail -F log | egrep --line-buffered -w '(PASS|FAIL|SKIP)'
#
set -euo pipefail
die () { echo >&2 "$@" && exit 1; }
run () { echo >&2 "$@" && "$@"; }
sbtOpts="-no-colors -batch"
repoSlug () {
git config --local --get remote.origin.url \
| perl -pe 's#.*?://github[.]com/##' \
| perl -pe 's#/$##' \
| perl -pe 's/[.]git$//'
}
runSbt () {
local log="sbtx-$1.log"
local extra=""
if [[ -f project/build.properties ]]; then
sbtminor="$(ack -o '(?<=0[.]13[.])\d+$' project/build.properties)"
if [[ -n "$sbtminor" ]] && (( sbtminor < 8 )); then
extra="-sbt-version 0.13.12"
fi
fi
if [[ -n "$(find . -type d -name test)" ]]; then
targets="update test:update"
else
targets="update"
fi
run sbtx $extra $sbtOpts $targets |& ts | tee "$log" | \
while read -r line; do echo "[$1] $line"; done
}
addCoursier () {
echo 'addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.0-M13")' > project/pspcoursier.sbt
}
doRepo () {
local repo="$1"
cd "$repo"
git clean
local slug="$(repoSlug)"
echo "Trying ivy in $slug..."
if runSbt ivy; then
echo "Trying coursier in $slug..."
addCoursier
if runSbt coursier; then
echo "[PASS] $slug ivy ok, coursier ok."
else
echo "[FAIL] $slug ivy ok, coursier failed."
fi
else
echo "[SKIP] $slug ivy failed."
fi
}
for d in "$@"; do
( doRepo "$d" )
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment