-
Notifications
You must be signed in to change notification settings - Fork 11
Setting up a Development Environment
Note: These instructions describe how to set up a 2.x development environment. Look at the history of this page if you need instructions for 1.x
These instructions were tested on Debian Bullseye and Ubuntu 21.04 LTS, and should be viable for any ubuntu/debian based distribution of Linux.
- See instructions here.
- pyenv has dependencies on several component libraries (e.g., bz2, sqlite3, and readline) which you may need to also install; see guidance here.
pyenv install 3.9.5
PyEnv maintains a common build problems page with guidance on how to resolve issues during this step.
MacOS/Windows Users:
Debian/Ubuntu Users:
sudo apt install openjdk-11-jdk
- Follow the instructions here.
- Install Mill:
coursier install mill:0.11.1
(mill 0.11.2 is broken due to an upstream issue)
The following commands checkout vizier and its python dependencies
git clone https://github.com/VizierDB/vizier-scala.git -b v2.0
cd vizier-scala
pip3 install -r vizier/resources/requirements.txt
Run Vizier with
mill vizier.run
You should now be able to connect to the Vizier UI at http://localhost:5000
Attention Windows/WSL2 Users: If you get an error about DBus connectivity, make sure you run with the -n
flag. You may also need to install a web browser in the WSL2 VM (e.g., sudo apt install firefox
)
Attention Chrome Users: If chrome complains that you don't have permission to connect to http://localhost:5000, try running vizier on a different port (e.g., adding the -p 5050
flag will run Vizier on port 5050)
mill vizier.compile
Compiled class files will be in out/vizier/compile/dest
mill vizier.test
mill vizier.ui.test
The UI test cases require node
and jsdom
. Install node and then
npm install jsdom
To run a single test case:
mill vizier.test.testOnly [classname]
To run a single example:
mill vizier.test.testOnly [classname] -- ex "[any text in the example label]"
mill vizier.run [vizier arguments]
Vizier defaults to running on port 5000 on localhost.
Vizier takes a few seconds to start. If you're only editing the UI, you can get a faster development cycle by only rebuilding and reloading the resources directory
mill -w vizier.ui.resourceDir
Mill's -w
flag watches for changes to files in the UI directory. Any changes will trigger a recompile. Vizier uses the generated resources directory in-situ, so reloading the UI in your web browser will load the updated version.
mill vizier.publishLocal
mill mill.contrib.Bloop/install