You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gump.apache.org by bo...@apache.org on 2010/06/13 06:28:03 UTC
svn commit: r954164 - /gump/trunk/python/gump/core/build/nant.py
Author: bodewig
Date: Sun Jun 13 04:28:03 2010
New Revision: 954164
URL: http://svn.apache.org/viewvc?rev=954164&view=rev
Log:
pylint
Modified:
gump/trunk/python/gump/core/build/nant.py
Modified: gump/trunk/python/gump/core/build/nant.py
URL: http://svn.apache.org/viewvc/gump/trunk/python/gump/core/build/nant.py?rev=954164&r1=954163&r2=954164&view=diff
==============================================================================
--- gump/trunk/python/gump/core/build/nant.py (original)
+++ gump/trunk/python/gump/core/build/nant.py Sun Jun 13 04:28:03 2010
@@ -1,6 +1,5 @@
#!/usr/bin/python
-
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
@@ -11,180 +10,173 @@
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
+# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-__revision__ = "$Rev: 36667 $"
-__date__ = "$Date: 2004-08-20 08:55:45 -0600 (Fri, 20 Aug 2004) $"
-__copyright__ = "Copyright (c) 1999-2004 Apache Software Foundation"
-__license__ = "http://www.apache.org/licenses/LICENSE-2.0"
+from gump import log
+from gump.core.run.gumprun import RunSpecific
+
+from gump.util.process.command import CMD_STATE_SUCCESS, CMD_STATE_TIMED_OUT, \
+ Cmd, Parameters
+from gump.util.process.launcher import execute
+from gump.util.work import CommandWorkItem, WORK_TYPE_BUILD
+from gump.core.model.state import REASON_BUILD_FAILED, REASON_BUILD_TIMEDOUT, \
+ STATE_FAILED, STATE_SUCCESS
-"""
- A NAnt builder (uses nant to build projects)
-"""
+class NAntBuilder(RunSpecific):
+ """
+ A NAnt builder (uses nant to build projects)
+ """
-import os.path
-import sys
-from gump import log
-from gump.core.run.gumprun import *
-from gump.core.config import dir, default, basicConfig
+ def __init__(self, run):
+ """
+ The NAnt Builder is a .NET Builder
+ """
+ RunSpecific.__init__(self, run)
+
+ def buildProject(self, project, language, _stats):
+ """
+ Build a project using NAnt, based off the <nant metadata.
+
+ Note: switch on -verbose|-debug based of the stats for this
+ project, i.e. how long in a state of failure.
+ """
-from gump.util.note import Annotatable
-from gump.util.work import *
+ workspace = self.run.getWorkspace()
-from gump.util.tools import *
+ log.info('Run NAnt on Project: #[' + `project.getPosition()` + \
+ '] : ' + project.getName())
-from gump.core.model.workspace import *
-from gump.core.model.module import Module
-from gump.core.model.project import Project
-from gump.core.model.depend import ProjectDependency
-from gump.core.model.stats import *
-from gump.core.model.state import *
-
-class NAntBuilder(gump.core.run.gumprun.RunSpecific):
-
- def __init__(self,run):
- """
- The NAnt Builder is a Java Builder
- """
- gump.core.run.gumprun.RunSpecific.__init__(self,run)
-
- def buildProject(self,project,language,stats):
- """
- Build a project using NAnt, based off the <nant metadata.
-
- Note: switch on -verbose|-debug based of the stats for this
- project, i.e. how long in a state of failure.
- """
-
- workspace=self.run.getWorkspace()
-
- log.info('Run NAnt on Project: #[' + `project.getPosition()` + '] : ' + project.getName())
-
# Get the appropriate build command...
- cmd=self.getNAntCommand(project, language)
+ cmd = self.getNAntCommand(project, language)
if cmd:
# Execute the command ....
- cmdResult=execute(cmd,workspace.tmpdir)
-
+ cmdResult = execute(cmd, workspace.tmpdir)
+
# Update context with the fact that this work was done
- work=CommandWorkItem(WORK_TYPE_BUILD,cmd,cmdResult)
+ work = CommandWorkItem(WORK_TYPE_BUILD, cmd, cmdResult)
project.performedWork(work)
project.setBuilt(True)
-
- # Update context state based of the result
- if not cmdResult.state==CMD_STATE_SUCCESS:
- reason=REASON_BUILD_FAILED
- if cmdResult.state==CMD_STATE_TIMED_OUT:
- reason=REASON_BUILD_TIMEDOUT
- project.changeState(STATE_FAILED,reason)
- else:
+
+ # Update context state based of the result
+ if not cmdResult.state == CMD_STATE_SUCCESS:
+ reason = REASON_BUILD_FAILED
+ if cmdResult.state == CMD_STATE_TIMED_OUT:
+ reason = REASON_BUILD_TIMEDOUT
+ project.changeState(STATE_FAILED, reason)
+ else:
# For now, things are going good...
project.changeState(STATE_SUCCESS)
-
- def getNAntCommand(self,project,languageHelper):
+
+ def getNAntCommand(self, project, languageHelper):
"""
- Build an ANT command for this project, based on the <nant metadata
- select targets and build files as appropriate.
+ Build an ANT command for this project, based on the <nant metadata
+ select targets and build files as appropriate.
"""
-
+
# The original model information...
- nant=project.nant
+ nant = project.nant
# The nant target (or none == nant default target)
- target= nant.getTarget()
-
+ target = nant.getTarget()
+
# The nant build file (or none == build.xml)
buildfile = nant.getBuildFile()
-
+
# Optional 'verbose' or 'debug'
- verbose=nant.isVerbose()
- debug=nant.isDebug()
-
+ verbose = nant.isVerbose()
+ debug = nant.isDebug()
+
# Where to run this:
basedir = nant.getBaseDirectory() or project.getBaseDirectory()
-
+
# Build a classpath (based upon dependencies)
- #(classpath,bootclasspath)=language.getClasspaths(project)
-
+ #(classpath, bootclasspath) = language.getClasspaths(project)
+
# Get properties
- properties=self.getNAntProperties(project)
-
+ properties = self.getNAntProperties(project)
+
# Get system properties
- sysproperties=self.getNAntSysProperties(project)
-
+ sysproperties = self.getNAntSysProperties(project)
+
# Library Path
- libpath=languageHelper.getAssemblyPath(project)
-
+ libpath = languageHelper.getAssemblyPath(project)
+
# Run java on apache NAnt...
- cmd=Cmd('NAnt.exe','build_'+project.getModule().getName()+'_'+project.getName(),
- basedir,{'DEVPATH':libpath})
-
+ cmd = Cmd('NAnt.exe', 'build_' + project.getModule().getName() + '_' + \
+ project.getName(),
+ basedir, {'DEVPATH' : libpath})
+
# Launch with specified framework (e.g. mono-1.0.1) if
# required.
- workspace=self.run.getWorkspace()
+ workspace = self.run.getWorkspace()
if workspace.hasDotNetInformation():
- dotnetInfo=workspace.getDotNetInformation()
- if dotnetInfo.hasFramework():
- cmd.addParameter('-t:',dotnetInfo.getFramework(),'')
-
+ dotnetInfo = workspace.getDotNetInformation()
+ if dotnetInfo.hasFramework():
+ cmd.addParameter('-t:', dotnetInfo.getFramework(), '')
+
# These are workspace + project system properties
cmd.addNamedParameters(sysproperties)
-
+
# Get/set JVM properties
- #jvmargs=language.getJVMArgs(project)
+ #jvmargs = language.getJVMArgs(project)
#if jvmargs:
# cmd.addParameters(jvmargs)
-
+
# Allow ant-level debugging...
if project.getWorkspace().isDebug() or project.isDebug() or debug:
- cmd.addParameter('-debug')
- if project.getWorkspace().isVerbose() or project.isVerbose() or verbose:
- cmd.addParameter('-verbose')
-
+ cmd.addParameter('-debug')
+ if project.getWorkspace().isVerbose() or project.isVerbose() \
+ or verbose:
+ cmd.addParameter('-verbose')
+
# Some builds might wish for this information
# :TODO: Grant greater access to Gump variables from
# within.
- mergeFile=project.getWorkspace().getMergeFile()
+ mergeFile = project.getWorkspace().getMergeFile()
if mergeFile:
- cmd.addPrefixedParameter('-D:','gump.merge',str(mergeFile),'=')
-
+ cmd.addPrefixedParameter('-D:', 'gump.merge', str(mergeFile), ' = ')
# These are from the project and/or workspace
# These are 'normal' properties.
cmd.addNamedParameters(properties)
-
+
# Pass the buildfile
- if buildfile: cmd.addParameter('-buildfile',buildfile, ':')
-
+ if buildfile:
+ cmd.addParameter('-buildfile', buildfile, ':')
+
# End with the target (or targets)...
if target:
- for targetParam in target.split(','):
+ for targetParam in target.split(', '):
cmd.addParameter(targetParam)
-
+
return cmd
-
- def getNAntProperties(self,project):
+
+ def getNAntProperties(self, project):
""" Get properties for a project """
- properties=Parameters()
- for property in project.getWorkspace().getProperties()+project.getNAnt().getProperties():
- properties.addPrefixedNamedParameter('-D:',property.name,property.value,'=')
+ properties = Parameters()
+ for prop in project.getWorkspace().getProperties() + \
+ project.getNAnt().getProperties():
+ properties.addPrefixedNamedParameter('-D:', prop.name,
+ prop.value, ' = ')
return properties
- def getNAntSysProperties(self,project):
+ def getNAntSysProperties(self, project):
""" Get sysproperties for a project """
- properties=Parameters()
- for property in project.getWorkspace().getSysProperties()+project.getNAnt().getSysProperties():
- properties.addPrefixedNamedParameter('-D:',property.name,property.value,'=')
+ properties = Parameters()
+ for prop in project.getWorkspace().getSysProperties() + \
+ project.getNAnt().getSysProperties():
+ properties.addPrefixedNamedParameter('-D:', prop.name,
+ prop.value, ' = ')
return properties
-
- def preview(self,project,language,stats):
+
+ def preview(self, project, language, _stats):
"""
- Preview what an NAnt build would look like.
+ Preview what an NAnt build would look like.
"""
- command=self.getNAntCommand(project,language)
- command.dump()
+ cmd = self.getNAntCommand(project, language)
+ cmd.dump()