Ejemplo n.º 1
0
    def env(self, rel_dir=None):

        '''Return dictionary of env for the given project and optional
        package.  It conists of the environment after sourcing the top
        level projects/setup.sh followed by the setup.sh in the given
        package package if rel_dir is given.  rel_dir can be absolute
        path or relative from the projects/ directory.  It can include
        or omit the final /cmt sub directory.'''

        from command import source
        import fs

        environ = self.cfg_environ()

        #print 'projects.env(): Source %s/setup.sh'%fs.projects()
        environ = source('./setup.sh', env=environ, dir=fs.projects())
        if not rel_dir: 
            rel_dir = self.rel_pkg()
            #print 'Using rel_dir =', rel_dir

        if not rel_dir: 
            #print 'No rel_dir given'
            return environ

        cmtdir = os.path.join(self.proj_dir(), rel_dir)
        if cmtdir.rfind('/cmt') < 0: cmtdir = os.path.join(cmtdir,'cmt')
        import cmt
        if not os.path.exists(cmtdir+'/setup.sh'):
            cmt.cmt('config', environ=environ, dir=cmtdir)
            pass
        #print 'projects.env(): Source %s/setup.sh'%cmtdir
        environ = source('./setup.sh', env=environ, dir=cmtdir)
        return environ
Ejemplo n.º 2
0
 def _fix_projects(self):
     import fs,os,cmt
     from command import source
     fs.goto(os.path.join(self.dstdir,'projects'))
     environ = source('./setup.sh')
     for pobj in self.project_objects:
         pdir = os.path.join(self.dstdir,'projects',pobj.name,pobj.rel_pkg(),'cmt')
         cmt.cmt("config",environ=environ,dir=pdir)
         pkgenv = source('./setup.sh',env=environ,dir=pdir)
         cmt.cmt("br cmt config",environ=pkgenv,dir=pdir)
     fs.goback()
Ejemplo n.º 3
0
def env():

    """Return the environment after sourcing CMT's setup.sh.  It
    assumes a cmt.build() has been called.  """

    global _environ
    if _environ is not None:
        return _environ

    from command import source
    mgrdir = os.path.join(srcdir(),'mgr')
    #print 'cmt.env: source %s/setup.sh'%mgrdir
    _environ = source('./setup.sh',dir=mgrdir)
    return _environ
Ejemplo n.º 4
0
def gitcmd(cmdstr):
    from command import source

    env = source(fs.projects() + "/setup.sh")
    return cmd("%s %s" % (gitexe(), cmdstr), env=env, output=True)