cvogt / cbt

CBT - fun, fast, intuitive, compositional, statically checked builds written in Scala
Other
488 stars 60 forks source link

Factor out a common trait for stage2 plugins #521

Open megri opened 7 years ago

megri commented 7 years ago

May do with a better name than stage2 too

cvogt commented 7 years ago

Let's not rename for now. stage2 symbolizes that this is the second stage of cbt's scala code during bootstrapping. On the package level, everything ends up in cbt. Happy to have a discussion about renaming suggestions though. So far I had imagined introducing one more stage for technical reasons, renaming nailgun_launcher to stageSomething and then renumbering them all 1-4 or 0-3. Maybe...

+100 for refactoring the compiler plugins. Maybe by moving the code that add compiler plugins into a ScalaBuild plugin trait ( into we can move some of the things in BaseBuild eventually as well ). And then having that trait maintain a list of plugins, all of which it simply enables, and you can add more. It probably needs to be a list of artifactId, groupId, version, resolverUrl, name. We can put the known ones into a list in the companion: ScalaBuild.plugins. That's one way to do it. Any alternatives or thoughts?