diff --git a/sync/generate-gradle.py b/sync/generate-gradle.py index 79d7942..35114a7 100755 --- a/sync/generate-gradle.py +++ b/sync/generate-gradle.py @@ -343,22 +343,21 @@ def load_package_list(list_path: Path, queue: asyncio.Queue) -> None: ) ) -async def create_gradle_build() -> str: - async with gradle_packages_lock: - return """// Generated, do not edit +def create_gradle_build(packages, repo) -> str: + return """// Generated, do not edit plugins { kotlin("jvm") version "1.7.20" } repositories { maven { - url=uri("http://repo:80/releases") + url=uri("http://""" + repo + """/releases") isAllowInsecureProtocol=true } } val deps = listOf( - """ + ',\n '.join(f'"{dep}"' for dep in sorted(gradle_packages)) + """ + """ + ',\n '.join(f'"{dep}"' for dep in sorted(packages)) + """ ).map { configurations.create(it.replace(':', '_')) to it } @@ -384,14 +383,15 @@ tasks.register("downloadDependencies") { } """ -async def create_gradle_settings() -> str: + +def create_gradle_settings(repo: str) -> str: return """// Generated, do not edit rootProject.name = "gradle sync job" pluginManagement { repositories { maven { - url=uri("http://repo:80/releases") + url=uri("http://""" + repo + """/releases") isAllowInsecureProtocol=true } } @@ -498,7 +498,7 @@ async def worker(queue: asyncio.Queue) -> None: queue.task_done() -async def main(package_list: Path, output_dir: Path, num_workers: int) -> None: +async def main(package_list: Path, output_dir: Path, num_workers: int, gradle_repo: str) -> None: queue: asyncio.Queue = asyncio.Queue() tasks = [] @@ -520,11 +520,12 @@ async def main(package_list: Path, output_dir: Path, num_workers: int) -> None: await asyncio.gather(*tasks, return_exceptions=True) - logger.info('Generating build.gradle.kts') - (output_dir / 'build.gradle.kts').write_text(await create_gradle_build()) + async with gradle_packages_lock: + logger.info('Generating build.gradle.kts') + (output_dir / 'build.gradle.kts').write_text(create_gradle_build(gradle_packages, gradle_repo)) logger.info('Generating settings.gradle.kts') - (output_dir / 'settings.gradle.kts').write_text(await create_gradle_settings()) + (output_dir / 'settings.gradle.kts').write_text(create_gradle_settings(gradle_repo)) logger = logging.getLogger(__name__) @@ -532,6 +533,7 @@ if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('-w', '--workers', type=int, default=20) parser.add_argument('-v', '--verbose', dest='verbosity', action='count', default=0) + parser.add_argument('--repo', type=str, help="The repository gradle should use", required=True) parser.add_argument('--output_dir', type=Path, help="The directory to put the generated gradle files in", default=Path('.'), required=False) parser.add_argument('package_list', type=Path, help="The list of packages to download") args = parser.parse_args() @@ -546,5 +548,5 @@ if __name__ == '__main__': logging.basicConfig(level=log_level) asyncio.run( - main(args.package_list, args.output_dir, args.workers) + main(args.package_list, args.output_dir, args.workers, args.repo) ) diff --git a/sync/resolve-deps.sh b/sync/resolve-deps.sh index 7d67e81..7239645 100755 --- a/sync/resolve-deps.sh +++ b/sync/resolve-deps.sh @@ -30,7 +30,10 @@ if [[ ! -f /package-list.txt ]]; then fi echo "Resolving packages and generating gradle config" -./generate-gradle.py /package-list.txt +if ! ./generate-gradle.py --repo="repo:80" /package-list.txt; then + echo "Gradle generation failed" + exit 255 +fi echo "Check that reposilite is running" wait_for_reposilite