Skip to content

Instantly share code, notes, and snippets.

@shaded-enmity
Created March 9, 2017 15:57
Show Gist options
  • Save shaded-enmity/0c55652fd6b9cb4851092a531df3efd6 to your computer and use it in GitHub Desktop.
Save shaded-enmity/0c55652fd6b9cb4851092a531df3efd6 to your computer and use it in GitHub Desktop.
import xml.etree.ElementTree as ET
ET.register_namespace('', 'http://maven.apache.org/POM/4.0.0')
ns = {'pom': 'http://maven.apache.org/POM/4.0.0'}
root = ET.fromstring(open('pom.xml').read())
def text(elem):
return next(elem.itertext())
def coord(elem):
return
dependency_root = root.find('pom:dependencyManagement/pom:dependencies', ns)
dependencies = root.findall('pom:dependencyManagement/pom:dependencies/pom:dependency', ns)
data = sorted([(d, '{}-{}'.format(text(d.find('pom:groupId', ns)), text(d.find('pom:artifactId', ns)))) for d in dependencies], key=lambda x: x[1])
dependency_root.clear()
for item in data:
dependency_root.append(item[0])
open('pom.xml-sorted', 'a').write(ET.tostring(root).decode())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment