document packaging executable binaries

This commit is contained in:
woodser 2023-03-26 14:25:58 -04:00
parent 0b37afc6fc
commit 8305c62510
3 changed files with 63 additions and 20 deletions

View File

@ -1,12 +1,52 @@
# Package Installers Follow these instructions to package the Java desktop application as executable binaries.
Run `./gradlew packageInstallers` on the corresponding platform. Wix must be installed for Windows packaging. ## Linux
## Icons 1. `./gradlew packageInstallers`
2. Confirm prompts.
3. Path to installer printed at end. Execute to install: `sudo dpkg -i <path>.deb`
Haveno data folder: `/home/<username>/.local/share/Haveno/`
## Mac
1. `./gradlew packageInstallers`
2. Confirm prompts.
3. Path to installer printed at end.
4. `open <path>`
5. Open installer and drag Haveno.app to Applications.
6. `sudo xattr -rd com.apple.quarantine /Applications/Haveno.app`
7. Right click /Applications/Haveno.app > open.
Haveno data folder: `/Users/<username>/Library/Application Support/Haveno/`
## Windows
1. Enable .NET Framework 3.5:
1. Open the Control Panel on your Windows system.
2. Click on "Programs and Features" or "Uninstall a Program."
3. On the left-hand side, click on "Turn Windows features on or off."
4. In the "Windows Features" dialog box, scroll down and find the ".NET Framework 3.5 (includes .NET 2.0 and 3.0)" option.
5. Check the box next to it to select it.
6. Click "OK" to save the changes and exit the dialog box.
7. Windows will download and install the required files and components to enable the .NET Framework 3.5. This may take several minutes, depending on your internet connection speed and system configuration.
8. Once the installation is complete, you will need to restart your computer to apply the changes.
2. Install wix: https://wixtoolset.org
3. Open MSYS2 for the following commands.
4. `export PATH=$PATH:$JAVA_HOME/bin:"C:\Program Files (x86)\WiX Toolset v3.11\bin"`
5. `./gradlew packageInstallers`
6. Confirm prompts.
7. Path to installer printed at end. Execute to install.
Haveno data folder: `~\AppData\Roaming\Haveno\`
## Additional Notes
### Icons
Icons (Haveno.zip) were obtained from https://github.com/haveno-dex/haveno-meta/issues/1#issuecomment-819741689. Icons (Haveno.zip) were obtained from https://github.com/haveno-dex/haveno-meta/issues/1#issuecomment-819741689.
### Linux #### Linux
The linux package requires the correct packaging tools installed. You may run into the following errors: The linux package requires the correct packaging tools installed. You may run into the following errors:
@ -33,16 +73,16 @@ This may happen if the source folder is on a different hard drive than the syste
export _JAVA_OPTIONS="-Djava.io.tmpdir=/storage/tmp" export _JAVA_OPTIONS="-Djava.io.tmpdir=/storage/tmp"
``` ```
### MacOs #### MacOs
Svg was converted into a 1024x1024 pixel PNG using https://webkul.github.io/myscale/, then converted to icns for macosx Svg was converted into a 1024x1024 pixel PNG using https://webkul.github.io/myscale/, then converted to icns for macosx
here https://cloudconvert.com/png-to-icns here https://cloudconvert.com/png-to-icns
#### Known Issues ##### Known Issues
Signing is not implemented. Signing is not implemented.
### Windows #### Windows
Pngs were resized and pasted into the WixUi images using paint. [CloudConvert](https://cloudconvert.com) was used to convert the Haveno png icon to ico. Pngs were resized and pasted into the WixUi images using paint. [CloudConvert](https://cloudconvert.com) was used to convert the Haveno png icon to ico.

View File

@ -2,25 +2,25 @@
This document is a guide for Haveno development. This document is a guide for Haveno development.
## Installing and testing Haveno ## Install and test Haveno
[Build Haveno and join the test network or test locally](installing.md). [Build Haveno and join the test network or test locally](installing.md).
## Running the UI proof of concept ## Run the UI proof of concept
Follow [instructions](https://github.com/haveno-dex/haveno-ts#run-in-a-browser) to run Haveno's UI proof of concept in a browser. Follow [instructions](https://github.com/haveno-dex/haveno-ts#run-in-a-browser) to run Haveno's UI proof of concept in a browser.
This proof of concept demonstrates using Haveno's gRPC server with a web frontend (react and typescript) instead of Haveno's JFX application. This proof of concept demonstrates using Haveno's gRPC server with a web frontend (react and typescript) instead of Haveno's JFX application.
## Importing Haveno into development environment ## Import Haveno into development environment
Follow [instructions](import-haveno.md) to import Haveno into a development environment. Follow [instructions](import-haveno.md) to import Haveno into a development environment.
## Running end-to-end API tests ## Run end-to-end API tests
Follow [instructions](https://github.com/haveno-dex/haveno-ts#run-tests) to run end-to-end API tests in the UI project. Follow [instructions](https://github.com/haveno-dex/haveno-ts#run-tests) to run end-to-end API tests in the UI project.
## Adding new API functions and tests ## Add new API functions and tests
1. Follow [instructions](https://github.com/haveno-dex/haveno-ts#run-tests) to run Haveno's existing API tests successfully. 1. Follow [instructions](https://github.com/haveno-dex/haveno-ts#run-tests) to run Haveno's existing API tests successfully.
2. Define the new service or message in Haveno's [protobuf definition](../proto/src/main/proto/grpc.proto). 2. Define the new service or message in Haveno's [protobuf definition](../proto/src/main/proto/grpc.proto).
@ -34,7 +34,7 @@ Follow [instructions](https://github.com/haveno-dex/haveno-ts#run-tests) to run
9. Run the tests with `npm run test -- -t 'my test'` to run tests by name and `npm test` to run all tests together. Ensure all tests pass and there are no exception stacktraces in the terminals of Alice, Bob, or the arbitrator. 9. Run the tests with `npm run test -- -t 'my test'` to run tests by name and `npm test` to run all tests together. Ensure all tests pass and there are no exception stacktraces in the terminals of Alice, Bob, or the arbitrator.
10. Open pull requests to the haveno and haveno-ts projects for the backend and frontend implementations. 10. Open pull requests to the haveno and haveno-ts projects for the backend and frontend implementations.
## How to manually sign accounts as the arbitrator ## Manually sign accounts as the arbitrator
1. Open legacy UI as the arbitrator. 1. Open legacy UI as the arbitrator.
2. Go to the 'Account' tab. 2. Go to the 'Account' tab.
@ -43,7 +43,11 @@ Follow [instructions](https://github.com/haveno-dex/haveno-ts#run-tests) to run
b. Sign account age witness: `ctrl+p` then enter <witness hash>,<pub key hash> (from past trade details) and click the "Import unsigned account age witness" button. b. Sign account age witness: `ctrl+p` then enter <witness hash>,<pub key hash> (from past trade details) and click the "Import unsigned account age witness" button.
c. Sign unsigned witness pub keys: `ctrl+o` c. Sign unsigned witness pub keys: `ctrl+o`
## How to rebase and squash your commits ## Package executable binaries
See [instructions](/desktop/package/README.md).
## Rebase and squash your commits
When submitting a pull request for review, please first rebase and squash your commits. When submitting a pull request for review, please first rebase and squash your commits.

View File

@ -8,12 +8,11 @@ On Ubuntu: `sudo apt install make wget git openjdk-11-jdk`
On Windows: On Windows:
1. Download [Java JDK 11](https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_windows-x64_bin.zip) and extract to C:\Program Files\Java\jdk-11.0.2. 1. Download [Java JDK 11](https://adoptium.net/temurin/archive/?version=11). During installation, enable the option to set the $JAVA_HOME environment variable.
2. Add a new user environment variable called `JAVA_HOME` with value `C:\Program Files\Java\jdk-11.0.2` (Windows search > "Edit the system environment variables" > Environment variables...) 2. Install [MSYS2](https://www.msys2.org/).
3. Install [MSYS2](https://www.msys2.org/). 3. Start MSYS2 MINGW64 or MSYS MINGW32 depending on your system. Use MSYS2 for all commands throughout this document.
4. Start MSYS2 MINGW64 or MSYS MINGW32 depending on your system. Use MSYS2 for all commands throughout this document. 4. Update pacman: `pacman -Syy`
5. Update pacman: `pacman -Syy` 5. Install dependencies. During installation, use default=all by leaving the input blank and pressing enter.
6. Install dependencies. During installation, use default=all by leaving the input blank and pressing enter.
64-bit: `pacman -S mingw-w64-x86_64-toolchain make mingw-w64-x86_64-cmake git` 64-bit: `pacman -S mingw-w64-x86_64-toolchain make mingw-w64-x86_64-cmake git`