I noticed people using a template with object Dependencies and doing import Dependencies._ in an object build in sbt like this:
import sbt._ import Keys._ object Dependencies { // dependencies declared as vars } object build extends Build { // bring Dependencies' vars to scope import Dependencies._ // project definitions }
More recently, I found another approach with a sign as follows:
import sbt._ import Keys._ trait Dependencies { // dependencies declared as vars } // bring Dependencies' vars to scope by with object build extends Build with Dependencies { // project definitions }
I think the tagged approach gives me a better naming convention for the assembly object, as it reads that the assembly of objects is an assembly with dependencies inside.
What are the differences between the approaches (apart from perhaps the best writing / reading of the object)?
I think the question can easily boil down to the fact that the differences between objects and features are in Scala, but since it has narrowed down to the definitions of the sbt assembly (which, in my opinion, does not require such expressiveness), I thought that ask general definitions here assembly definitions.
source share