Code Monkey home page Code Monkey logo

wmutils's Introduction

Watchman Utilities

Maintainer: @MorganAskins

This repository is an organized dumping ground for watchman related code which should include useful tools (such as watchmakers and sibyl), related analysis scripts, macro files, and anything else that does not belong directly in rat-pac.

watchmanInstaller.sh

The watchman installer script is designed to help with the installation of various components of the watchman software suite. It is not designed to be completely fool-proof or work on every system. Compatibility seems to be best with various newer versions of linux. Each piece of the package can either be installed separately or all together; for a first time through I would recommend installing and testing each piece in order.

To run:

./watchmanInstaller.sh

To skip individual components, or target specific components use

./watchmanInstaller.sh --skip $X
## OR
./watchmanInstaller.sh --only $X

── $X ∈ (cmake, python, root, geant, ratpac, sibyl)

The installer will check if particular libraries are already available on the system before running. If they are not it is recommended to go install them through your system's package manager. If the check fails but you want to attempt to install everything anyways, then you can skip the checks

./watchmanInstaller.sh --skip-checks

Finally, multi-thread the compilation, you can pass through the number of processors for cmake to use

./watchmanInstaller.sh -jN

Once complete, everything should be installed locally and a file env.sh will be created---source this to setup the working environment.

Example: Ubuntu 20.04

sudo apt-get -q update
sudo apt-get install git curl build-essential libx11-dev libxpm-dev \
  libqt5opengl5-dev xserver-xorg-video-intel libxft-dev libxext-dev \
  libxkbcommon-x11-dev libopengl-dev libcurl4-gnutls-dev gfortran \
  ca-certificates libssl-dev libffi-dev

./watchmanInstaller.sh

Using your own ratpac

You can work in this directory and everything that starts with ratpac or rat-pac is already in the .gitignore. To pull in your own version of rat-pac for development the following is recommended (assuming ssh key). Another recommendation would be to keep every development branch in its own folder.

git clone [email protected]:Username/rat-pac.git ratpac_development
cd ratpac_development
# Add ait-watchman as a remote and update your master branch accordingly
git remote add upstream [email protected]:AIT-Watchman/rat-pac.git
git fetch upstream
git merge upstream/master
git push origin master

Development should occur on your repository on an aptly named branch. A good choice would be to give the branch the same name as the folder it is being developed in.

git checkout -b development
# Make changes to the code
git add changed_files
git commit -m
git push origin development

Finally if you are reviewing another user's pull request, you can directly fetch the pull request by number. E.g. if I want to checkout pull-request #1234:

git clone [email protected]:ait-watchman/rat-pac.git ratpac_devpr
cd ratpac_devpr
git fetch origin +refs/pull/1234/merge
git checkout FETCH_HEAD

wmutils's People

Contributors

morganaskins avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.