sbsv2/raptor/python/raptor.py
changeset 580 6209aeff0f73
parent 553 7d4971eaf863
--- a/sbsv2/raptor/python/raptor.py	Fri May 28 15:15:09 2010 +0100
+++ b/sbsv2/raptor/python/raptor.py	Thu Jun 03 16:34:48 2010 +0100
@@ -799,8 +799,10 @@
 		self.args = args
 
 		# assuming self.CLI = "raptor_cli"
-		more_to_do = raptor_cli.GetArgs(self, args)
+		if not raptor_cli.GetArgs(self, args):
+			self.skipAll = True		# nothing else to do
 
+	def ParseCommandLineTargets(self):
 		# resolve inter-argument dependencies.
 		# --what or --check implies the WHAT target and FilterWhat Filter
 		if self.doWhat or self.doCheck:
@@ -840,8 +842,6 @@
 				"""
 				self.filterList += ",filtercopyfile"
 
-		if not more_to_do:
-			self.skipAll = True		# nothing else to do
 
 	def ProcessConfig(self):
 		# this function will perform additional processing of config
@@ -1353,9 +1353,21 @@
 		build.ConfigFile()
 		build.ProcessConfig()
 		build.CommandLine(argv)
+		build.ParseCommandLineTargets()
 
 		return build
+	
+	@classmethod
+	def CreateCommandlineAnalysis(cls, argv):
+		""" Perform an analysis run where a build is not performed. """
+		build = Raptor()
+		build.AssertBuildOK()
+		build.ConfigFile()
+		build.ProcessConfig()
+		build.CommandLine(argv)
+		# Don't parse command line targets - they don't make any sense if you're not doing a build
 
+		return build
 
 
 # Class for passing constricted parameters to filters