From d79fa21348b7f0401935cde711e4985c9b3c3b17 Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Fri, 1 Apr 2011 21:06:07 -0400 Subject: [PATCH] fix publish patterns for maven style publishing --- ivy/IvyActions.scala | 8 +++----- main/Defaults.scala | 5 +++-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/ivy/IvyActions.scala b/ivy/IvyActions.scala index 95e779e43..a8ede1d3c 100644 --- a/ivy/IvyActions.scala +++ b/ivy/IvyActions.scala @@ -20,7 +20,7 @@ import core.resolve.ResolveOptions import core.retrieve.RetrieveOptions import plugins.parser.m2.{PomModuleDescriptorParser,PomModuleDescriptorWriter} -final class PublishPatterns(val deliverIvyPattern: Option[String], val srcArtifactPatterns: Seq[String]) +final class PublishPatterns(val deliverIvyPattern: String, val srcArtifactPatterns: Seq[String], val publishIvy: Boolean) final class PublishConfiguration(val patterns: PublishPatterns, val status: String, val resolverName: String, val configurations: Option[Seq[Configuration]], val logging: UpdateLogging.Value) final class UpdateConfiguration(val retrieve: Option[RetrieveConfiguration], val missingOk: Boolean, val logging: UpdateLogging.Value) @@ -78,12 +78,10 @@ object IvyActions val revID = md.getModuleRevisionId val options = DeliverOptions.newInstance(ivy.getSettings).setStatus(status) options.setConfs(IvySbt.getConfigurations(md, configurations)) - ivy.deliver(revID, revID.getRevision, getDeliverIvyPattern(patterns), options) + ivy.deliver(revID, revID.getRevision, patterns.deliverIvyPattern, options) } } - def getDeliverIvyPattern(patterns: PublishPatterns) = patterns.deliverIvyPattern.getOrElse(error("No Ivy pattern specified")) - // todo: map configurations, extra dependencies def publish(module: IvySbt#Module, configuration: PublishConfiguration, log: Logger) { @@ -94,7 +92,7 @@ object IvyActions val patterns = new java.util.ArrayList[String] srcArtifactPatterns.foreach(pattern => patterns.add(pattern)) val options = (new PublishOptions).setOverwrite(true) - deliverIvyPattern.foreach(options.setSrcIvyPattern) + if(publishIvy) options.setSrcIvyPattern(deliverIvyPattern) options.setConfs(IvySbt.getConfigurations(md, configurations)) ivy.publish(revID, patterns, resolverName, options) } diff --git a/main/Defaults.scala b/main/Defaults.scala index da36181c4..7b7ca1308 100755 --- a/main/Defaults.scala +++ b/main/Defaults.scala @@ -508,7 +508,8 @@ object Classpaths (pid, deps, ivyXML, project, defaultConf, ivyS, validate) => new InlineConfiguration(pid, deps, ivyXML, project.configurations, defaultConf, ivyS, validate) }, makePomConfiguration <<= pomFile(file => makePomConfigurationTask(file)), - publishConfiguration <<= (target, publishTo, ivyLoggingLevel) map { (outputDirectory, publishTo, level) => publishConfig( publishPatterns(outputDirectory), resolverName = getPublishTo(publishTo).name, logging = level) }, + publishConfiguration <<= (target, publishTo, ivyLoggingLevel, publishMavenStyle) map { (outputDirectory, publishTo, level, mavenStyle) => + publishConfig( publishPatterns(outputDirectory, !mavenStyle), resolverName = getPublishTo(publishTo).name, logging = level) }, publishLocalConfiguration <<= (target, ivyLoggingLevel) map { (outputDirectory, level) => publishConfig( publishPatterns(outputDirectory, true), logging = level ) }, ivySbt <<= ivyConfiguration map { conf => new IvySbt(conf) }, ivyModule <<= (ivySbt, moduleSettings) map { (ivySbt, settings) => new ivySbt.Module(settings) }, @@ -589,7 +590,7 @@ object Classpaths Nil pathPatterns.map(_.absolutePath) } - new PublishPatterns( if(publishIvy) Some(deliverPattern) else None, srcArtifactPatterns) + new PublishPatterns(deliverPattern, srcArtifactPatterns, publishIvy) } def projectDependenciesTask =