def parse_packages_from_pom()

in setup.py [0:0]


    def parse_packages_from_pom(self):
        maven_root = ET.parse(self.packages_file).getroot()
        maven_version = '{http://maven.apache.org/POM/4.0.0}'
        # dictionary of common package versions encoded in `properties` section
        properties = {f"${{{child.tag.replace(maven_version, '')}}}": child.text
                      for child in maven_root.find(f'{maven_version}properties').iter() if 'version' in child.tag}

        packages = []
        for dep in maven_root.iter(f'{maven_version}dependency'):
            dependency = []
            for attr in ['groupId', 'artifactId', 'version']:
                val = dep.find(maven_version + attr).text
                if val in properties:
                    dependency.append(properties[val])
                else:
                    dependency.append(val)
            packages.append(tuple(dependency))

        return packages