To Do List


MRB_PROJECT is defined by the experiment
Where to find git and/or git flow is defined by the experiment
The ups product environment will be defined by the experiment
We presume that each experiment or project will have a product with the same name as MRB_PROJECT
  • Note that there are options which can be invoked if this is not the case, but it is presumed to be the default.

How to play with different experiments

each experiment or project will provide a mrb-<experiment>-templates product
  • newProducts, etc. need different info
  • automatic translation of repository name
  • this is a tiny product

If this product does not exist, basic defaults will be used.

What users need

Other variables - how are they set?

Can people run from build?
  • If don't allow this, then everything is easy.
  • user runs source_for_local
  • all dependencies are correct
  • all variables are correct
  • mrb build must do install step
  • mrb runArt (r) -c myficlfile
  • does setup and runs art
  • LD_LIBRARY_PATH, etc. should all automatically be correct
  • What happens if someone wants to run from build
  • first, they have to find the libraries, and any executables
  • environment variables must be setup correctly
  • ups/setup_deps is meant to handle this (verify that LD/DYLD_LIBRARY_PATH is properly set)
  • BUT you are NOT meant to use setup_deps when building

Running Tests

  • Must have LD_LIBRARY_PATH
  • setEnv will do this
  • solved 11/19/2013
  • What happens if product_deps sets an extra environment variable?


  • make sure proper qualifiers are used for all source packages
  • should mrb setup a quasi ups products area?
  • use product stub to point to build area?
  • put these in builddir?

Defining directories

newDev <directory> should CREATE this directory if it does not exist

MRB_SOURCE - can be anywhere

MRB_BUILDDIR and localProductDir are coupled
  • BUT you can have any number of these pairs
  • In some cases, you might have more than one build directory in a working area
newDev needs to know where srcs lives and where the development area will be
  • is this -S and -T ?
  • use model: one newDev per task
build directory
  • by default, the build directory is <working directory>/build
  • Any directory named ../build* will be recognized as a build directory
  • if the user sources setEnv from within such a build directory MRB_BUILDDIR will point to that directory
  • The user MUST source setEnv from within a build directory
  • done 11/20/2013

make sure mrb uses MRB_SOURCE, etc. everywhere

Other issues

  • remove diagnostic output from within "check this block for errors"
  • done 11/20/2013
  • git clone needs to recognize a url
  • done 11/21/2013
  • need supporting changes in art and cetbuildtools cmake macros
  • art macro done 11/20/2013
  • checkout needs
  • -t checkout this tag
  • -b checkout this branch
  • -d use this name for the checked out repository

Will not be in beta

  • mrb preview