sbt/contraband

Generating private constructors generates lots of noise

Closed this issue · 3 comments

Here's a sample

[warn] /d/sbt-lm/librarymanagement/target/scala-2.11/src_managed/main/sbt/internal/librarymanagement/InlineConfiguration.scala:20: private constructor in class InlineConfiguration is never used
[warn]   private def this(validate: Boolean, ivyScala: Option[sbt.librarymanagement.IvyScala], module: sbt.librarymanagement.ModuleID, moduleInfo: sbt.librarymanagement.ModuleInfo, dependencies: Vector[sbt.librarymanagement.ModuleID]) = this(validate, ivyScala, module, moduleInfo, dependencies, Set.empty, Vector(), scala.xml.NodeSeq.Empty, Vector(), None, sbt.librarymanagement.ConflictManager.default)
[warn]               ^
[warn] /d/sbt-lm/librarymanagement/target/scala-2.11/src_managed/main/sbt/internal/librarymanagement/RetrieveConfiguration.scala:13: private constructor in class RetrieveConfiguration is never used
[warn]   private def this(retrieveDirectory: java.io.File, outputPattern: String) = this(retrieveDirectory, outputPattern, false, None)
[warn]               ^
[warn] /d/sbt-lm/librarymanagement/target/scala-2.11/src_managed/main/sbt/librarymanagement/Artifact.scala:16: private constructor in class Artifact is never used
[warn]   private def this(name: String) = this(name, Artifact.DefaultType, Artifact.DefaultExtension, None, Vector(), None, Map.empty)
[warn]               ^
[warn] /d/sbt-lm/librarymanagement/target/scala-2.11/src_managed/main/sbt/librarymanagement/Configuration.scala:15: private constructor in class Configuration is never used
[warn]   private def this(name: String) = this(name, "", true, Vector(), true)
[warn]               ^
[warn] /d/sbt-lm/librarymanagement/target/scala-2.11/src_managed/main/sbt/librarymanagement/ConflictManager.scala:13: private constructor in class ConflictManager is never used
[warn]   private def this(name: String) = this(name, "*", "*")
[warn]               ^
[warn] /d/sbt-lm/librarymanagement/target/scala-2.11/src_managed/main/sbt/librarymanagement/InclExclRule.scala:21: private constructor in class InclExclRule is never used
[warn]   private def this() = this("*", "*", "*", Vector())
[warn]               ^

There are purely for bincompat. I don't consider that to be a bug of Contraband.

It's not a bug, but it's the reality fallout of a recent design decision.

One I don't think we shouldn't dismiss so casually (my whole screen is full of them).

oh! ahaha. fixed with #117.