X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=doc%2Fbuilding.md;h=497e722f58f89b7557104e1411ae359382f0efcd;hb=4bbd068738ed2e685f580ea1b65a7b11e32d3f3e;hp=ad1997979bc2dbd0c38d56e7fd4e6c65036448e7;hpb=34a1ef54cc5d13727129e9b57137356d6d9c1d86;p=jalview.git diff --git a/doc/building.md b/doc/building.md index ad19979..497e722 100644 --- a/doc/building.md +++ b/doc/building.md @@ -9,7 +9,7 @@ git clone http://source.jalview.org/git/jalview.git cd jalview gradle shadowJar # run -java -jar build/libs/jalview-all-11.jar +java -jar build/libs/jalview-all-*-j11.jar # and/or create launcher gradle getdown @@ -26,7 +26,7 @@ java -jar getdown-launcher.jar . jalview The method here is described in terms of using a command line. You can easily do this on linux or in a Terminal window in macOS. You can do it in Windows. * Java 11 compliant JDK -* gradle 5.2 or above +* gradle 5.2 or above *(NB gradle 6.6 and above currently produces NullPointerExceptions during the build. This is non-fatal and does not affect the build. Use gradle 6.5.1 to avoid this)* * git > The versions and installation methods here are just suggestions (which we have tested @@ -248,20 +248,23 @@ and all of the supporting libraries in `j11lib/*.jar` merged into one `.jar` arc file. A default launching class (`MAIN-CLASS: jalview.bin.Launcher`) is specified in the `.jar` manifest file (`META/MANIFEST.MF`) so a start class doesn't need to be specified. -Build the shadow jar file in `build/lib/jalview-all-11.jar` with +Build the shadow jar file in `build/libs/jalview-all-VERSION-j11.jar` with ```bash gradle shadowJar ``` -and run it with + +__NB__ `VERSION` will be replaced with a version number or "`DEVELOPMENT`" depending on how the branch is set up. + +Run it with ```bash -java -jar build/lib/jalview-all-11.jar +java -jar build/libs/jalview-all-VERSION-j11.jar ``` Because no arguments are required, most OSes will associate a `.jar` file with the `java` application (if this has been installed through the OS and not just a local -unzip) as a `-jar` argument so you may find you can launch `jalview-all-11.jar` +unzip) as a `-jar` argument so you may find you can launch `jalview-all-VERSION-j11.jar` just by double-clicking on it)! > The `shadowJar` task is not a requirement for any other task, so to build the shadow @@ -276,8 +279,8 @@ although without the many and compelling benefits of the `getdown` launcher. We have made significant customisations to the `getdown` launcher which you can find in `getdown/src/getdown`. -> You don't need to build this afresh as the required `gradle-core.jar` -and `gradle-launcher.jar` files are already distributed in `j11lib` and `getdown/lib` but if you want to, then +> You don't need to build this afresh as the required `getdown-core.jar` +and `getdown-launcher.jar` files are already distributed in `j11lib` and `getdown/lib` but if you want to, then you'll need a working Maven and also a Java 8 JDK. Ensure the Java 8 `javac` is forefront in your path and do > @@ -285,9 +288,9 @@ in your path and do >cd getdown/src/getdown >mvn clean package -Dgetdown.host.whitelist="jalview.org,*.jalview.org" >``` -> and you will find the required `.jar` files in `core/target/gradle-core-XXX.jar` -and `launcher/target/gradle-launcher-XXX.jar`. The `gradle-core.jar` should then be copied -to all three of the `j8lib`, `j11lib` and `getdown/lib` folders, whilst the `gradle-launcher.jar` only +> and you will find the required `.jar` files in `core/target/getdown-core-XXX.jar` +and `launcher/target/getdown-launcher-XXX.jar`. The `getdown-core.jar` should then be copied +to all three of the `j8lib`, `j11lib` and `getdown/lib` folders, whilst the `getdown-launcher.jar` only needs to be copied to `getdown/lib`. > >The `mvn` command should ideally include the `-Dgetdown.host.whitelist=*.jalview.org` setting. @@ -318,6 +321,7 @@ java -jar getdown/files/11/getdown-launcher.jar getdown/files/11/ jalview getdown, and the final argument, "`jalview`", is a getdown application id (only "`jalview`" is defined here). +The command line sequence for building and relocating the getdown artifacts can be executed as a script via `getdown/src/getdown/mvn_cmd`. Please make sure this script is kept up to date should the getdown build instructions change. ### Running tests @@ -536,7 +540,7 @@ We develop in Eclipse, and support settings to develop and save Jalview source c in our preferred style. We also support running the Jalview application, debugging and running tests with TestNG from within Eclipse. -To get Jalview set up as a project in Eclipse, we recommend using at least the 2019-12 +To get Jalview set up as a project in Eclipse, we recommend using at least the 2020-03 version of Eclipse IDE for Java Developers which you can download from the Eclipse website: . Since Eclipse 2020-03 you are encouraged to use the Eclipse Installer (see the Eclipse Downloads page). In the installer, when given a choice of packages for Eclipse you should choose the "Eclipse IDE for Enterprise Java Developers" package. @@ -560,7 +564,7 @@ Search for and install: 1. TestNG for Eclipse (optional -- only needed if you want to run tests from Eclipse) > At time of writing, TestNG for Eclipse does not show up in the Eclipse Marketplace -as the latest released version does not install in Eclipse 2019-03. +as the latest released version does not install in Eclipse 2020-03. However, you can install a working release of TestNG for Eclipse by going to > Help->Install New Software... @@ -600,6 +604,14 @@ You can now import Jalview. If you have already downloaded Jalview using `git clone` then you can import this folder into Eclipse directly. +__Before importing the cloned git repo you must create the Eclipse project files.__ You can do this by either running + +`gradle eclipse` + +or + +Unzipping the file `utils/eclipse/eclipse_startup_files.zip` in the base repo directory (`jalview`) + It is important to import Jalview as a Gradle project (not as a Java project), so go to