1
votes

Updated with latest, thanks to @JamesWard for showing how to update to force Ivy.

We use gradle as our build system (java). I decided trying to get Play going with Gradle was probably going against the grain too much, so I just want to consume artifact dependencies from SBT.

I want to get a simple play app going using one of our libraries in our Artifact Rep (Artifactory).

I tried doing this in build.sbt:

name := "NervTwitter"

version := "1.0-SNAPSHOT"

libraryDependencies ++= Seq(
  javaJdbc,
  javaEbean,
  cache
)

libraryDependencies += "org.scala-tools" % "scala-stm_2.9.1" % "0.3"

libraryDependencies += "com.myco.eda" % "eda-nerv-core" % "latest.milestone"


resolvers += Resolver.url("MyCO Artifactory", url("http://bas.eur.ad.sag:8081/artifactory/repo"))(Resolver.ivyStylePatterns)

play.Project.playJavaSettings

I then ran show compile:dependencyClasspath from play console and get:

[warn] ==== MyCO Artifactory: tried
[warn]   http://bas.eur.ad.sag:8081/artifactory/repo/com.myco.eda/eda-nerv-core/[revision]/ivys/ivy.xml

Note the /repo/com.myco.eda/ . This is incorrect, in our repo the correct path is: /repo/com/myco/eda/

So it's resolving Ivy(good), but the format isn't correct. I think I need to make my ivy repo maven2 compatible. But I'm not sure how....

Here is a reference to how our repo is laid out: http://www.gradle.org/docs/current/userguide/dependency_management.html#sec:ivy_repositories

look under: 50.6.6.2. Ivy repository with Maven compatible layout

thanks

1

1 Answers

0
votes

How about:

resolvers += Resolver.url("MyCO Artifactory", url("http://mycorepo:8081/artifactory/repo"))(Resolver.ivyStylePatterns)

More details: http://www.scala-sbt.org/release/docs/Detailed-Topics/Resolvers.html