Add notes as to why Configuration isn't managed by Contraband

This commit is contained in:
Dale Wijnand 2018-03-08 14:50:17 +00:00
parent 8d49d5163c
commit de360bb139
No known key found for this signature in database
GPG Key ID: 4F256E3D151DF5EF
1 changed files with 16 additions and 0 deletions

View File

@ -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
*/