mirror of https://github.com/sbt/sbt.git
migrate another test
This commit is contained in:
parent
5b6f6a16e1
commit
6efe299e10
|
|
@ -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"
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
project.name=Publish Test
|
||||
project.organization=test
|
||||
project.version=1.0
|
||||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
@ -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"
|
||||
}
|
||||
|
|
@ -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
|
||||
Loading…
Reference in New Issue