You've already published your app to Maven Central, and still you need to do a bunch of releases for every OS, and worry about Java versions.
Galao enables you to leverage the existing Maven infrastructure so that you can distribute your applications easily to Windows, Linux and macOS users easily. All they need is npm to be installed.
Install Node.Js
npm install -g galaoNow you can run, for instance, h2 with one line:
galao launch --as h2 com.h2database:h2:2.1.214This will fetch the h2 database from Maven Central, with all its dependencies, launch it, and also save an alias 'h2' for future runs:
galao launch h2If you'd like to make it run directly without galao stuff, it's easy too:
galao launch -g h2h2Yes, there are plans to make Galao available through other means:
Behind the scenes, if you haven't already got them installed, Galao downloads Maven and a JDK.
It will run the Maven dependency:get task, which downloads all the transitive dependencies. Then it uses Maven to build the full classpath of all the dependencies, and runs a Java process.
Coursier is tricky to install consistently, and installs a full Scala distribution with it.
Coursier also does not gel well with Enterprise environments, where Maven is already properly set up.
This means Galao easily works inside Enterprise environments, fully utilising your existing Maven set-up, including proxies, mirrors, authentication, ...
This minimises the effort needed to set up the tool, whereas Coursier has its own fantastic but different tooling, bringing with it a steep learning curve.
This option was considered. However, Maven is a build tool and it's wiser not to run production applications from within a build tool. Also, there is extra set-up and consistency concern with Maven; whereas with NPM/specialized installations we can allow galao to work really quickly.
Galao was built to enable Scala Genie, the PHP-like Scala web development framework