def sMkPrjDevPrjInt(ins): bl = clearcase.getBaselineLabel(ins.getNBView(), ins.getWuceProduct()) nextBl = clearcase.getNextBaselineLabel(ins.getNBView(), ins.getWuceProduct()) prj = cmbpConfigDir + "/{vobname}_projects/{lb}.prj".format(vobname=ins.getVobFamily(False),lb=bl) nextPrj = cmbpConfigDir + "/{vobname}_projects/{lb}.prj".format(vobname=ins.getVobFamily(False),lb=nextBl) prjlist = [] with open(prj, 'r') as f: prjlist = f.readlines() [prj.replace(bl, nextBl) for prj in prjlist] with open(nextPrj, 'w') as f: f.writelines(prjlist)
def sMergeIntToRelMain(ins): bl = clearcase.getBaselineLabel(ins.getNBView(), ins.getWuceProduct()) mergelog = ins.getDailyDir() + "/{bl}/{bl}.scBRMerge.{vob}".format(bl=bl,vob=ins.getVobFamily()) relview = ins.getName() + "-bmc-rel" if not clearcase.isViewExist(relview): scmbl = clearcase.getScmBaselineLabel(ins.getNBView(), ins.getWuceProduct()) clearcase.mkview(relview, scmbl) cslist = [] with open(clearcase.getViewConfigSpec(ins.getNBView()), "r") as f: cslist = f.readlines() intBr = clearcase.getIntegrationBranch(ins.getNBView(), ins.getWuceProduct()) [cs.replace(intBr, ins.getTargetRelMain()) for cs in cslist] logdir = os.environ['BMC_HOME'] + "/log/{ins}".format(ins=ins.getName()) with open(logdir + "/{lb}.rel.cs".format(lb=nextBl), "w") as f: f.writelines(cslist) clearcase.merge(intBr, relview, ins.getVobFamily(), mergelog)
def sCreateTargetIntBr(ins): bl = clearcase.getBaselineLabel(ins.getNBView(), ins.getWuceProduct()) nextIntBr = clearcase.getNextIntegrationBranch(ins.getNBView(), ins.getWuceProduct()) clearcase.mkview(nextIntBr, bl)
def sLabelTargetIntBr(ins): bl = clearcase.getBaselineLabel(ins.getNBView(), ins.getWuceProduct()) lblog = ins.getDailyDir() + "/{bl}/{bl}.mklabel".format(bl=bl) clearcase.mklabel(bl, ins.getVobTag(), ins.getNBView(), lblog)
def sCreateBldLb(ins): bl = clearcase.getBaselineLabel(ins.getNBView(), ins.getWuceProduct()) clearcase.mklbtype(bl, ins.getVobTag(), ins.getNBView()) logger.info("created label type {lb}".format(lb=bl))
def sLinkScmBlC(): targetIntBl = clearcase.getBaselineLabel(ins.getNBView(),ins.getWuceProduct()) targetScmBl = clearcase.getScmBaselineLabel(ins.getNBView(),ins.getWuceProduct()) clearcase.ctInView(bmc.config.get('commonView'), "cd {vt}; {cqtool} linkbl {targetScmBl} -a -child {targetIntBl}".format(vt=ins.getVobTag(),cqtool=bmc.config.get('cqtool'),targetIntBl=targetIntBl, targetScmBl=targetScmBl))
def sCloseIntBl(): targetIntBl = clearcase.getBaselineLabel(ins.getNBView(),ins.getWuceProduct()) clearcase.ctInView(bmc.config.get('commonView'), "cd {vt}; {cqtool} closebl {targetIntBl}".format(vt=ins.getVobTag(),cqtool=bmc.config.get('cqtool'),targetIntBl=targetIntBl))
def sLinkIntBlP(): targetIntBl = clearcase.getBaselineLabel(ins.getNBView(),ins.getWuceProduct()) preIntBl = clearcase.getPreviousBaselineLabel(ins.getNBView(),ins.getWuceProduct()) clearcase.ctInView(bmc.config.get('commonView'), "cd {vt}; {cqtool} linkbl {targetIntBl} -a -predecessor {preIntBl}".format(vt=ins.getVobTag(),cqtool=bmc.config.get('cqtool'),targetIntBl=targetIntBl, preIntBl=preIntBl))