if (type == exact) {
   setupRequired(sconsUtils      -j gc8c338059c)
   setupRequired(afw             -j g3a5ebb7d8a+28b83bf6a5)
   setupRequired(daf_base        -j g8ea07a8fe4+5da20ec74a)
   setupRequired(utils           -j gceb28a84d6+4507af2415)
   setupRequired(sphinxutils     -j g44fe3e915d+d801c9999e)
   setupRequired(cpputils        -j g87389fa792+0bb42a27e1)
   setupRequired(base            -j g53246c7159+d801c9999e)
   setupRequired(pex_exceptions  -j g786e29fd12+76ce5f0d11)
   setupRequired(pex_config      -j ge80df9fc40+e858edc189)
   setupRequired(resources       -j g00ce9103bc+468930ee49)
   setupRequired(geom            -j g19811a7679+feebeae811)
   setupRequired(sphgeom         -j gdcc65144bf+d801c9999e)
   setupRequired(log             -j geaed405ab2+468930ee49)
   setupRequired(astshim         -j gf5dcc679e7+7aca86229d)
   setupRequired(obs_base        -j g370ad9d809+bc92600b48)
   setupRequired(daf_butler      -j gf884090451+fd86ccfb95)
   setupRequired(pipe_base       -j gb297bb95a5+3e769b8c42)
   setupRequired(astro_metadata_translator -j g7e77d5aedb+e858edc189)
   setupRequired(meas_algorithms -j gab846f1091+6077e86907)
   setupRequired(meas_base       -j g76965917b2+194111e28e)
   setupRequired(skymap          -j g29c66ce358+4f7c993bbb)
   setupRequired(kht             -j gaf53c9a034)
   setupRequired(pipe_tasks      -j gd2ab99b837+b47a742f12)
   setupRequired(coadd_utils     -j g89139ef638+4702f1928e)
   setupRequired(dustmaps_cachedata -j gbb0a0c949e+d801c9999e)
   setupRequired(images          -j gd6aca8a0d8+59c221eb2d)
   setupOptional(meas_extensions_piff -j g92c671f44c+ff2c55b6df)
   setupOptional(meas_extensions_psfex -j g33ac35c1f1+8cc35bf923)
   setupRequired(psfex           -j g7b9623be85+d801c9999e)
   setupOptional(cell_coadds     -j g5378c884e9+ff2c55b6df)
   setupRequired(ip_diffim       -j g40c9b15c53+a0d03a33a2)
   setupRequired(meas_astrom     -j g0e76e35be5+ff2c55b6df)
   setupRequired(meas_extensions_trailedSources -j g74acd417e5+df6cbc0f01)
   setupRequired(meas_extensions_shapeHSM -j gf8a46c3309+ff2c55b6df)
   setupRequired(meas_deblender  -j g262e1987ae+f6555ec323)
   setupRequired(verify          -j g00d583acbd+dd7bb225a8)
   setupRequired(dax_apdb        -j g9290983e33+165d8ad773)
   setupRequired(felis           -j gbf6f85f291+2bcb6e7dbd)
   setupRequired(sdm_schemas     -j g6e01374ed3+d801c9999e)
   setupRequired(verify_metrics  -j g8b480f84d9+d801c9999e)
   setupRequired(ip_isr          -j gf5f1c85443+ff2c55b6df)
   setupRequired(meas_extensions_convolved -j g7da95dfc27+29371e3f20)
   setupRequired(meas_extensions_photometryKron -j g64539dfbff+ff2c55b6df)
   setupRequired(meas_extensions_gaap -j g5c7ea12361+4beb79a686)
   setupRequired(meas_extensions_scarlet -j gb538e179e5+d68ce401ac)
   setupRequired(scarlet_lite    -j ge1c02a5578+d801c9999e)
   setupRequired(meas_modelfit   -j g7aefaa3e3d+eee28938b1)
   setupRequired(shapelet        -j g47891489e3+4702f1928e)
   setupRequired(rubinoxide      -j g8d063e1f77+468930ee49)
   setupRequired(jointcal_cholmod -j g5b815a837e+d801c9999e)
   setupRequired(ctrl_mpexec     -j gd6e74c367f+cba2e7f49e)
   setupOptional(obs_subaru      -j g4db92921ce+f016e948f0)
   setupRequired(obs_subaru_data -j g7ff78db354)
   setupOptional(obs_cfht        -j g8219804093+3d95440ee0)
   setupOptional(obs_decam       -j g8bbb235e95+c25317128a)
   setupRequired(obs_decam_data  -j g9eeeb5e174)
} else {
   setupRequired(sconsUtils gc8c338059c [>= gc8c338059c])
   setupRequired(afw g3a5ebb7d8a+28b83bf6a5 [>= g3a5ebb7d8a+28b83bf6a5])
   setupRequired(obs_base g370ad9d809+bc92600b48 [>= g370ad9d809+bc92600b48])
   setupRequired(pex_exceptions g786e29fd12+76ce5f0d11 [>= g786e29fd12+76ce5f0d11])
   setupRequired(pex_config ge80df9fc40+e858edc189 [>= ge80df9fc40+e858edc189])
   setupRequired(meas_algorithms gab846f1091+6077e86907 [>= gab846f1091+6077e86907])
   setupRequired(pipe_tasks gd2ab99b837+b47a742f12 [>= gd2ab99b837+b47a742f12])
   setupRequired(jointcal_cholmod g5b815a837e+d801c9999e [>= g5b815a837e+d801c9999e])
   setupRequired(verify g00d583acbd+dd7bb225a8 [>= g00d583acbd+dd7bb225a8])
   setupRequired(verify_metrics g8b480f84d9+d801c9999e [>= g8b480f84d9+d801c9999e])
   setupRequired(cpputils g87389fa792+0bb42a27e1 [>= g87389fa792+0bb42a27e1])
   setupRequired(pipe_base gb297bb95a5+3e769b8c42 [>= gb297bb95a5+3e769b8c42])
   setupRequired(daf_butler gf884090451+fd86ccfb95 [>= gf884090451+fd86ccfb95])
   
   # for running middleware tests
   setupRequired(ctrl_mpexec gd6e74c367f+cba2e7f49e [>= gd6e74c367f+cba2e7f49e])
   
   # tests/data includes HSC output to test making a cameraGeom.
   setupOptional(obs_subaru g4db92921ce+f016e948f0 [>= g4db92921ce+f016e948f0])
   
   # tests/data/ includes some stripped-down cfht data for testing
   setupOptional(obs_cfht g8219804093+3d95440ee0 [>= g8219804093+3d95440ee0])
   
   # data files for the integration tests, and the obs packages for that data
   setupOptional(testdata_jointcal)
   setupOptional(obs_decam g8bbb235e95+c25317128a [>= g8bbb235e95+c25317128a])
   setupOptional(obs_cfht g8219804093+3d95440ee0 [>= g8219804093+3d95440ee0])
}
}
envPrepend(LD_LIBRARY_PATH, ${PRODUCT_DIR}/lib)
envPrepend(DYLD_LIBRARY_PATH, ${PRODUCT_DIR}/lib)
envPrepend(LSST_LIBRARY_PATH, ${PRODUCT_DIR}/lib)

envPrepend(PYTHONPATH, ${PRODUCT_DIR}/python)
envPrepend(PATH, ${PRODUCT_DIR}/bin)
