Skip to content

Instantly share code, notes, and snippets.

@dirk-thomas
dirk-thomas / gist:105892899af14ac64697
Last active December 1, 2016 17:28
visualize package dependencies
#!/usr/bin/env python3
import os
import sys
from ament_tools.packages import find_unique_packages
import pygraphviz
@dirk-thomas
dirk-thomas / gist:dda7a63e0d6faa58def8
Last active August 29, 2015 14:04
identify repositories with different release branch and doc/source branch
import subprocess
import yaml
from catkin_pkg.package import parse_package_string
import rosdistro
i = rosdistro.get_index(rosdistro.get_index_url())
for distro in reversed(sorted(i.distributions.keys())):
print(distro)
d = rosdistro.get_cached_distribution(i, distro)
@dirk-thomas
dirk-thomas / gist:e9debd17f7fd4c69d85a
Last active August 29, 2015 14:04
output all released package with maintainers still having willowgarage email addresses
from catkin_pkg.package import parse_package_string
import rosdistro
i = rosdistro.get_index(rosdistro.get_index_url())
for distro in ['groovy', 'hydro', 'indigo']:
print(distro)
maintainers = {}
d = rosdistro.get_cached_distribution(i, distro)
f = d._distribution_file
for name in sorted(f.release_packages.keys()):
@dirk-thomas
dirk-thomas / gist:5934af23375cd382ba84
Last active August 29, 2015 14:03
Verify that all released package.xml files are parsable and valid
from catkin_pkg.package import parse_package_string
import rosdistro
i = rosdistro.get_index(rosdistro.get_index_url())
for distro in ['groovy', 'hydro', 'indigo']:
print(distro)
d = rosdistro.get_cached_distribution(i, distro)
f = d._distribution_file
for name in sorted(f.release_packages.keys()):
xml = d.get_release_package_xml(name)
@dirk-thomas
dirk-thomas / gist:e29076b8f1eb2bb84c8c
Last active August 29, 2015 14:02
Find released packages / repositories with a specific dependency
from catkin_pkg.package import parse_package_string
import rosdistro
result_repos = {}
result_pkgs = {}
i = rosdistro.get_index(rosdistro.get_index_url())
d = rosdistro.get_cached_distribution(i, 'indigo')
f = d._distribution_file
for name in sorted(f.release_packages.keys()):
@dirk-thomas
dirk-thomas / gist:8960189
Created February 12, 2014 17:21
send Jenkins data points to custom metric at statuspage.io
Place the following jar files under /var/lib/jenkins/plugins/groovy/WEB-INF/lib/
* http-builder-0.7.jar
* httpclient-4.3.2.jar (httpcomponents-client-4.3.2)
* httpcore-4.3.1.jar (httpcomponents-client-4.3.2)
* resolver.jar (Xerces.2.11.0)
Groovy script:
import groovyx.net.http.HTTPBuilder
import groovyx.net.http.ContentType
@dirk-thomas
dirk-thomas / gist:6739057
Created September 28, 2013 06:21
wipe obsolete stacks from dry release repo
#!/usr/bin/env python
from distutils.version import LooseVersion
import os
import subprocess
import yaml
rosdistro_path = '../../release_trunk/distros'
distros = ['cturtle', 'diamondback','electric', 'fuerte', 'groovy', 'hydro']