Build system for the Weather Wizard and Navigation Console
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



This project will help you to build the Weather Wizard and the Navigation Desktop.

  • It requires Gradle and Java.
    • Gradle will be downloaded and installed if missing.

You obviously need git (ie on Windows, you need the git bash tool).

Summary of the pre-requisites
  • Java, version 1.8 minimum (know your $JAVA_HOME).
  • git
    • On Windows, install the git bash shell. See this for more details...
    • git should be available by default on Mac OS and Linux

If you are not familiar with those tools, just google 'How to install Java', 'How to install git bash shell on Windows', and you should be all set.

To proceed, the first time:

  • Clone this project in your environment

  • Modify the script named set.gradle.env to match your context

    On Windows, careful! If your %JAVA_HOME% has blanks in its value, do not forget to frame it with double quotes, like export JAVA-HOME="/c/Program Files/Java/jdk1.8.0_131"

  • Run the script named build.all


This project refers to several independent sub-projects, this is intentional, as several of them can be used independently of the project you're on right now. This is sometime a bit cumbersome, as every sub-project has to be checked in and out separately, but it brings some flexibility to the software, and to all the projects that may depend on the sub-projects.


This build process allows the soft to run on Linux, Windows, and Mac OS. For Linux, tested on Debian, and Ubuntu.

First check out with git

Here is a console output. In bold, the commands you type.

Welcome to Git (version 1.8.4-preview20130916)

Run 'git help git' to display the help index.
Run 'git help ' to display help for specific commands.

oliv@OLIV-LAP /
$ git clone
Cloning into 'oliv-soft-project-builder'...
remote: Counting objects: 254, done.
remote: Compressing objects: 100% (69/69), done.
remote: Total 254 (delta 38), reused 2 (delta 2), pack-reused 182Receiving objects:  75% (191/254), 20.62 MiB | 971.00 KiB/s
Receiving objects: 100% (254/254), 20.87 MiB | 984.00 KiB/s, done.
Resolving deltas: 100% (146/146), done.
Checking connectivity... done

oliv@OLIV-LAP /
$ cd oliv-soft-project-builder/
$ chmod +x set.gradle.env
$ chmod +x
$ chmod +x
$ chmod +x build.all
$ chmod +x gradlew

oliv@OLIV-LAP / (master)
$ cat set.gradle.env
export JAVA_HOME=/d/Java/jdk1.7.0_45
echo Gradle Env is set.
./gradlew --version

Note: If you are behind a firewall, you will need a proxy. Set it in the file named

Then you are ready for the build. The build.all script checks out all the required projects and runs the shadowJar task in the release project:

oliv@OLIV-LAP / (master)
$ ./build.all
Do you need a proxy (say n if you don't know) ? [n]|y >n
Unsetting git proxies
Setting env
Gradle Env is set.

Gradle 2.3

Build time:   2015-02-16 05:09:33 UTC
Build number: none
Revision:     586be72bf6e3df1ee7676d1f2a3afd9157341274

Groovy:       2.3.9
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.7.0_45 (Oracle Corporation 24.45-b08)
OS:           Windows 7 6.1 amd64

Step 1 - Checkout
Checking out javanmeaparser...


Total time: 36.317 secs

oliv@OLIV-LAP / (master)

If the build process went well, you ready to use the software.


To refresh (ie when you've already done the above once), run the script named

prompt> chmod +x
prompt ./

This script does a git pull in all the sub-directories, which is something you can do yourself is you wish.

After refreshing the code, you need to re-build the software, from the release directory:

prompt> cd olivsoft/release
prompt> ../../gradlew --daemon shadowJar

Generate your own distribution

Do look into the release module in the directories generated by the commands above. Once you have run the task above (shadowJar), you can archive the full release directory and distribute it. It contains everything needed for Linux, MacOS, and Windows.


All the details are in the of the release project.