summaryrefslogtreecommitdiff
path: root/gr-utils/python/modtool/modtool_rm.py
diff options
context:
space:
mode:
Diffstat (limited to 'gr-utils/python/modtool/modtool_rm.py')
-rw-r--r--gr-utils/python/modtool/modtool_rm.py23
1 files changed, 14 insertions, 9 deletions
diff --git a/gr-utils/python/modtool/modtool_rm.py b/gr-utils/python/modtool/modtool_rm.py
index 32dfee4806..47128dbc87 100644
--- a/gr-utils/python/modtool/modtool_rm.py
+++ b/gr-utils/python/modtool/modtool_rm.py
@@ -24,26 +24,27 @@ import os
import re
import sys
import glob
-from optparse import OptionGroup
from util_functions import remove_pattern_from_file
from modtool_base import ModTool
from cmakefile_editor import CMakeFileEditor
+
class ModToolRemove(ModTool):
""" Remove block (delete files and remove Makefile entries) """
name = 'remove'
aliases = ('rm', 'del')
+
def __init__(self):
ModTool.__init__(self)
- def setup(self):
- ModTool.setup(self)
- options = self.options
+ def setup(self, options, args):
+ ModTool.setup(self, options, args)
+
if options.block_name is not None:
self._info['pattern'] = options.block_name
- elif len(self.args) >= 2:
- self._info['pattern'] = self.args[1]
+ elif len(args) >= 2:
+ self._info['pattern'] = args[1]
else:
self._info['pattern'] = raw_input('Which blocks do you want to delete? (Regex): ')
if len(self._info['pattern']) == 0:
@@ -65,16 +66,19 @@ class ModToolRemove(ModTool):
'^\s*s->addTest\(gr::%s::%s::suite\(\)\);\s*$' % (
self._info['modname'], base)
)
+ self.scm.mark_file_updated(self._file['qalib'])
elif ext == '.cc':
ed.remove_value('list',
'\$\{CMAKE_CURRENT_SOURCE_DIR\}/%s' % filename,
to_ignore_start='APPEND test_%s_sources' % self._info['modname'])
+ self.scm.mark_file_updated(ed.filename)
else:
filebase = os.path.splitext(filename)[0]
ed.delete_entry('add_executable', filebase)
ed.delete_entry('target_link_libraries', filebase)
ed.delete_entry('GR_ADD_TEST', filebase)
ed.remove_double_newlines()
+ self.scm.mark_file_updated(ed.filename)
def _remove_py_test_case(filename=None, ed=None):
""" Special function that removes the occurrences of a qa*.{cc,h} file
@@ -102,6 +106,7 @@ class ModToolRemove(ModTool):
for f in incl_files_deleted + swig_files_deleted:
# TODO do this on all *.i files
remove_pattern_from_file(self._file['swig'], _make_swig_regex(f))
+ self.scm.mark_file_updated(self._file['swig'])
if not self._skip_subdirs['python']:
py_files_deleted = self._run_subdir('python', ('*.py',), ('GR_PYTHON_INSTALL',),
cmakeedit_func=_remove_py_test_case)
@@ -111,7 +116,6 @@ class ModToolRemove(ModTool):
if not self._skip_subdirs['grc']:
self._run_subdir('grc', ('*.xml',), ('install',))
-
def _run_subdir(self, path, globs, makefile_vars, cmakeedit_func=None):
""" Delete all files that match a certain pattern in path.
path - The directory in which this will take place
@@ -132,7 +136,7 @@ class ModToolRemove(ModTool):
if len(files_filt) == 0:
print "None found."
return []
- # 2. Delete files, Makefile entries and other occurences
+ # 2. Delete files, Makefile entries and other occurrences
files_deleted = []
ed = CMakeFileEditor('%s/CMakeLists.txt' % path)
yes = self._info['yes']
@@ -148,6 +152,7 @@ class ModToolRemove(ModTool):
continue
files_deleted.append(b)
print "Deleting %s." % f
+ self.scm.remove_file(f)
os.unlink(f)
print "Deleting occurrences of %s from %s/CMakeLists.txt..." % (b, path)
for var in makefile_vars:
@@ -155,5 +160,5 @@ class ModToolRemove(ModTool):
if cmakeedit_func is not None:
cmakeedit_func(b, ed)
ed.write()
+ self.scm.mark_files_updated(('%s/CMakeLists.txt' % path,))
return files_deleted
-