Make *Extra & *Functions classes private[librarymanagement]

They were never meant to be public types: they're implementation detail.
This commit is contained in:
Dale Wijnand 2018-03-09 10:08:36 +00:00
parent 16553efb8e
commit b969f7362c
No known key found for this signature in database
GPG Key ID: 4F256E3D151DF5EF
11 changed files with 30 additions and 26 deletions

View File

@ -105,6 +105,12 @@ lazy val lmCore = (project in file("core"))
(((srcs --- sdirs --- base) pair (relativeTo(sdirs) | relativeTo(base) | flat)) toSeq)
},
mimaSettings,
mimaBinaryIssueFilters ++= Seq(
// internal class moved
exclude[MissingClassProblem]("sbt.internal.librarymanagement.InlineConfigurationFunctions"),
// dropped internal class parent (InlineConfigurationFunctions)
exclude[MissingTypesProblem]("sbt.librarymanagement.ModuleDescriptorConfiguration$"),
),
)
.configure(addSbtIO, addSbtUtilLogging, addSbtUtilPosition, addSbtUtilCache)

View File

@ -72,7 +72,7 @@ final class ModuleDescriptorConfiguration private (
copy(conflictManager = conflictManager)
}
}
object ModuleDescriptorConfiguration extends sbt.internal.librarymanagement.InlineConfigurationFunctions {
object ModuleDescriptorConfiguration extends sbt.librarymanagement.InlineConfigurationFunctions {
def apply(module: sbt.librarymanagement.ModuleID, moduleInfo: sbt.librarymanagement.ModuleInfo): ModuleDescriptorConfiguration = new ModuleDescriptorConfiguration(false, None, module, moduleInfo, Vector.empty, Vector.empty, Vector.empty, scala.xml.NodeSeq.Empty, sbt.librarymanagement.Configurations.default, Option(sbt.librarymanagement.Configurations.Compile), sbt.librarymanagement.ConflictManager.default)
def apply(validate: Boolean, scalaModuleInfo: Option[sbt.librarymanagement.ScalaModuleInfo], module: sbt.librarymanagement.ModuleID, moduleInfo: sbt.librarymanagement.ModuleInfo, dependencies: Vector[sbt.librarymanagement.ModuleID], overrides: Vector[sbt.librarymanagement.ModuleID], excludes: Vector[sbt.librarymanagement.InclExclRule], ivyXML: scala.xml.NodeSeq, configurations: Vector[sbt.librarymanagement.Configuration], defaultConfiguration: Option[sbt.librarymanagement.Configuration], conflictManager: sbt.librarymanagement.ConflictManager): ModuleDescriptorConfiguration = new ModuleDescriptorConfiguration(validate, scalaModuleInfo, module, moduleInfo, dependencies, overrides, excludes, ivyXML, configurations, defaultConfiguration, conflictManager)

View File

@ -572,7 +572,7 @@
},
{ "name": "conflictManager", "type": "sbt.librarymanagement.ConflictManager", "default": "sbt.librarymanagement.ConflictManager.default", "since": "0.0.1" }
],
"parentsCompanion": "sbt.internal.librarymanagement.InlineConfigurationFunctions"
"parentsCompanion": "sbt.librarymanagement.InlineConfigurationFunctions"
}
]
},

View File

