Updated/fixed init script.

This commit is contained in:
2025-06-06 17:40:48 +02:00
parent d9371e9cd4
commit b3a0e68100
3 changed files with 35 additions and 13 deletions

View File

@@ -64,6 +64,11 @@ def update_spp() -> None:
_logger.info('Changes in SCons++ detected, creating commit.')
_exec_checked(['git', 'commit', '-m', 'Updated Scons++', 'external/scons-plus-plus'])
def verify_unchanged() -> None:
output = _exec_get_output(['git', 'status', '--porcelain'])
if output != '':
raise RuntimeError('There are uncommitted changes. Commit, stash or revert them before running this script.')
def _replace_in_file(file: Path, **replacements) -> None:
_logger.debug('Patching file "%s"...', file)
bakfile = file.with_suffix(f'{file.suffix}.bak')
@@ -107,19 +112,36 @@ def setup_project() -> None:
template_folder = _root / 'private/spp_template'
module_folder = _root / 'private' / module_folder_name
_logger.debug(f'Moving {template_folder} to {module_folder}.')
shutil.move(template_folder, module_folder)
_logger.info('Creating a git commit for the setup.')
_exec_checked(['git', 'commit', '-m', 'Project setup', 'SConstruct', 'private'])
_exec_checked(['git', 'add', '.'])
_exec_checked(['git', 'commit', '-m', 'Project setup'])
def setup_git_remote() -> None:
current_url = _exec_get_output(['git', 'remote', 'get-url', 'origin'])
if 'spp_template' not in current_url:
_logger.debug('Remote already set up.')
return
remote_url = ''
while remote_url == '':
print('Please enter a new URL for your git remote.')
remote_url = _prompt().strip()
_exec_checked(['git', 'remote', 'set-url', 'origin', remote_url])
if __name__ == '__main__':
logging.basicConfig(level=logging.DEBUG, format='%(message)s')
_root = Path(__file__).parent.parent
os.chdir(_root)
#try:
verify_tools()
download_spp()
update_spp()
setup_project()
#except Exception as e:
# _logger.error('There was an error running the script: %s.', e)
# sys.exit(1)
try:
verify_tools()
download_spp()
update_spp()
verify_unchanged()
setup_project()
setup_git_remote()
except Exception as e:
_logger.error('There was an error running the script: %s', e)
sys.exit(1)