misc.py
Go to the documentation of this file.
1 import re
2 import os
3 from util import roscompile, make_executable
4 from ros_introspection.util import get_packages
5 
6 MAINPAGE_S = "/\*\*\s+\\\\mainpage\s+\\\\htmlinclude manifest.html\s+\\\\b %s\s+<!--\s+" + \
7  "Provide an overview of your package.\s+-->\s+-->\s+[^\*]*\*/"
8 
9 
10 @roscompile
12  cfgs = package.dynamic_reconfigs
13  if len(cfgs) == 0:
14  return
15  pkg_list = set(['dynamic_reconfigure'])
16  package.manifest.add_packages(pkg_list, pkg_list)
17  package.cmake.section_check(cfgs, 'generate_dynamic_reconfigure_options', '')
18  package.cmake.section_check(pkg_list, 'find_package', 'COMPONENTS')
19 
20  for fn in cfgs:
21  make_executable(os.path.join(package.root, fn))
22 
23 
24 @roscompile
25 def remove_useless_files(package):
26  mainpage_pattern = re.compile(MAINPAGE_S % package.name)
27  for fn in package.misc_files:
28  if 'mainpage.dox' in fn:
29  full_path = os.path.join(package.root, fn)
30  s = open(full_path).read()
31  if mainpage_pattern.match(s):
32  os.remove(full_path)
33 
34 
35 @roscompile
36 def update_metapackage(package, require_matching_name=False):
37  # TODO: Check if metapackage is in CMake
38  # TODO: Ensure export is in there too
39  if not package.manifest.is_metapackage():
40  return False
41 
42  parent_path = os.path.abspath(os.path.join(package.root, '..'))
43 
44  if require_matching_name and os.path.split(parent_path)[1] != package.name:
45  return False
46 
47  sub_packages = set()
48  for sub_package in get_packages(parent_path, create_objects=False):
49  pkg_name = os.path.split(sub_package)[1]
50  if pkg_name != package.name:
51  sub_packages.add(pkg_name)
52  existing_sub_packages = package.manifest.get_packages('run')
53  package.manifest.add_packages(set(), sub_packages, prefer_depend_tag=False)
54 
55  if package.manifest.format == 1:
56  pkg_type = 'run_depend'
57  else:
58  pkg_type = 'exec_depend'
59 
60  package.manifest.remove_dependencies(pkg_type, existing_sub_packages - sub_packages)
61  package.cmake.section_check([], 'catkin_metapackage', zero_okay=True)
62 
63 
64 @roscompile
65 def misc_xml_formatting(package):
66  package.manifest.changed = True
67  for config in package.plugin_configs:
68  config.changed = True
def remove_useless_files(package)
Definition: misc.py:25
def check_dynamic_reconfigure(package)
Definition: misc.py:11
def update_metapackage(package, require_matching_name=False)
Definition: misc.py:36
def make_executable(fn)
Definition: util.py:41
def misc_xml_formatting(package)
Definition: misc.py:65


roscompile
Author(s):
autogenerated on Wed Jun 19 2019 19:56:53