if (type == exact) {
   setupRequired(sconsUtils      -j gaaf73f26a1)
   setupRequired(afw             -j g41b6eb5643+3994a6b19a)
   setupRequired(daf_base        -j g8ea07a8fe4+a44d14f55d)
   setupRequired(utils           -j g36f3e0efcb+5988831943)
   setupRequired(sphinxutils     -j gf19a2bea7c+af1bfebf34)
   setupRequired(cpputils        -j g87389fa792+a455f089f2)
   setupRequired(base            -j g53246c7159+af1bfebf34)
   setupRequired(pex_exceptions  -j g786e29fd12+b2440768fd)
   setupRequired(pex_config      -j ge1a9536552+5ba80f410d)
   setupRequired(resources       -j g60c6fdcdcd+0588e1668a)
   setupRequired(geom            -j g19811a7679+08ac1b7679)
   setupRequired(sphgeom         -j g482271f493+af1bfebf34)
   setupRequired(log             -j geaed405ab2+0588e1668a)
   setupRequired(astshim         -j gf5dcc679e7+38b54f1ccd)
   setupRequired(obs_base        -j g00893bd134+dc1c5b27a7)
   setupRequired(daf_butler      -j g53dc45a8e2+fb650ae051)
   setupRequired(pipe_base       -j g954f02917a+f97042adb6)
   setupRequired(astro_metadata_translator -j gdbd3d7cefa+5ba80f410d)
   setupRequired(meas_algorithms -j g4a7591d645+41750a002a)
   setupRequired(meas_base       -j ga44f29b7aa+097c3bc0e4)
   setupRequired(skymap          -j gc1afcb06db+be9eefbfa8)
   setupRequired(kht             -j gaf53c9a034)
   setupRequired(shapelet        -j gc794cbe0cf+15b499ea13)
   setupRequired(pipe_tasks      -j g5b638a483d+2a6a9422c9)
   setupRequired(coadd_utils     -j g89139ef638+15b499ea13)
   setupRequired(dustmaps_cachedata -j gbb0a0c949e+af1bfebf34)
   setupRequired(images          -j g6ddbd76270+c490be2d5a)
   setupOptional(meas_extensions_piff -j g92c671f44c+7240b1ed70)
   setupOptional(meas_extensions_psfex -j g33ac35c1f1+6832120320)
   setupRequired(psfex           -j g7b9623be85+af1bfebf34)
   setupOptional(cell_coadds     -j g34d6eedd0a+7240b1ed70)
   setupRequired(ip_diffim       -j g3a2e29f8c4+24011dc828)
   setupRequired(meas_astrom     -j gfced8664c3+7240b1ed70)
   setupRequired(meas_extensions_trailedSources -j g1147af6e9c+3d2d28f5d9)
   setupRequired(meas_extensions_shapeHSM -j gf8a46c3309+7240b1ed70)
   setupRequired(meas_deblender  -j g262e1987ae+4e52874f11)
   setupRequired(verify          -j g00d583acbd+f972083487)
   setupRequired(dax_apdb        -j gb4d6f811d8+4ca6018f5c)
   setupRequired(felis           -j g346a149bc3+ea04dbe42a)
   setupRequired(sdm_schemas     -j gace03d5beb+af1bfebf34)
   setupRequired(verify_metrics  -j g8b480f84d9+af1bfebf34)
   setupRequired(ip_isr          -j g77367d4607+7240b1ed70)
   setupRequired(meas_extensions_convolved -j g7da95dfc27+22860477dd)
   setupRequired(meas_extensions_photometryKron -j g64539dfbff+7240b1ed70)
   setupRequired(meas_extensions_gaap -j g5c7ea12361+b93802ea08)
   setupRequired(meas_extensions_scarlet -j gbf9bea6eeb+1611e3fbc3)
   setupRequired(scarlet_lite    -j gccef28ce7f+af1bfebf34)
   setupRequired(meas_modelfit   -j g9a9c865167+7240b1ed70)
   setupRequired(rubinoxide      -j g8d063e1f77+0588e1668a)
   setupRequired(jointcal_cholmod -j g5b815a837e+af1bfebf34)
   setupRequired(ctrl_mpexec     -j g71543f5411+9da761da8d)
   setupOptional(obs_subaru      -j g4db92921ce+41aa68bd30)
   setupRequired(obs_subaru_data -j g7ff78db354)
   setupOptional(obs_cfht        -j g8219804093+d50d485621)
   setupOptional(obs_decam       -j g8bbb235e95+af9e41ac49)
   setupRequired(obs_decam_data  -j gf7d3127cd7)
} else {
   setupRequired(sconsUtils gaaf73f26a1 [>= gaaf73f26a1])
   setupRequired(afw g41b6eb5643+3994a6b19a [>= g41b6eb5643+3994a6b19a])
   setupRequired(obs_base g00893bd134+dc1c5b27a7 [>= g00893bd134+dc1c5b27a7])
   setupRequired(pex_exceptions g786e29fd12+b2440768fd [>= g786e29fd12+b2440768fd])
   setupRequired(pex_config ge1a9536552+5ba80f410d [>= ge1a9536552+5ba80f410d])
   setupRequired(meas_algorithms g4a7591d645+41750a002a [>= g4a7591d645+41750a002a])
   setupRequired(pipe_tasks g5b638a483d+2a6a9422c9 [>= g5b638a483d+2a6a9422c9])
   setupRequired(jointcal_cholmod g5b815a837e+af1bfebf34 [>= g5b815a837e+af1bfebf34])
   setupRequired(verify g00d583acbd+f972083487 [>= g00d583acbd+f972083487])
   setupRequired(verify_metrics g8b480f84d9+af1bfebf34 [>= g8b480f84d9+af1bfebf34])
   setupRequired(cpputils g87389fa792+a455f089f2 [>= g87389fa792+a455f089f2])
   setupRequired(pipe_base g954f02917a+f97042adb6 [>= g954f02917a+f97042adb6])
   setupRequired(daf_butler g53dc45a8e2+fb650ae051 [>= g53dc45a8e2+fb650ae051])
   
   # for running middleware tests
   setupRequired(ctrl_mpexec g71543f5411+9da761da8d [>= g71543f5411+9da761da8d])
   
   # tests/data includes HSC output to test making a cameraGeom.
   setupOptional(obs_subaru g4db92921ce+41aa68bd30 [>= g4db92921ce+41aa68bd30])
   
   # tests/data/ includes some stripped-down cfht data for testing
   setupOptional(obs_cfht g8219804093+d50d485621 [>= g8219804093+d50d485621])
   
   # data files for the integration tests, and the obs packages for that data
   setupOptional(testdata_jointcal)
   setupOptional(obs_decam g8bbb235e95+af9e41ac49 [>= g8bbb235e95+af9e41ac49])
   setupOptional(obs_cfht g8219804093+d50d485621 [>= g8219804093+d50d485621])
}
}
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)
