migrate another test

This commit is contained in:
Mark Harrah 2011-05-26 08:21:26 -04:00
parent 5b6f6a16e1
commit 6efe299e10
6 changed files with 52 additions and 58 deletions

View File

@ -0,0 +1,24 @@
import sbt._
import Keys._
object MultiPublishTest extends Build
{
override lazy val settings = super.settings ++ Seq(
organization := "A",
version := "1.0",
ivyPaths <<= baseDirectory( dir => new IvyPaths(dir, Some(dir / "ivy" / "cache")) ),
externalResolvers <<= baseDirectory { base => Resolver.file("local", base / "ivy" / "local" asFile)(Resolver.ivyStylePatterns) :: Nil }
}
lazy val projects = Seq(root)
lazy val root = Project("root", file(".")) settings(
name := "Retrieve Test",
libraryDependencies := if("mavenStyle".asFile.exists) mavenStyleDependencies else ivyStyleDependencies
)
def ivyStyleDependencies = parentDep("A") :: subDep("A") :: subDep("B") ::parentDep("D") :: Nil
def mavenStyleDependencies = parentDep("B") :: parentDep("C") :: subDep("C") :: subDep("D") :: Nil
def parentDep(org: String) = org %% "publish-test" % "1.0"
def subDep(org: String) = org %% "sub-project" % "1.0"
}

View File

@ -0,0 +1,21 @@
import sbt._
import Keys._
object MultiPublishTest extends Build
{
override lazy val settings = super.settings ++ Seq(
organization := "A",
version := "1.0",
ivyPaths <<= baseDirectory( dir => new IvyPaths(dir, Some(dir / "ivy" / "cache")) ),
externalResolvers <<= baseDirectory { base => Resolver.file("local", base / "ivy" / "local" asFile)(Resolver.ivyStylePatterns) :: Nil }
)
lazy val projects = Seq(root)
lazy val root = Project("root", file(".")) settings( mavenStyle, name = "Publish Test" )
lazy val sub = Project("sub", file("sub")) settings( mavenStyle, name = "Sub Project" )
lazy val mavenStyle = publishMavenStyle <<= baseDirectory { base => (base / "mavenStyle") exists }
override def deliverProjectDependencies = if(managedStyle == sub.managedStyle) super.deliverProjectDependencies else Nil
}

View File

@ -1,3 +0,0 @@
project.name=Publish Test
project.organization=test
project.version=1.0

View File

@ -1,25 +0,0 @@
import sbt._
class MultiPublishTest(info: ProjectInfo) extends ParentProject(info)
{
override def managedStyle =
if(path("mavenStyle").exists)
ManagedStyle.Maven
else
ManagedStyle.Auto
override def deliverProjectDependencies = if(managedStyle == sub.managedStyle) super.deliverProjectDependencies else Nil
override def ivyCacheDirectory = Some("ivy" / "cache")
override def ivyRepositories = Resolver.file("local", "ivy" / "local" asFile)(Resolver.ivyStylePatterns) :: Nil
lazy val sub = project("sub", "Sub Project", new SubProject(_))
class SubProject(info: ProjectInfo) extends DefaultProject(info)
{
override def managedStyle =
if(path("mavenStyle").exists)
ManagedStyle.Maven
else
ManagedStyle.Auto
}
}

View File

@ -1,15 +0,0 @@
import sbt._
class Retrieve(info: ProjectInfo) extends ParentProject(info)
{
override def ivyCacheDirectory = Some(outputPath / "ivy" / "cache")
override def ivyRepositories = Resolver.file("local", "ivy" / "local" asFile)(Resolver.ivyStylePatterns) :: Nil
override def libraryDependencies = Set() ++( if("mavenStyle".asFile.exists) mavenStyleDependencies else autoStyleDependencies )
def autoStyleDependencies = parentDep("A") :: subDep("A") :: subDep("B") ::parentDep("D") :: Nil
def mavenStyleDependencies = parentDep("B") :: parentDep("C") :: subDep("C") :: subDep("D") :: Nil
def parentDep(org: String) = org %% "publish-test" % "1.0"
def subDep(org: String) = org %% "sub-project" % "1.0"
}

View File

@ -1,34 +1,26 @@
> set project.organization A
> reload
> publish-local
> set project.organization B
$ touch mavenStyle
> reload
> set organization in ThisBuild := "B"
> publish-local
> set project.organization C
$ touch sub/mavenStyle
> reload
> set organization in ThisBuild := "C"
> publish-local
> set project.organization D
$ delete mavenStyle
> reload
> set organization := "D"
> publish-local
> set project.name Retrieve Test
> set name := "Retrieve Test"
> clean
$ delete project/build/
$ copy-file project/changes/RetrieveTest.scala project/build/RetrieveTest.scala
$ delete project/MultiPublishTest.scala
$ copy-file changes/RetrieveTest.scala project/RetrieveTest.scala
> reload
> clean-lib
>debug
> update
$ touch mavenStyle
> reload
> clean-lib
> clean
> update