@ -1,11 +1,9 @@
/* sbt -- Simple Build Tool
* Copyright 2008, 2009, 2010 Mark Harrah
*/
package sbt.internal.librarymanagement
package sbt.librarymanagement
import sbt.librarymanagement._
abstract class InlineConfigurationFunctions {
private[librarymanagement] abstract class InlineConfigurationFunctions {
def configurations(
explicitConfigurations: Iterable[Configuration],
defaultConfiguration: Option[Configuration]

View File

@ -6,7 +6,7 @@ package sbt.librarymanagement
import java.io.File
import java.net.URL
abstract class ArtifactExtra {
private[librarymanagement] abstract class ArtifactExtra {
def name: String
def `type`: String
def extension: String
@ -33,7 +33,7 @@ abstract class ArtifactExtra {
import Configurations.{ Optional, Pom, Test }
abstract class ArtifactFunctions {
private[librarymanagement] abstract class ArtifactFunctions {
def apply(name: String, extra: Map[String, String]): Artifact =
Artifact(name, DefaultType, DefaultExtension, None, Vector.empty, None, extra, None)
def apply(name: String, classifier: String): Artifact =

View File

@ -76,7 +76,7 @@ object Configurations {
}
}
abstract class ConfigurationExtra {
private[librarymanagement] abstract class ConfigurationExtra {
def id: String
def name: String
def description: String
@ -142,7 +142,7 @@ private[sbt] object ConfigurationMacro {
.map(_.tree.asInstanceOf[c.Tree])
}
abstract class ConfigRefFunctions {
private[librarymanagement] abstract class ConfigRefFunctions {
implicit def configToConfigRef(c: Configuration): ConfigRef =
c.toConfigRef
}

View File

@ -5,7 +5,7 @@ import sbt.librarymanagement.syntax._
final case class ScalaVersion(full: String, binary: String)
abstract class CrossVersionFunctions {
private[librarymanagement] abstract class CrossVersionFunctions {
/** Compatibility with 0.13 */
final val Disabled = sbt.librarymanagement.Disabled

View File

@ -5,7 +5,7 @@ package sbt.librarymanagement
import sbt.librarymanagement.DependencyBuilders.{ Organization, OrganizationArtifactName }
abstract class InclExclRuleFunctions {
private[librarymanagement] abstract class InclExclRuleFunctions {
def everything = InclExclRule("*", "*", "*", Vector.empty, Disabled())
def apply(organization: String, name: String): InclExclRule =
@ -29,7 +29,7 @@ abstract class InclExclRuleFunctions {
}
}
abstract class ArtifactTypeFilterExtra {
private[librarymanagement] abstract class ArtifactTypeFilterExtra {
def types: Set[String]
def inverted: Boolean
@ -41,12 +41,12 @@ abstract class ArtifactTypeFilterExtra {
def invert = copy(inverted = !inverted)
}
abstract class ArtifactTypeFilterFunctions {
private[librarymanagement] abstract class ArtifactTypeFilterFunctions {
def allow(types: Set[String]) = ArtifactTypeFilter(types, false)
def forbid(types: Set[String]) = ArtifactTypeFilter(types, true)
}
abstract class ConflictManagerFunctions {
private[librarymanagement] abstract class ConflictManagerFunctions {
// To avoid NPE (or making the val's below lazy)
// For case classes refchecks rewrites apply calls to constructor calls, we have to do it manually
def apply(name: String, organization: String = "*", module: String = "*"): ConflictManager

View File

@ -9,7 +9,7 @@ import sbt.internal.librarymanagement.mavenint.SbtPomExtraProperties
import scala.collection.mutable.ListBuffer
import sbt.librarymanagement.syntax._
abstract class ModuleIDExtra {
private[librarymanagement] abstract class ModuleIDExtra {
def organization: String
def name: String
def revision: String
@ -181,7 +181,7 @@ abstract class ModuleIDExtra {
def branch(branchName: Option[String]) = copy(branchName = branchName)
}
abstract class ModuleIDFunctions {
private[librarymanagement] abstract class ModuleIDFunctions {
/** Prefixes all keys with `e:` if they are not already so prefixed. */
def checkE(attributes: Seq[(String, String)]) =

View File

@ -24,12 +24,12 @@ final class RawRepository(val resolver: AnyRef, name: String) extends Resolver(n
}
}
abstract class MavenRepositoryFunctions {
private[librarymanagement] abstract class MavenRepositoryFunctions {
def apply(name: String, root: String, localIfFile: Boolean = true): MavenRepository =
MavenRepo(name, root, localIfFile)
}
abstract class PatternsFunctions {
private[librarymanagement] abstract class PatternsFunctions {
implicit def defaultPatterns: Patterns = Resolver.defaultPatterns
def apply(artifactPatterns: String*): Patterns = Patterns(true, artifactPatterns: _*)
@ -42,7 +42,7 @@ abstract class PatternsFunctions {
}
}
trait SshBasedRepositoryExtra {
private[librarymanagement] trait SshBasedRepositoryExtra {
/** The object representing the configured ssh connection for this repository. */
def connection: SshConnection
@ -67,7 +67,7 @@ trait SshBasedRepositoryExtra {
copy(KeyFileAuthentication(user, keyfile, password))
}
trait SshRepositoryExtra extends SshBasedRepositoryExtra {
private[librarymanagement] trait SshRepositoryExtra extends SshBasedRepositoryExtra {
def name: String
def patterns: sbt.librarymanagement.Patterns
def publishPermissions: Option[String]
@ -78,7 +78,7 @@ trait SshRepositoryExtra extends SshBasedRepositoryExtra {
SshRepository(name, connection, patterns, publishPermissions)
}
trait SftpRepositoryExtra extends SshBasedRepositoryExtra {
private[librarymanagement] trait SftpRepositoryExtra extends SshBasedRepositoryExtra {
def name: String
def patterns: sbt.librarymanagement.Patterns
@ -93,7 +93,7 @@ private[sbt] class FakeRepository(resolver: AnyRef, name: String) extends xsbti.
def rawRepository = new RawRepository(resolver, name)
}
abstract class ResolverFunctions {
private[librarymanagement] abstract class ResolverFunctions {
private[sbt] def useSecureResolvers =
sys.props.get("sbt.repository.secure") map { _.toLowerCase == "true" } getOrElse true

View File

@ -6,7 +6,7 @@ package sbt.librarymanagement
import java.io.File
import java.{ util => ju }
abstract class ConfigurationReportExtra {
private[librarymanagement] abstract class ConfigurationReportExtra {
def configuration: ConfigRef
def modules: Vector[ModuleReport]
def details: Vector[OrganizationArtifactReport]
@ -34,7 +34,7 @@ abstract class ConfigurationReportExtra {
}, details)
}
abstract class ModuleReportExtra {
private[librarymanagement] abstract class ModuleReportExtra {
def module: ModuleID
def artifacts: Vector[(Artifact, File)]
def missingArtifacts: Vector[Artifact]
@ -126,7 +126,7 @@ abstract class ModuleReportExtra {
): ModuleReport
}
abstract class UpdateReportExtra {
private[librarymanagement] abstract class UpdateReportExtra {
def cachedDescriptor: File
def configurations: Vector[ConfigurationReport]
def stats: UpdateStats