- Cross-project variables support
- Base-directory management in buildScript
- Project dependency management
Build language is an extensible build automation DSL for defining builds in a declarative way. Generated into Ant, it leverages Ant execution power while keeping your sources clean and free from minor details. Organized as a stack of MPS languages with ANT at the bottom, it allows each part of your build procedure to be expressed at different abstraction level. Building a complex artifact (like MPS plug-in) could be just one line of code if you follow the conventions, but nothing prevents you from diving into details like file management or manifest properties.
Build script dependencies allow to organize your build as a sequence of steps, ready to run on different machines. In generation time sophisticated resolving mechanism transforms high-level dependencies into appropriate ANT tasks. For example, dependency on java module is replaced with its jar location. Referring to archives content implicitly extracts it.
Building languages for distribution as a plug-in for IntelliJ IDEA, MPS or even as your own standalone IDE has become an extremely easy task. MPS-aware build language extension knows how to build MPS modules and supports all kinds of packaging. Build solution wizard helps to start with a new script.