Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- import os
- import argparse
- parser = argparse.ArgumentParser(description='Generate a Maven parent pom for existing Maven projects in a folder.')
- parser.add_argument('root', default='.', nargs='?',
- help='root (parent) folder')
- parser.add_argument('--group', default='localhost',
- help='groupId for parent POM')
- parser.add_argument('--artifact', default='parent',
- help='artifactId for parent POM')
- parser.add_argument('--version', default='0.0.1-SNAPSHOT',
- help='version for parent POM')
- args = parser.parse_args()
- # quick hack without using an xml lib
- pom = "<project>\n" \
- " <modelVersion>4.0.0</modelVersion>\n" \
- f" <groupId>{args.group}</groupId>\n" \
- f" <artifactId>{args.artifact}</artifactId>\n" \
- f" <version>{args.version}</version>\n" \
- " <packaging>pom</packaging>\n" \
- " <modules>\n"
- # scan the subdirs and consider all those that contain a pom.xml
- for entry in sorted(os.scandir(args.root), key=lambda e : e.name):
- if entry.is_dir() and os.path.isfile(os.path.join(entry.path, 'pom.xml')):
- pom += f" <module>{entry.name}</module>\n"
- pom += " </modules>\n" \
- "</project>\n"
- print(pom)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement