X-Git-Url: http://source.jalview.org/gitweb/?p=jalview.git;a=blobdiff_plain;f=doc%2Fbuilding.md;h=8e21d5778379ac7aa8554cb364416b1ecc86eb05;hp=d2544f7deb73f428e052b1ae4767bf52e282834f;hb=89350c76ad3884aa1394952979998ea58902063c;hpb=a997f123bec5e2ec6fcddd6a567238aeeb3dd985 diff --git a/doc/building.md b/doc/building.md index d2544f7..8e21d57 100644 --- a/doc/building.md +++ b/doc/building.md @@ -409,17 +409,25 @@ looks to see if there's an updated file) to point to a particular Jalview channe place to look for required files. If the selected channel type requires the getdown `appbase` to be a local directory on the filesystem (instead of a website URL) then a modified version of the `getdown-launcher.jar` will be used to allow this. The two versions of the `getdown-launcher.jar` can be found in `getdown/lib`. +Note that the DEVELOP and RELEASE channels will normally use a getdown-launcher.jar that *does not* allow the +`file://` scheme to be used in the appbase. + Some other variables used in the build process might also be set differently depending on the value of `CHANNEL` to allow smooth operation of getdown in the given context. -There are several values of `CHANNEL` that can be chosen, with a default of `LOCAL`. Here's what they're for and what they do: +There are several values of `CHANNEL` that can be chosen, with no choice leading to a default of `LOCAL`. +Here's what they're for and what they do: -* `LOCAL`: This is for running the compiled application from the development directory. +* `LOCAL`: This is for running the compiled application from the development directory and used by default. It will set - - `appbase` as `file://PATH/TO/YOUR/DEVELOPMENT/getdown/files/JAVA_VERSION` - (e.g. `file://home/user/git/jalview/getdown/files/11`) + - `appbase` as `file://PATH/TO/YOUR/DEVELOPMENT/getdown/website/JAVA_VERSION` + (e.g. `file://home/user/git/jalview/getdown/website/11`) - application subdir as `alt` - Getdown launcher can use a `file://` scheme appbase. + - Compile jalview with `gradle getdown` or `gradle shadowJar` + - Run Jalview on the command line without using the installers with, + Using getdown, e.g. `java -jar ./getdown/files/11/getdown-launcher.jar ./getdown/files/11 jalview` + or using the shadowJar with, e.g. `java -jar ./build/libs/jalview-all-TEST-j11.jar` * `BUILD`: This is for creating an appbase channel on the build server by an automatic or manually started build. It will set - `appbase` as `https://builds.jalview.org/browse/${bamboo_planKey}/latest/artifact/shared/getdown-channel/JAVA_VERSION` @@ -469,10 +477,28 @@ e.g. gradle getdown -PCHANNEL=SCRATCH-my_test_version ``` +**New `CHANNEL` appearance features 2020-12-10** +There are now differing cosmetics for different channels, including application icons, Getdown splashscreen, +About splashscreen, Installer backgrounds, application name. This is controlled by the files in +``` +utils/channels +``` +In `utils/channels` there are different directories for the different channels. Currently there are directories for +`default`, `develop`, `release`, `test-release`, `jalviewjs` and `jalviewjs-release`. If a specified `CHANNEL` is not one of `DEVELOP`, `RELEASE`, `TEST-RELEASE`, `JALVIEWJS`, `JALVIEWJS-RELEASE` +then it will use the `default` directory. + +Inside the `utils/channels/` directory are: +- a file `channel_gradle.properties`. This will be used by the `build.gradle` script (i.e. any gradle build) to *override* the values found in `gradle.properties`. +- an `images` directory used to store different images referred to in this channels's `channel_gradle.properties`. +- a `resources` directory which is merged into the javliew.jar's own resources directory. Importantly it contains a `channel.props` file and another `images` dir which contains properties and images used by the application (in `jalview.util.ChannelProperties`), such as icon files or banner images, and the `app_name` property used as the display name for the application (e.g. "Jalview Develop") inside the application code. Please see the `getProperty` and `getImage` methods in `jalview.bin.ChannelProperties` to access these channel based resources. + + #### JALVIEW_VERSION and the RELEASE file Any Jalview build will include the value of JALVIEW_VERSION in various places, including the 'About' and Jalview Desktop window title, and in filenames for the stand-alone executable jar. You can specify a custom version for a build via the JALVIEW_VERSION property, but for most situations, JALVIEW_VERSION will be automatically configured according to the value of the CHANNEL property, using the `jalview.version` property specified in the RELEASE file: - - `CHANNEL=RELEASE` will set version to jalview.version - - `CHANNEL=TEST or DEVELOP` will append '-test' or '-develop' to jalview.version + - `CHANNEL=RELEASE` will set version to jalview.version. + - `CHANNEL=TEST or DEVELOP` will append '-test' or '-develop' to jalview.version. + - `CHANNEL=JALVIEWJS` will use the `channel.props` found in `utils/channels/jalviewjs` but otherwise uses `LOCAL` settings. + - `CHANNEL=JALVIEWJS-RELEASE` uses a symbolic link to `utils/channels/jalviewjs` but otherwise uses `RELEASE` settings. It is also possible to specify a custom location for the RELEASE file via an optional JALVIEW_RELEASE_FILE property.