Hello everyone,
We’ve encountered the following uses cases in Griffon projects and we’d like to know what alternatives may exist to cover them (using the build DSL already if possible)
- define dependencies that should be resolved per platform (such as macosx, windows32, linux, etc)
- run an application with all dependencies (general and platform specific) using the
application
plugin. - create binary distributions (again with the
application
plugin) for each target platform. This requires- selecting all general and platform specific jars
- tweaking the generated launch script (e.g, -Xdock:icon is not a valid JVM arg on Linux and Windows VMS)
I believe the Android tooling performs an elaborate platform matrix that delivers similar features, which of course relies on the Gradle model. Question is, how to make it work? I wish it was as simple as saying
dependencies {
griffon 'org.codehaus.griffon:griffon-core:2.3.0'
platform {
macosx { compile 'com.apple:unicorns:1.0.0' }
windows { compile 'com.microsoft:dragons:1.2.3' }
}
}
run {
platform {
macosx {
jvmArgs = ['-XDock:icon=path/to/app.icns']
}
}
}
Then it would a simple matter to define the target platform to run as a project property or pick it up as a default from System properties.