1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 """ BuildManagement module """
21
22 import os
23 import logging
24 import types
25 import string
26
27 import ant
28 import ccm
29 import configuration
30 import nokia.nokiaccm
31
32
33
34 logging.basicConfig(level=logging.DEBUG)
35 logger = logging.getLogger("buildmanagement")
36
37 -def buildmanager(synergyhost, databasepath, configfile, specname):
60
62 """ add approved tasks to be updated to project """
63 logger.debug("Start adding approved tasks")
64
65 if config['project.release.folder'] == "automatic":
66 toplevelproject = ccm.Project(session, config['project.four.part.name'])
67 releasefolders = toplevelproject.folders
68 releasefolder = releasefolders[0]
69 logger.debug("Release folder found from rp is: " + releasefolder.name)
70 else:
71 releasefolder = ccm.Folder(session, config['project.release.folder'])
72
73 folderlist = force_list(config['project.approval.folders'])
74
75 for approvalfolderfpn in folderlist:
76 approvalfolder = ccm.Folder(session, approvalfolderfpn)
77 logger.debug("Copying tasks from folder " + approvalfolder.name + ", to folder " + releasefolder.name)
78 approvalfolder.copy(releasefolder)
79
80 logger.debug("Finished adding approved tasks")
81
83 """ reconcile """
84 logger.debug("Start reconciling: " + config['project.four.part.name'])
85 toplevelproject = ccm.Project(session, config['project.four.part.name'])
86 toplevelproject.reconcile(updatewa=True, recurse=True, consideruncontrolled=True, missingwafile=True, report=True)
87 logger.debug("Finished reconciling: " + config['project.four.part.name'])
88
90 """ Setting latest baseline """
91 logger.debug("Start updating the baseline of: " + config['project.name'])
92 toplevelproject = ccm.Project(session, config['project.four.part.name'])
93 latestbaseline = toplevelproject.get_latest_baseline(config['project.version.filter'], config['project.baseline.state'])
94 logger.debug("Using: " + latestbaseline)
95 toplevelproject.set_baseline(latestbaseline, recurse=True)
96 logger.debug("Finished updating the baseline of: " + config['project.name'])
97
107
123
125 """ Create baseline """
126 logger.debug("Start creating the baseline(s): " + config['project.name'] + "-" + config['baseline.tag'])
127 project = ccm.Project(session, config['project.four.part.name'])
128 logger.debug("Project: " + project.name)
129 project.create_baseline(config['project.name'] + "-" + config['baseline.tag'], config['project.release.tag'], config['baseline.tag'], config['baseline.purpose'], config['baseline.state'])
130 logger.debug("Finished creating the baseline: " + config['project.name'] + "-" + config['baseline.tag'])
131
133 """ force list of objects """
134 if isinstance(myobject, list):
135 return myobject
136 else:
137 return [myobject]
138