Developing Vuu
Prerequisites
Alternatively, try out Devcontainers for quick development environment setup.
- Install IntelliJ Community Edition (latest version with supported scala plugin).
- Install SDKMan from the website or using your own mechanism
- type>
sdk install java 11.0.12-open
and then >sdk d java 11.0.12-open
to make sure you're using the correct one. - Clone the repo into a directory on your machine
- Open the project as a Maven build by selecting the root pom.xml (make sure you select "enable adding maven modules, auto import etc..)
- You should get one root module vuu-parent in a project list, select this
- When the project opens you should have 3 sub-modules (vuu, toolbox and vuu-ui)
Developing the client
If you are comfortable running the server in an IDE, you can follow the instructions above. If not you can use the specific maven targets from the command line to run up the sample app.
You can install command line maven via any means you please, but sdkman makes it easy...
sdk install maven
Installation - Server
Prerequisites
See the Docs for Java versions and install dependencies you need to have.
OS X & Linux:
#In your favourite code directory...
git clone https://github.com/finos/vuu.git
#cd into the repository
cd vuu
#run the maven compile step
mvn compile
#cd into vuu, child in repo
cd example/main
#The server should now be started on your machine with Simulation module
mvn exec:exec
Windows:
this should be the same as Linux & MacOS just with Windows adjusted paths
Running the Vuu Server Simulation Module from IDE
- Go to the SimulMain.scala, right click and run (add these into JVM args -Xmx10G -Xms5G, or whatever you have available)
Installation - Client
You will need npm at version 16 or greater to build the client.
#in vuu repo (not vuu child directory in repo)
cd vuu-ui
npm install
npm run build
npm run build:app
#if you would also like to use electron rather than Chrome/Chromium
cd tools/electron
npm install #You only need to do this once initially and when the electron version is upgraded
cd ../..
npm run launch:demo:electron
If you are using Chrome, you should now be able to use a local browser to see the Vuu demo app. localhost:8443
If you are getting certificate errors when you connect, set this browser setting in chrome:
chrome://flags/#allow-insecure-localhost (set to true)
Developing the Vuu Book
We use docusaurus to generate the Vuu docs from markdown.