icyphy / ptII

Ptolemy II is an open-source software framework supporting experimentation with actor-oriented design.
https://ptolemy.eecs.berkeley.edu/ptolemyII
Other
99 stars 43 forks source link

Building Ptolemy II installers is complex #327

Open cxbrooks opened 6 years ago

cxbrooks commented 6 years ago

The preferred method to use Ptolemy II is to install via Git and then set up Eclipse.

However, we provide installers for people who are not comfortable with Git and/or Eclipse and to also provide a snapshot of a known good working version of Ptolemy II.

One possibility would be to provide a docker image, but users that are not comfortable with Git and Eclipse are not likely to be comfortable with docker. Also, the installers are standalone and do not rely on versions of tools that may or may not be accessible via the Internet in the future.

The Ptolemy II installers are built at least daily via the ptII Travis-ci job, (see also https://wiki.eecs.berkeley.edu/ptexternal/Main/Travis) One of the Travis targets invokes $PTII/bin/ptIITravisBuild.sh, which runs a test in $PTII/adm/installers/test/. That test runs make in $PTII/adm/gen-11.0.

The makefile creates a temporary release in $PTII/adm/dists. The makefile uses IzPack to create installers.

Under Windows and Mac, the installers include a JRE. The reason to include a JRE is to insulate the user from updates to the system JRE that are not backward compatible.

The installer also creates symbolic links via IzpackSetup.java for accessors:

bash-3.2$ ls -l $PTII/org/terraswarm/accessor/accessors/web/node_modules/
total 0
lrwxr-xr-x  1 cxh  staff   8 Jun  6 15:06 @accessors-hosts -> ../hosts
lrwxr-xr-x  1 cxh  staff  23 Jun  6 15:06 @accessors-modules -> ../hosts/common/modules