What does HackerNews think of polyglot-maven?
Support alternative markup for Apache Maven POM files
Maven was intended to be configured via a GUI. If you want to configure it directly, try Polyglot Maven at https://github.com/takari/polyglot-maven which is a very light wrapper around Maven enabling you to use many other languages instead, e.g. Scala, Clojure, and Ruby as well as Apache Groovy.
The Gradle people marketed their product by slagging the XML which was never intended to be directly manipulated by humans. If you really want to use Gradle (and get a coffee whenever it builds something), it also lets you use Kotlin for writing build files.
https://github.com/jruby/jruby/blob/8e29ae1302e7aa989b8808f7...
Too bad Gradle only allows us to use one language (i.e. Groovy) to configure the builds. Because Maven uses generic XML, any language can sit atop it. E.g. Polyglot Maven [1] not only allows us to use Groovy, but also Clojure, Scala, and Ruby to configure its builds.
It might not survive even inside of Gradle. As Gradle becomes more popular, I can't imagine Groovy remaining the only scripting language available for Gradle build scripts. Virtually all serious software offers a choice of scripting languages for configuration, e.g. Maven which can be configured not only with Groovy but also Clojure, Scala, and Ruby, see https://github.com/takari/polyglot-maven . Gradle 2.0 has virtually no Groovy code in its codebase, only what was essential for hosting Groovy for build scripts, so that might give a clue about their future intentions. One snag may be the retrenched Groovy programmer employed by Gradleware after VMware/Pivotal abandoned Groovy: he might sabotage any effort by Gradleware to diversify from Groovy as a scripting language for Gradle builds.
My question in the comment was how we distinguish between needing and not needing an equals sign in the Gradle DSL, such as in the example given...
testdroid {
username "[email protected]"
password "password"
deviceGroup "MyTestDevices"
cloudUrl = 'https://cloud.testdroid.com' // <<<<<<<<<<<<<< WHY THE = SIGN HERE ?
projectName "Project 1"
mode "FULL_RUN"
testRunName "Custom test run name"
deviceLanguageCode "en-US"
hookUrl "http://localhost:9080"
scheduler "PARALLEL"
testScreenshotDir = "/sdcard/abc" // <<<<<<<<<<<<<< WHY THE = SIGN HERE ?
appCrawlerConfig{
applicationPassword = "appPassword2" // <<<<<<<<<<<<<< WHY THE = SIGN FOR THESE ?
applicationUserName = "appUsername2"
}
}
Sounds like Gradle needs something more consistent than Groovy for its DSL. Maven's XML seems more consistent, and if your IDE doesn't handle the XML to your satifaction, you can easily use another language on top of it from the many choices available, e.g. https://github.com/takari/polyglot-maven