From de360bb1390426127f8eb67bdc0faffc1a8ede64 Mon Sep 17 00:00:00 2001 From: Dale Wijnand Date: Thu, 8 Mar 2018 14:50:17 +0000 Subject: [PATCH] Add notes as to why Configuration isn't managed by Contraband --- .../sbt/librarymanagement/Configuration.scala | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/core/src/main/scala/sbt/librarymanagement/Configuration.scala b/core/src/main/scala/sbt/librarymanagement/Configuration.scala index 63dffb42f..60c1cd91b 100644 --- a/core/src/main/scala/sbt/librarymanagement/Configuration.scala +++ b/core/src/main/scala/sbt/librarymanagement/Configuration.scala @@ -73,3 +73,19 @@ object Configuration { ): Configuration = new Configuration(id, name, description, isPublic, extendsConfigs, transitive) } + +/* +Configuration isn't defined with Contraband. + +The reasons that block it from being made a Contraband type (AFAIK): + * its hashCode is a val, not a def + * it doesn't have companion apply methods, but "of" instead + +Other reasons that I don't think are blocking: + * it's constructor is private[sbt] (doesn't matter, Configuration.of is public) + +Reasons that are definitely not blocking: + * it has a custom toString, supported by Contraband + * it has init requirements, supported by Contraband via parent class + * it has other methods, supported by Contraband via parent class + */