anchor.diff:  RUN ${PYENV_ROOT}/versions/${PYTHON_VERSION}/bin/pip install -r ${SMV_HOME}/docker/smv/requirements.txt
   
   #############################################################################################################
  -# SMV publishable
  +# 2. SMV publishable image
   #############################################################################################################
   FROM openjdk:8-jdk as smv
   
  
positive.code: #############################################################################################################
  # SMV builder
  #############################################################################################################
  FROM openjdk:8-jdk as smv-build
  
  
negative.code:     touch /projects/.docker &&\
      mkdir ${TEMPLATE_DIR}
  
  # Copy the pyenv installation from the first stage. This is an optimization so we don't install Python twice.
  # we can get away with this because we don't currently differentiate between dev and prod requirements.
  COPY --from=smv-build ${PYENV_ROOT} ${PYENV_ROOT}
  # Copy the SMV release artifact from the first stage and unpack it. Since the same artifact is also copied
  # out and published as the official release, we are guaranteed that the published image matches the published
  # This works around the chicken/egg issues encountered with the old approach of downloading a version of 
  # artifact. `smv-install` from Github raw content to install (probably) the most recent release.
  COPY --from=smv-build /usr/lib/SMV/smv_*.tgz .
  RUN tar xzvf smv_*.tgz && rm -rf smv_*.tgz && mv ./SMV ${SMV_HOME} &&\
      ${SMV_HOME}/tools/spark-install --target-dir ${SPARK_HOME} &&\
  