Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. #!/usr/bin/env python3
  2.  
  3. import os
  4. import argparse
  5.  
  6. parser = argparse.ArgumentParser(description='Generate a Maven parent pom for existing Maven projects in a folder.')
  7. parser.add_argument('root', default='.', nargs='?',
  8. help='root (parent) folder')
  9. parser.add_argument('--group', default='localhost',
  10. help='groupId for parent POM')
  11. parser.add_argument('--artifact', default='parent',
  12. help='artifactId for parent POM')
  13. parser.add_argument('--version', default='0.0.1-SNAPSHOT',
  14. help='version for parent POM')
  15. args = parser.parse_args()
  16.  
  17. # quick hack without using an xml lib
  18. pom = "<project>\n" \
  19. " <modelVersion>4.0.0</modelVersion>\n" \
  20. f" <groupId>{args.group}</groupId>\n" \
  21. f" <artifactId>{args.artifact}</artifactId>\n" \
  22. f" <version>{args.version}</version>\n" \
  23. " <packaging>pom</packaging>\n" \
  24. " <modules>\n"
  25.  
  26. # scan the subdirs and consider all those that contain a pom.xml
  27. for entry in sorted(os.scandir(args.root), key=lambda e : e.name):
  28. if entry.is_dir() and os.path.isfile(os.path.join(entry.path, 'pom.xml')):
  29. pom += f" <module>{entry.name}</module>\n"
  30.  
  31. pom += " </modules>\n" \
  32. "</project>\n"
  33.  
  34. print(pom)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement