| @@ -30,7 +30,7 @@ plugin_paths = sys.argv[1:] | |||||
| if not plugin_paths: | if not plugin_paths: | ||||
| plugin_paths = glob.glob("repos/*") | plugin_paths = glob.glob("repos/*") | ||||
| updated_slugs = set() | |||||
| manifest_versions = {} | |||||
| for plugin_path in plugin_paths: | for plugin_path in plugin_paths: | ||||
| plugin_path = os.path.abspath(plugin_path) | plugin_path = os.path.abspath(plugin_path) | ||||
| @@ -72,6 +72,10 @@ for plugin_path in plugin_paths: | |||||
| # Get library manifest | # Get library manifest | ||||
| library_manifest_filename = os.path.join(MANIFESTS_DIR, f"{slug}.json") | library_manifest_filename = os.path.join(MANIFESTS_DIR, f"{slug}.json") | ||||
| # Warn if manifest is new | |||||
| if not os.path.exists(library_manifest_filename): | |||||
| print(f"Manifest {slug} if new, press enter to approve.") | |||||
| input() | |||||
| if os.path.isdir(plugin_path): | if os.path.isdir(plugin_path): | ||||
| # Check if the library manifest is up to date | # Check if the library manifest is up to date | ||||
| @@ -89,8 +93,8 @@ for plugin_path in plugin_paths: | |||||
| try: | try: | ||||
| common.system(f'cd "{TOOLCHAIN_DIR}" && make plugin-build-clean') | common.system(f'cd "{TOOLCHAIN_DIR}" && make plugin-build-clean') | ||||
| common.system(f'cd "{TOOLCHAIN_DIR}" && make -j$(nproc) plugin-build PLUGIN_DIR={plugin_path}') | common.system(f'cd "{TOOLCHAIN_DIR}" && make -j$(nproc) plugin-build PLUGIN_DIR={plugin_path}') | ||||
| common.system(f'cp -vi "{TOOLCHAIN_DIR}"/plugin-build/* "{PACKAGES_DIR}"/') | |||||
| common.system(f'cp -vi "{TOOLCHAIN_DIR}"/plugin-build/*-lin.vcvplugin "{RACK_USER_PLUGIN_DIR}"') | |||||
| common.system(f'cp -v "{TOOLCHAIN_DIR}"/plugin-build/* "{PACKAGES_DIR}"/') | |||||
| common.system(f'cp -v "{TOOLCHAIN_DIR}"/plugin-build/*-lin.vcvplugin "{RACK_USER_PLUGIN_DIR}"') | |||||
| except Exception as e: | except Exception as e: | ||||
| print(e) | print(e) | ||||
| print(f"{slug} build failed") | print(f"{slug} build failed") | ||||
| @@ -123,10 +127,10 @@ for plugin_path in plugin_paths: | |||||
| screenshots_dir = os.path.join(SCREENSHOTS_DIR, slug) | screenshots_dir = os.path.join(SCREENSHOTS_DIR, slug) | ||||
| common.system(f'rm -rf "{screenshots_dir}"') | common.system(f'rm -rf "{screenshots_dir}"') | ||||
| updated_slugs.add(slug) | |||||
| manifest_versions[slug] = version | |||||
| if not updated_slugs: | |||||
| if not manifest_versions: | |||||
| print("Nothing to build") | print("Nothing to build") | ||||
| exit(0) | exit(0) | ||||
| @@ -135,10 +139,10 @@ update_modulargrid.update() | |||||
| # Upload data | # Upload data | ||||
| built_slugs_str = ", ".join(updated_slugs) | |||||
| manifest_versions_str = ", ".join(map(lambda pair: pair[0] + " to " + pair[1], manifest_versions.items())) | |||||
| print() | print() | ||||
| print(f"Press enter to launch Rack and test the following packages: {built_slugs_str}") | |||||
| print(f"Press enter to launch Rack and test the following packages: {manifest_versions_str}") | |||||
| input() | input() | ||||
| common.system(f"cd {RACK_SYSTEM_DIR} && ./Rack") | common.system(f"cd {RACK_SYSTEM_DIR} && ./Rack") | ||||
| common.system(f"cd {RACK_USER_DIR} && grep 'warn' log.txt || true") | common.system(f"cd {RACK_USER_DIR} && grep 'warn' log.txt || true") | ||||
| @@ -157,8 +161,8 @@ common.system("cd ../screenshots && make -j$(nproc) upload") | |||||
| # Commit repository | # Commit repository | ||||
| common.system("git add manifests") | common.system("git add manifests") | ||||
| common.system("git add manifests-cache.json ModularGrid-VCVLibrary.json") | common.system("git add manifests-cache.json ModularGrid-VCVLibrary.json") | ||||
| common.system(f"git commit -m 'Update manifest for {built_slugs_str}'") | |||||
| common.system(f"git commit -m 'Update manifest {manifest_versions_str}'") | |||||
| common.system("git push") | common.system("git push") | ||||
| print() | print() | ||||
| print(f"Updated {built_slugs_str}") | |||||
| print(f"Updated {manifest_versions_str}") | |||||