예제 #1
0
    def resolveLibs(self, jobs):
        config = self.get("jobs")
        console = self._console

        console.debug("Resolving libs/manifests...")
        console.indent()

        for job in jobs:
            if not self.getJob(job):
                raise RuntimeError, "No such job: \"%s\"" % job
            else:
                jobObj = self.getJob(job)
                console.debug("job '%s'" % jobObj.name)
                console.indent()
                if jobObj.hasFeature('library'):
                    newlib = []
                    seen = []
                    oldlib = jobObj.getFeature('library')
                    for lib in oldlib:
                        libObj = Library(lib, self._console)
                        newlib.append(libObj)

                    jobObj.setFeature('library', newlib)

                console.outdent()

        console.outdent()
예제 #2
0
    def resolveLibs(self, jobs):
        console = self._console

        console.debug("Resolving libs/manifests...")
        console.indent()

        for job in jobs:
            if not self.getJob(job):
                raise RuntimeError, "No such job: \"%s\"" % job
            else:
                jobObj = self.getJob(job)
                console.debug("job '%s'" % jobObj.name)
                console.indent()
                if jobObj.hasFeature('library'):
                    newlib = []  # Library() objects
                    oldlib = jobObj.getFeature('library')  # 'library' map entries
                    for lib in oldlib:
                        if 'manifest' not in lib:
                            self.raiseConfigError("Attribute 'manifest' is mandatory in config key 'library'")
                        manipath = lib.get('manifest')
                        if not manipath.startswith(("contrib://","http://","https://")):
                            manipath = self.absPath(manipath)
                        libObj = Library(manipath, self._console)  # fresh Library() object; Generator.py handles cached versions
                        libObj.uri = lib.get('uri', None)
                        newlib.append(libObj)

                    jobObj.setFeature('library', newlib)

                console.outdent()

        console.outdent()