Skip to content
Snippets Groups Projects
Select Git revision
  • 13f564f939e515d4236ccfa009584d1ec15f13b9
  • main default protected
2 results

md-import-export.py

Blame
  • 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)