LSSTApplications  16.0-11-g09ed895+2,16.0-11-g12e47bd,16.0-11-g9bb73b2+6,16.0-12-g5c924a4+6,16.0-14-g9a974b3+1,16.0-15-g1417920+1,16.0-15-gdd5ca33+1,16.0-16-gf0259e2,16.0-17-g31abd91+7,16.0-17-g7d7456e+7,16.0-17-ga3d2e9f+13,16.0-18-ga4d4bcb+1,16.0-18-gd06566c+1,16.0-2-g0febb12+21,16.0-2-g9d5294e+69,16.0-2-ga8830df+6,16.0-20-g21842373+7,16.0-24-g3eae5ec,16.0-28-gfc9ea6c+4,16.0-29-ge8801f9,16.0-3-ge00e371+34,16.0-4-g18f3627+13,16.0-4-g5f3a788+20,16.0-4-ga3eb747+10,16.0-4-gabf74b7+29,16.0-4-gb13d127+6,16.0-49-g42e581f7+6,16.0-5-g27fb78a+7,16.0-5-g6a53317+34,16.0-5-gb3f8a4b+87,16.0-6-g9321be7+4,16.0-6-gcbc7b31+42,16.0-6-gf49912c+29,16.0-7-gd2eeba5+51,16.0-71-ge89f8615e,16.0-8-g21fd5fe+29,16.0-8-g3a9f023+20,16.0-8-g4734f7a+1,16.0-8-g5858431+3,16.0-9-gf5c1f43+8,master-gd73dc1d098+1,w.2019.01
LSSTDataManagementBasePackage
eupsForScons.py
Go to the documentation of this file.
1 import os
2 
3 try:
4  # Prefer to use native EUPS but if that is not available, fallback
5  # versions are defined. Only a subset of EUPS functions are required
6  # but all are imported to prevent warnings from redefinitions below.
7  from eups import * # noqa F403 F401
8  eupsLoaded = True
9 except ImportError:
10  eupsLoaded = False
11 
12 
13 def haveEups():
14  return eupsLoaded
15 
16 
17 if not haveEups():
18  #
19  # Fake what we can so sconsUtils can limp along without eups
20  #
21  def flavor():
22  from .state import env, log
23 
24  log.warn("Unable to import eups; guessing flavor")
25 
26  if env['PLATFORM'] == "posix":
27  return os.uname()[0].title()
28  else:
29  return env['PLATFORM'].title()
30 
31  def productDir(name):
32  return os.environ.get("%s_DIR" % name.upper())
33 
34  def findSetupVersion(eupsProduct):
35  return None, None, None, None, flavor()
36 
37  class _Eups:
38  def __call__(self):
39  return self
40  Eups = _Eups()
41 
42  Eups.findSetupVersion = findSetupVersion
43 
44  class _Utils:
45  pass
46  utils = _Utils()
47 
48  def setupEnvNameFor(productName):
49  return "SETUP_%s" % productName
50 
51  utils.setupEnvNameFor = setupEnvNameFor
52 
53 
54 def getEups():
55  """ Return a cached Eups instance, auto-creating if necessary """
56  try:
57  return getEups._eups
58  except AttributeError:
59  getEups._eups = Eups()
60  return getEups._eups