Skip to content

Commit

Permalink
docs(build): add text build steps for Linux, Mac and Windows
Browse files Browse the repository at this point in the history
Primary Changes
----------------
1. Updated BUILD.md to include Mac OS specific installation instructions.

Fixes #1963

Signed-off-by: ashnashahgrover <as19@williams.edu>
  • Loading branch information
ashnashahgrover committed Jul 18, 2024
1 parent 497ea32 commit d7552ac
Showing 1 changed file with 37 additions and 22 deletions.
59 changes: 37 additions & 22 deletions BUILD.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
- [Hyperledger Cactus Build Instructions](#hyperledger-cactus-build-instructions)
- [Hyperledger Cacti Build Instructions](#hyperledger-cacti-build-instructions)
- [Fast Developer Flow / Code Iterations](#fast-developer-flow--code-iterations)
- [Getting Started](#getting-started)
- [Random Windows specific issues not covered here](#random-windows-specific-issues-not-covered-here)
- [MacOS](#macos)
- [Linux](#linux)
- [Windows](#windows)
- [Random Windows specific issues not covered here](#random-windows-specific-issues-not-covered-here)
- [Configure Cacti](#configure-cacti)
- [Build Script Decision Tree](#build-script-decision-tree)
- [Configuring SSH to use upterm](#configuring-ssh-to-use-upterm)

## Hyperledger Cactus Build Instructions
## Hyperledger Cacti Build Instructions

This is the place to start if you want to give Cactus a spin on your local
machine or if you are planning on contributing.
Expand Down Expand Up @@ -35,29 +39,46 @@ The `npm run watch` script in action:
![Fast Developer Flow / Code Iterations](./docs/hyperledger-cactus-watch-script-tutorial-2021-03-06.gif)

## Getting Started

### MacOS
* Use preset environment:
* [VSCode docker container](./.devcontainer)
* ... or install OS level dependencies manually:
* Windows Only
* WSL2 or any virtual machine running Ubuntu 20.04 LTS
* Or install OS level dependencies manually:
* Git
* https://github.com/git-guides/install-git#install-git-on-mac
* NodeJS v18.19.0, npm v10.2.3 (we recommend using the Node Version Manager (nvm) if available for your OS)
```
nvm install 18.19.0
nvm use 18.19.0
```
* [Download nvm using script](https://github.com/nvm-sh/nvm?tab=readme-ov-file#install--update-script)
* [Download nvm using homebrew](https://sukiphan.medium.com/how-to-install-nvm-node-version-manager-on-macos-d9fe432cc7db)
* Using nvm install and use specific version of node:
```
nvm install 18.19.0
nvm use 18.19.0
```
* Yarn
* `npm run enable-corepack` (from within the project directory)
* [Docker Engine](https://docs.docker.com/engine/install/ubuntu/). Make sure that Docker is working and running, for example, running ``docker ps -aq``
* [Docker Engine is available on Mac OS through Docker Engine](https://docs.docker.com/desktop/install/mac-install/).
* Docker Compose
* Installing Docker Desktop on Mac will include Docker Compose
* OpenJDK (Corda support Java 8 JDK but do not currently support Java 9 or higher)
* `sudo apt install openjdk-8-jdk-headless`
* [Follow instructions for Mac here](https://github.com/supertokens/supertokens-core/wiki/Installing-OpenJDK-for-Mac-and-Linux)
* Indy SDK (optional)
* [Installing the SDK](https://github.com/hyperledger/indy-sdk#installing-the-sdk)
* [Build the SDK from source](https://github.com/hyperledger/indy-sdk#how-to-build-indy-sdk-from-source)
* [Build the SDK from source](https://github.com/hyperledger-archives/indy-sdk/blob/main/docs/build-guides/mac-build.md)
* Go
* [Installing Go](https://go.dev/)
* [Adding Environment Variable and Go extensions](https://www.geeksforgeeks.org/how-to-install-golang-in-vscode/)
* [Installing Go for Mac](https://go.dev/dl/)
* [Adding Environment Variable and Go extensions](https://code.visualstudio.com/docs/languages/go)

### Linux
* Insert Linux instructions here

### Windows
* Insert Linux instructions here

### Random Windows specific issues not covered here

We recommend that you use WSL2 or any Linux VM (or bare metal).
We test most frequently on Ubuntu 20.04 LTS

### Configure Cacti

* Clone the repository

Expand Down Expand Up @@ -148,12 +169,6 @@ At this point, with the running API server, you can
* Develop your own applications against it with the `Cactus API Client(s)`
* Create and test your own plugins


#### Random Windows specific issues not covered here

We recommend that you use WSL2 or any Linux VM (or bare metal).
We test most frequently on Ubuntu 20.04 LTS

## Build Script Decision Tree

The `npm run watch` script should cover 99% of the cases when it comes to working
Expand Down

0 comments on commit d7552ac

Please sign in to comment.