Skip to content
mbtaylorPublic

About

Build/release machinery for TOPCAT/STILTS/STIL

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1,539 Commits

Folders and files

Repository files navigation

tcrelease

This contains the machinery required to build and package TOPCAT, STILTS and STIL for release. It does the starjava build in a submodule, then applies additional packaging and generates web pages suitable for uploading. These end up as the package web pages currently hosted here:

and the package release archives hosted here:

Build procedure

In principle, you can just write make build at the top level. However, this probably doesn't work.

The problem is that the DMG file has to be built on a Mac, but the java compilation (hence jar files) have to be built using a Java 8 JDK, and there doesn't appear to be a good and up to date Java 8 JDK that runs nicely on Mac. The DMG build depends on the jar file built for topcat, and the topcat deployment depends on the DMG file.

Here is what I currently do.

  • Do the starjava build on Linux (this is somewhat time-consuming):
    • make build-starjava
  • Do the DMG build on Mac:
    • copy starjava/lib/topcat/topcat-full.jar just built on Linux to the dmg directory on Mac
    • make build-dmg
  • Copy dmg/topcat-all.dmg just built on Mac to the dmg directory on Linux
  • Continue with the rest of the build on Linux:
    • make build
    • make test

If it becomes possible to build the whole thing on one platform then this can get much simpler.

Release procedure

Web pages

Once built, you can then do

  • make stage

to prepare the files that will appear in public web pages, look at them in the www subdirectory to check they're OK, and then

  • make deploy-pages
  • make deploy-archive

to copy them there. The implementation details of the deployment step will need to change depending on where the web pages are being deployed.

STIL maven central repository

The STIL package should be updated in the maven central repository, at https://central.sonatype.com/artifact/uk.ac.starlink/stil. This is done using the uploadmaven target in the stil subdirectory.

homebrew

Homebrew configuration is done by the file

This seems to take care of itself, automatically getting updated when the files for a new version are deployed. Look at the ruby file itself to see what it's doing.

About

Build/release machinery for TOPCAT/STILTS/STIL

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages