mirror of https://github.com/sbt/sbt.git
individual settings for make-pom-configuration
This commit is contained in:
parent
0bea6c2184
commit
a601e8ea09
|
|
@ -67,7 +67,10 @@ object Defaults
|
|||
artifactClassifier :== None,
|
||||
artifactClassifier in packageSrc :== Some(SourceClassifier),
|
||||
artifactClassifier in packageDoc :== Some(DocClassifier),
|
||||
checksums :== IvySbt.DefaultChecksums
|
||||
checksums :== IvySbt.DefaultChecksums,
|
||||
pomExtra := NodeSeq.Empty,
|
||||
pomPostProcess := idFun,
|
||||
pomIncludeRepository := Classpaths.defaultRepositoryFilter
|
||||
))
|
||||
def projectCore: Seq[Setting[_]] = Seq(
|
||||
name <<= thisProject(_.id),
|
||||
|
|
@ -533,7 +536,9 @@ object Classpaths
|
|||
(project.configurations ++ project.configurations.map(internalMap) ++ (if(auto) CompilerPlugin :: Nil else Nil)).distinct
|
||||
},
|
||||
moduleSettings <<= moduleSettings0,
|
||||
makePomConfiguration <<= (artifactPath in makePom)(file => makePomConfigurationTask(file)),
|
||||
makePomConfiguration <<= (artifactPath in makePom, pomExtra, pomPostProcess, pomIncludeRepository) {
|
||||
(file, extra, process, include) => new MakePomConfiguration(file, None, extra, process, include)
|
||||
},
|
||||
deliverLocalConfiguration <<= (crossTarget, ivyLoggingLevel) map { (outDir, level) => deliverConfig( outDir, logging = level ) },
|
||||
deliverConfiguration <<= deliverLocalConfiguration.identity,
|
||||
publishConfiguration <<= (packagedArtifacts, publishTo, publishMavenStyle, deliver, ivyLoggingLevel) map { (arts, publishTo, mavenStyle, ivyFile, level) =>
|
||||
|
|
@ -610,8 +615,6 @@ object Classpaths
|
|||
/*}
|
||||
f(module.owner.configuration :+: module.moduleSettings :+: config :+: HNil)*/
|
||||
}*/
|
||||
def makePomConfigurationTask(file: File, configurations: Option[Iterable[Configuration]] = None, extra: NodeSeq = NodeSeq.Empty, process: XNode => XNode = n => n, filterRepositories: MavenRepository => Boolean = defaultRepositoryFilter) =
|
||||
new MakePomConfiguration(file, configurations, extra, process, filterRepositories)
|
||||
|
||||
def defaultRepositoryFilter = (repo: MavenRepository) => !repo.root.startsWith("file:")
|
||||
def getPublishTo(repo: Option[Resolver]): Resolver = repo getOrElse error("Repository for publishing is not specified.")
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ package sbt
|
|||
import complete._
|
||||
import inc.Analysis
|
||||
import std.TaskExtra._
|
||||
import scala.xml.NodeSeq
|
||||
import scala.xml.{Node => XNode, NodeSeq}
|
||||
import org.apache.ivy.core.module.{descriptor, id}
|
||||
import descriptor.ModuleDescriptor, id.ModuleRevisionId
|
||||
import org.scalatools.testing.Framework
|
||||
|
|
@ -187,6 +187,10 @@ object Keys
|
|||
val publish = TaskKey[Unit]("publish", "Publishes artifacts to a repository.")
|
||||
val publishLocal = TaskKey[Unit]("publish-local", "Publishes artifacts to the local repository.")
|
||||
|
||||
val pomExtra = SettingKey[NodeSeq]("pom-extra", "Extra XML to insert into the generated POM.")
|
||||
val pomPostProcess = SettingKey[XNode => XNode]("pom-post-process", "Transforms the generated POM.")
|
||||
val pomIncludeRepository = SettingKey[MavenRepository => Boolean]("pom-include-repository", "Selects repositories to include in the generated POM.")
|
||||
|
||||
val moduleID = SettingKey[String]("module-id", "The name of the current module, used for dependency management.")
|
||||
val version = SettingKey[String]("version", "The version/revision of the current module.")
|
||||
val projectID = SettingKey[ModuleID]("project-id", "The dependency management descriptor for the current module.")
|
||||
|
|
|
|||
Loading…
Reference in New Issue