Select Git revision
md-import-export.py
make-new-project.py 1.34 KiB
#!/usr/bin/env python3
import argparse
import os
import shutil
import subprocess
TEMPLATE = 'project-template'
FILES_TO_SED = ['build.gradle',
'src/main/java/de/tudresden/inf/st/eraser/projectName/Main.java',
'src/test/java/de/tudresden/inf/st/eraser/projectName/ATest.java']
SRC_PARENT_DIRS_TO_MOVE = ['src/main/java/de/tudresden/inf/st/eraser/',
'src/test/java/de/tudresden/inf/st/eraser/']
def main(args):
projectName = args.projectName.replace('/', '').replace('-', '_')
# copy
shutil.copytree(TEMPLATE, projectName)
# fill in template names
for file in FILES_TO_SED:
cmds = ["sed", "-i", "s|projectName|" + projectName + "|",
os.path.join(projectName, file)]
print('cmds', cmds)
subprocess.call(cmds)
# correct packages
for package in SRC_PARENT_DIRS_TO_MOVE:
shutil.move(os.path.join(projectName, package, "projectName/"),
os.path.join(projectName, package, projectName))
# add project to settings.gradle
with open('settings.gradle', 'a') as fdr:
fdr.write("include ':" + projectName + "'\n")
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('projectName', help='Name of the project to create')
args = parser.parse_args()
main(args)