SEU-as-code User’s Guide
Every software project starts with the setup of a local development environment: a JDK, the preferred IDE and build tool, a local database and application server and so forth. Everything you and your team needs to be productive from day one. Time is valuable, so you take the quick route and reuse a development environment from a previous project. Broken windows from day one! With the first required changes things usually start to go wrong. The individual environments start to diverge and problems during the build or local execution of your software are inevitable.
How can you do better? The short answer is: with SEU-as-code. (SEU; that is the German acronym for software development environment). It is a lightweight approach and tool based on Gradle that helps to alleviate and automate the provisioning of developers and their local software development environments. The idea behind SEU-as-code is simple: describe and implement your software development environment as Gradle build file. Required software packages become dependencies. Shell scripts are implemented in Groovy, additional Gradle tasks or in JavaScript when using Nashorn from the command line. Everything that makes up your development environment is version controlled just as any other source code. This way you can go back to a previous state of your SEU easily. Also you are able to reproduce the exact same result on every developer machine. And as a bonus you get full IDE support for all the scripts and code that make up your SEU.