To echo Mark's words -
I'd like to make a concentrated effort in 0.14 to improve the Defaults.scala API for end users.
This means everything gets a minor overhaul to make it easier for users to learn the default build, and adapt things for their use cases.
I consider this the second half of the work mark has done to improve syntax. The goal to be to reduce sbt's "learning cliff" to a more gentle slope, and to make the intermediate build customizations more accessible. (I.e. you shouldn't have to be able to write a full up plugin/default build yourself just to be able to understand how to add a small portion of functionality). This combined with appealing to copy-paste build assemblers, I think we help improve the sbt experience for more users.
The second item is about dependency resolution and what we do. Adept is one potential, but I don't see that hitting until after a 1.0 and a proper Ivy interface in SBT that allows us to extract it.
I know Hans/Gradleware has recently written their own dependency management tool, and are looking at distributed builds in the long run. We've had a few late night chats, and I think we may be heading the same direction, albeit from different angles. There's potential here for working together, but again, it's also about giving our users the best experience.
So, as Mark states, a 1.0 denotes a level of stability and "intentful design" that is missing in some areas of SBT. Anyone willing to help us identify and design interfaces for 0.14, please join in. When I find time, I'll make sure to post initial ideas and "common use cases" we need to solve for each area, before implemented an API for discussion.
I really look forward to an sbt 1.0, but I think we all agree the default build and some libraries need a cleanup before going 1.0.
To echo Mark's words -
I'd like to make a concentrated effort in 0.14 to improve the Defaults.scala API for end users.
This means everything gets a minor overhaul to make it easier for users to learn the default build, and adapt things for their use cases.
I consider this the second half of the work mark has done to improve syntax. The goal to be to reduce sbt's "learning cliff" to a more gentle slope, and to make the intermediate build customizations more accessible. (I.e. you shouldn't have to be able to write a full up plugin/default build yourself just to be able to understand how to add a small portion of functionality). This combined with appealing to copy-paste build assemblers, I think we help improve the sbt experience for more users.
The second item is about dependency resolution and what we do. Adept is one potential, but I don't see that hitting until after a 1.0 and a proper Ivy interface in SBT that allows us to extract it.