Skip to content

JHUAPL/DistMaker

Repository files navigation

DistMaker

Description

DistMaker provides a capability to enable developers to package a Java client application for any target platform (Linux, MacOS, and Windows). A DistMaker enabled package allows for easy distribution via its in-app update capability.

Currently DistMaker is distributed in source form only, so it will need to be compiled. See the section: Building DistMaker.

More details

DistMaker is a software toolkit which allows a software developer to develop applications that have a built-in update mechanism.

The update mechanism can be manually triggered by an end user or through an auto update mechanism.

DistMaker provides a capability to allow a software developer to deploy (or remove) updates to a deployment site.

Usage

Please read the ./doc/QuickStartGuide.pdf for instructions on:

  • Source code changes to make the application DistMaker enabled
  • Setting up the deploy site for the DistMaker application
  • Deploying the DistMaker application

Dependencies

A DistMaker enabled (Java) application has the following dependencies:

  • Java 17+
  • Apache Commons Compress 1.15+
  • Guava 18.0+
  • Glum 2.0.0+
  • MigLayout 3.7.2+

An additional dependency for DistMaker enabled applications on the Windows platform is:

  • Lanch4J 3.14

To package and distribute a DistMaker application the following are the software (server side) dependencies:

  • Java 17+
  • Python 3.6+

Note the following:

  • In theory DistMaker should work with later versions of the above listed software.
  • To allow for distribution of updates, you will need to have permissions to a web server.

Building DistMaker

To build a DistMaker release from the console, run the following command:

    ./tools/buildRelease

The following sofware are dependencies for compiling DistMaker:

  • JDK 17+
  • Python 3.6+
  • Apache Ant 1.10.8+

Note, you will have to edit the script, ./tools/buildRelease, so that the variables antPath and jdkPath are relative to your system.

In addition, if DistMaker is to build compressed DMG files you will need to get a copy of the libdmg-hfsplus software. That software is located at:

    https://github.com/fanquake/libdmg-hfsplus

You would then need to update the file ./script/appleUtils.py, and change the compressCmd to reflect the location to the actual dmg executable. This executable does the actual compression.

Legal Notice

DistMaker utilizes a number of copyrighted products.

A listing of all copyrights can be found in the folder:

    ./doc/legal/

Each copyrighted product has a textual file with a naming convention of:

    License.<aProductName>.txt

Note that <aProductName> corresponds to the formal product name.

 

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published