import git import os import subprocess as spr import glob {% if cookiecutter.use_reuse %} spr.check_call( [ "reuse", "annotate", "--year", "{{ cookiecutter.copyright_year }}", "--license", "{{ cookiecutter.documentation_license }}", "--copyright", "{{ cookiecutter.copyright_holder }}", "--recursive", "README.md", ] ) spr.check_call( [ "reuse", "annotate", "--year", "{{ cookiecutter.copyright_year }}", "--license", "{{ cookiecutter.supplementary_files_license }}", "--copyright", "{{ cookiecutter.copyright_holder }}", "--recursive", ".gitignore", ".pre-commit-config.yaml", "Chart.yaml", "values.yaml", "linter_values.yaml", ".gitlab-ci.yml", ] ) spr.check_call( [ "reuse", "annotate", "--year", "{{ cookiecutter.copyright_year }}", "--license", "{{ cookiecutter.supplementary_files_license }}", "--copyright", "{{ cookiecutter.copyright_holder }}", "--recursive", "--style", "python", ".helmignore", ] ) spr.check_call( [ "reuse", "annotate", "--year", "{{ cookiecutter.copyright_year }}", "--license", "{{ cookiecutter.templates_license }}", "--copyright", "{{ cookiecutter.copyright_holder }}", "--recursive", "--force-dot-license", "templates/NOTES.txt", "templates/_helpers.tpl", ] ) spr.check_call( [ "reuse", "annotate", "--year", "{{ cookiecutter.copyright_year }}", "--license", "{{ cookiecutter.templates_license }}", "--copyright", "{{ cookiecutter.copyright_holder }}", "--recursive", "templates", ] ) spr.check_call( [ "reuse", "annotate", "--year", "{{ cookiecutter.copyright_year }}", "--license", "Unlicense", "--copyright", "{{ cookiecutter.copyright_holder }}", "scripts/print_version.py", ] ) spr.check_call(["reuse", "download", "--all"]) {% endif %} {% if not cookiecutter.install_basic_hereon_setup %} os.remove("templates/k8sgitlab-secret.yaml") os.remove("templates/{{cookiecutter.template_base_name}}-deploymentconfig.yaml") os.remove("templates/{{cookiecutter.template_base_name}}-buildconfig.yaml") os.remove("templates/{{cookiecutter.template_base_name}}-imagestream.yaml") os.remove("templates/{{cookiecutter.template_base_name}}-service.yaml") {% elif not cookiecutter.service_port %} os.remove("templates/{{cookiecutter.template_base_name}}-service.yaml") {% endif %} print("Fixing files for project at {{cookiecutter.project_slug}}") repo = git.Repo.init(".", mkdir=False) {% if cookiecutter.git_remote_protocoll == "ssh" %} repo.create_remote( "origin", "git@{{ cookiecutter.gitlab_host }}:{{ cookiecutter.gitlab_username }}/{{ cookiecutter.project_slug }}.git", ) {% else %} repo.create_remote( "origin", "https://{{ cookiecutter.gitlab_host }}/{{ cookiecutter.gitlab_username }}/{{ cookiecutter.project_slug }}.git", ) {% endif %} repo.git.add(".") spr.check_call(["pre-commit", "install"]) # make a silent run first to fix the files spr.call(["pre-commit", "run"], stdout=spr.DEVNULL) # add the files again after pre-commit hook has been run repo.git.add(".") spr.check_call(["pre-commit", "run"]) for dirpath, dirnames, filenames in os.walk("."): if "__pycache__" in dirnames: shutil.rmtree(os.path.join(dirpath, "__pycache__")) print(""" =============================================================================== Contratulations! =============================================================================== You just created a new helm chart for deployments in openshift. {% if cookiecutter.use_reuse -%} +-------------------------------------------------------------+ | IMPORTANT NOTE: | | | | If you used cruft to create this package, please now run | | the following commands to stage the .cruft.json file and | | assign it the correct license: | | | +-------------------------------------------------------------+ 1. Set the correct license information: $ reuse --root {{ cookiecutter.project_slug }} annotate --year {{ cookiecutter.copyright_year }} --license {{ cookiecutter.supplementary_files_license }} --copyright "{{ cookiecutter.copyright_holder }}" {{ cookiecutter.project_slug }}/.cruft.json 2. Stage the file: $ git -C {{ cookiecutter.project_slug }} add .cruft.json .cruft.json.license 3. Make your first commit via $ git -C {{ cookiecutter.project_slug }} commit -m "Initial commit" 4. Make sure that the repository at https://{{ cookiecutter.gitlab_host }}/{{ cookiecutter.gitlab_username }}/{{ cookiecutter.project_slug }} exists and bring your project on the web with $ git -C {{ cookiecutter.project_slug }} push origin main {% else %} +-------------------------------------------------------------+ | IMPORTANT NOTE: | | | | You can now push everything to gitlab! | | | +-------------------------------------------------------------+ 1. Make your first commit via $ git -C {{ cookiecutter.project_slug }} commit -m "Initial commit" 2. Make sure that the repository at https://{{ cookiecutter.gitlab_host }}/{{ cookiecutter.gitlab_username }}/{{ cookiecutter.project_slug }} exists and bring your project on the web with $ git -C {{ cookiecutter.project_slug }} push origin main {% endif -%} """)