forked from sbt/sbt-launcher-package
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Generated this project from the simple template.
- Loading branch information
Showing
6 changed files
with
104 additions
and
83 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,7 @@ | ||
/SbtTemplateProject.scala | ||
target | ||
/project/boot | ||
/project/plugins | ||
lib_managed | ||
src_managed | ||
/ext |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
#Project properties | ||
#Generated by sbt-setup | ||
#Generated by sbt-setup on Sat Apr 2 18:11:54 PDT 2011 | ||
project.organization=improving | ||
project.name=sbt-template | ||
sbt.version=0.7.5.RC0 | ||
project.version=0.1.1 | ||
sbt.version=0.7.6.RC0 | ||
project.version=0.0.1 | ||
build.scala.versions=2.8.1 | ||
project.initialize=false |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,95 @@ | ||
import sbt._ | ||
|
||
class SbttemplateProject(info: ProjectInfo) extends DefaultProject(info) with Libraries { | ||
// -Dscala.local=/path/to/scala/build | ||
override def localScala = System.getenv("scala.local") match { | ||
case null => super.localScala | ||
case path => | ||
log.info("Found scala.local: " + path) | ||
List(defineScala("2.9.0-local", new java.io.File(path))) | ||
} | ||
class SbtTemplateProject(info: ProjectInfo) extends DefaultProject(info) with ProjectSupport { | ||
|
||
} | ||
|
||
|
||
trait ProjectSupport extends ModuleIdDynamifactory { | ||
self: DefaultProject => | ||
|
||
/** Default "dynamic revision" to use with ivy. | ||
* See [[http://www.jaya.free.fr/ivy/doc/ivyfile/dependency.html]]. | ||
* Likely alternatives: latest.milestone, latest.release | ||
*/ | ||
def dynamicRevision = "latest.integration" | ||
|
||
/** Repositories. Comment in or out to taste. | ||
*/ | ||
val localMaven = "Local Maven" at "file://"+Path.userHome+"/.m2/repository" | ||
val localIvy = "Local Ivy" at "file://"+Path.userHome+"/.ivy2/local" | ||
val sonatype = "Sonatype" at "https://oss.sonatype.org/content/groups/public" | ||
val scalaToolsSnapshots = "Scala Tools Snapshots" at "http://scala-tools.org/repo-snapshots/" | ||
val jboss = "JBoss Repo" at "http://repository.jboss.org/maven2" | ||
|
||
protected implicit lazy val implicitTransform: ArtifactTransform = | ||
ArtifactTransform(inScope("test"), withSources) | ||
|
||
/*** Libraries ***/ | ||
val specs: ModuleID = "org.scala-tools.testing" %% "specs" | ||
val scalacheck: ModuleID = "org.scala-tools.testing" %% "scalacheck" | ||
|
||
// val ant: ModuleID = "org.apache.ant" % "ant" | ||
// val asmAll: ModuleID = "asm" % "asm-all" withSources() | ||
// val commonsVFS: ModuleID = "org.apache.commons" % "commons-vfs-project" | ||
// val easymock: ModuleID = "org.easymock" % "easymock" | ||
// val guava: ModuleID = "com.google.guava" % "guava" | ||
// val ivy: ModuleID = "org.apache.ivy" % "ivy" | ||
// val jdt: ModuleID = "org.eclipse.jdt" % "core" notTransitive() | ||
// val jetty: ModuleID = "org.mortbay.jetty" % "jetty" | ||
// val jmock: ModuleID = "org.jmock" % "jmock" | ||
// val jodaTime: ModuleID = "joda-time" % "joda-time" | ||
// val liftJson: ModuleID = "net.liftweb" %% "lift-json" | ||
// val maven: ModuleID = "org.apache.maven" % "maven-ant-tasks" | ||
// val scalaARM: ModuleID = "com.github.jsuereth.scala-arm" %% "scala-arm" withSources() | ||
// val scalaImproving: ModuleID = "org.improving" %% "scala-improving" | ||
// val scalaSTM: ModuleID = "org.scala-tools" %% "scala-stm" | ||
// val scalariform: ModuleID = "org.scalariform" %% "scalariform" | ||
// val scalazCore: ModuleID = "org.scalaz" %% "scalaz-core" withSources() | ||
// val scalazHttp: ModuleID = "org.scalaz" %% "scalaz-http" withSources() | ||
// val slf4s: ModuleID = "com.weiglewilczek.slf4s" %% "slf4s" withSources() | ||
} | ||
|
||
trait ModuleIdDynamifactory extends Dynamifactory { | ||
self: DefaultProject => | ||
|
||
protected type DepId = GroupArtifactID | ||
protected type DepOut = ModuleID | ||
protected def finishDependency(in: GroupArtifactID, revision: String): ModuleID = in % revision | ||
|
||
protected implicit lazy val implicitRevision: ArtifactRevision = | ||
ArtifactRevision(_ => dynamicRevision) | ||
|
||
protected def inScope(scope: String): DepFn = _ % scope | ||
protected def withSources: DepFn = _.withSources() | ||
protected def intransitive: DepFn = _.intransitive() | ||
protected def withJavadoc: DepFn = _.withJavadoc | ||
|
||
protected def withRevision(newRevision: String): DepFn = (m: ModuleID) => { | ||
ModuleID(m.organization, m.name, newRevision, m.configurations, m.isChanging, m.isTransitive, m.explicitArtifacts, m.extraAttributes) | ||
} | ||
} | ||
|
||
trait Dynamifactory { | ||
protected type DepId | ||
protected type DepOut | ||
protected type DepFn = DepOut => DepOut | ||
protected def dynamicRevision: String | ||
protected def finishDependency(in: DepId, revision: String): DepOut | ||
|
||
case class ArtifactRevision(revisionFn: DepId => String) { | ||
} | ||
case class ArtifactTransform(fns: DepFn*) { | ||
def apply(x: DepOut): DepOut = if (fns.isEmpty) x else fns.reduceLeft(_ andThen _)(x) | ||
} | ||
case class ArtifactConfig(rev: ArtifactRevision, transform: ArtifactTransform) { } | ||
|
||
protected implicit def autoassembleConfig(implicit rev: ArtifactRevision, transform: ArtifactTransform): ArtifactConfig = | ||
ArtifactConfig(rev, transform) | ||
|
||
protected implicit def autoconfigureDependencies(in: DepId)(implicit config: ArtifactConfig): DepOut = { | ||
val ArtifactConfig(ArtifactRevision(revisionFn), transform) = config | ||
|
||
transform(finishDependency(in, revisionFn(in))) | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
import sbt._ | ||
|
||
class Plugins(info: ProjectInfo) extends PluginDefinition(info) { | ||
// def aquteRepo = "aQute Maven Repository" at "http://www.aqute.biz/repo" | ||
// lazy val aquteModuleConfig = ModuleConfiguration("biz.aQute", aquteRepo) | ||
// val bnd4sbt = "com.weiglewilczek.bnd4sbt" % "bnd4sbt" % "latest.release" | ||
} |