if (type == exact) {
   setupRequired(sconsUtils      -j g5d571352bb)
   setupRequired(afw             -j g3a5ebb7d8a+b437ef1307)
   setupRequired(daf_base        -j g8ea07a8fe4+6a650491f6)
   setupRequired(utils           -j g36f3e0efcb+3d5b675749)
   setupRequired(sphinxutils     -j g44fe3e915d+663e2227e0)
   setupRequired(cpputils        -j g87389fa792+b319181507)
   setupRequired(base            -j g53246c7159+663e2227e0)
   setupRequired(pex_exceptions  -j g786e29fd12+53fe651d7c)
   setupRequired(pex_config      -j ge80df9fc40+6ef6f038a1)
   setupRequired(resources       -j ge719ee8480+d9bbbbd18f)
   setupRequired(geom            -j g19811a7679+96d7ad4c49)
   setupRequired(sphgeom         -j gdcc65144bf+663e2227e0)
   setupRequired(log             -j geaed405ab2+d9bbbbd18f)
   setupRequired(astshim         -j gf5dcc679e7+3aebfb091a)
   setupRequired(obs_base        -j g370ad9d809+f45d8a580e)
   setupRequired(daf_butler      -j g3ccf63820d+cbffb89fc1)
   setupRequired(pipe_base       -j g9c0cd855d5+85035c42fc)
   setupRequired(astro_metadata_translator -j g7e77d5aedb+6ef6f038a1)
   setupRequired(meas_algorithms -j gab846f1091+7d60317af5)
   setupRequired(meas_base       -j g76965917b2+73f8c2ca99)
   setupRequired(skymap          -j g29c66ce358+fd1ddca748)
   setupRequired(kht             -j gaf53c9a034)
   setupRequired(pipe_tasks      -j g9efd06e670+00bd727f93)
   setupRequired(coadd_utils     -j g89139ef638+98316922dc)
   setupRequired(dustmaps_cachedata -j gbb0a0c949e+663e2227e0)
   setupRequired(images          -j g933fa73207+4ff66102b8)
   setupOptional(meas_extensions_piff -j g92c671f44c+84def537a1)
   setupOptional(meas_extensions_psfex -j g33ac35c1f1+9707640227)
   setupRequired(psfex           -j g7b9623be85+663e2227e0)
   setupOptional(cell_coadds     -j g49787b468e+84def537a1)
   setupRequired(ip_diffim       -j g40c9b15c53+c6ffd02f4b)
   setupRequired(meas_astrom     -j g0e76e35be5+84def537a1)
   setupRequired(meas_extensions_trailedSources -j g74acd417e5+0cd1836747)
   setupRequired(meas_extensions_shapeHSM -j gf8a46c3309+84def537a1)
   setupRequired(meas_deblender  -j g262e1987ae+2be5509564)
   setupRequired(verify          -j g00d583acbd+d419587e07)
   setupRequired(dax_apdb        -j g9290983e33+4b86edae3f)
   setupRequired(felis           -j gcf0eb24409+0443abd57a)
   setupRequired(sdm_schemas     -j gece860ff6b+663e2227e0)
   setupRequired(verify_metrics  -j g8b480f84d9+663e2227e0)
   setupRequired(ip_isr          -j gf5f1c85443+84def537a1)
   setupRequired(meas_extensions_convolved -j g7da95dfc27+50acdf16fe)
   setupRequired(meas_extensions_photometryKron -j g64539dfbff+84def537a1)
   setupRequired(meas_extensions_gaap -j g5c7ea12361+9c523f4975)
   setupRequired(meas_extensions_scarlet -j ge2fa341cf7+601721f6f5)
   setupRequired(scarlet_lite    -j g532280e23e+663e2227e0)
   setupRequired(meas_modelfit   -j g7aefaa3e3d+991309637d)
   setupRequired(shapelet        -j g47891489e3+98316922dc)
   setupRequired(rubinoxide      -j g8d063e1f77+d9bbbbd18f)
   setupRequired(jointcal_cholmod -j g5b815a837e+663e2227e0)
   setupRequired(ctrl_mpexec     -j g71543f5411+c4def036d0)
   setupOptional(obs_subaru      -j g4db92921ce+c6819a91fb)
   setupRequired(obs_subaru_data -j g7ff78db354)
   setupOptional(obs_cfht        -j g8219804093+40be78f299)
   setupOptional(obs_decam       -j g8bbb235e95+ca3ff6b7ab)
   setupRequired(obs_decam_data  -j g9eeeb5e174)
} else {
   setupRequired(sconsUtils g5d571352bb [>= g5d571352bb])
   setupRequired(afw g3a5ebb7d8a+b437ef1307 [>= g3a5ebb7d8a+b437ef1307])
   setupRequired(obs_base g370ad9d809+f45d8a580e [>= g370ad9d809+f45d8a580e])
   setupRequired(pex_exceptions g786e29fd12+53fe651d7c [>= g786e29fd12+53fe651d7c])
   setupRequired(pex_config ge80df9fc40+6ef6f038a1 [>= ge80df9fc40+6ef6f038a1])
   setupRequired(meas_algorithms gab846f1091+7d60317af5 [>= gab846f1091+7d60317af5])
   setupRequired(pipe_tasks g9efd06e670+00bd727f93 [>= g9efd06e670+00bd727f93])
   setupRequired(jointcal_cholmod g5b815a837e+663e2227e0 [>= g5b815a837e+663e2227e0])
   setupRequired(verify g00d583acbd+d419587e07 [>= g00d583acbd+d419587e07])
   setupRequired(verify_metrics g8b480f84d9+663e2227e0 [>= g8b480f84d9+663e2227e0])
   setupRequired(cpputils g87389fa792+b319181507 [>= g87389fa792+b319181507])
   setupRequired(pipe_base g9c0cd855d5+85035c42fc [>= g9c0cd855d5+85035c42fc])
   setupRequired(daf_butler g3ccf63820d+cbffb89fc1 [>= g3ccf63820d+cbffb89fc1])
   
   # for running middleware tests
   setupRequired(ctrl_mpexec g71543f5411+c4def036d0 [>= g71543f5411+c4def036d0])
   
   # tests/data includes HSC output to test making a cameraGeom.
   setupOptional(obs_subaru g4db92921ce+c6819a91fb [>= g4db92921ce+c6819a91fb])
   
   # tests/data/ includes some stripped-down cfht data for testing
   setupOptional(obs_cfht g8219804093+40be78f299 [>= g8219804093+40be78f299])
   
   # data files for the integration tests, and the obs packages for that data
   setupOptional(testdata_jointcal)
   setupOptional(obs_decam g8bbb235e95+ca3ff6b7ab [>= g8bbb235e95+ca3ff6b7ab])
   setupOptional(obs_cfht g8219804093+40be78f299 [>= g8219804093+40be78f299])
}
}
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)
