|
|
@@ -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 { |
|
|
plugins { |
|
|
kotlin("jvm") version "1.7.20" |
|
|
kotlin("jvm") version "1.7.20" |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
repositories { |
|
|
repositories { |
|
|
maven { |
|
|
maven { |
|
|
url=uri("http://repo:80/releases") |
|
|
|
|
|
|
|
|
url=uri("http://""" + repo + """/releases") |
|
|
isAllowInsecureProtocol=true |
|
|
isAllowInsecureProtocol=true |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
val deps = listOf( |
|
|
val deps = listOf( |
|
|
""" + ',\n '.join(f'"{dep}"' for dep in sorted(gradle_packages)) + """ |
|
|
|
|
|
|
|
|
""" + ',\n '.join(f'"{dep}"' for dep in sorted(packages)) + """ |
|
|
).map { |
|
|
).map { |
|
|
configurations.create(it.replace(':', '_')) to it |
|
|
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 |
|
|
return """// Generated, do not edit |
|
|
rootProject.name = "gradle sync job" |
|
|
rootProject.name = "gradle sync job" |
|
|
|
|
|
|
|
|
pluginManagement { |
|
|
pluginManagement { |
|
|
repositories { |
|
|
repositories { |
|
|
maven { |
|
|
maven { |
|
|
url=uri("http://repo:80/releases") |
|
|
|
|
|
|
|
|
url=uri("http://""" + repo + """/releases") |
|
|
isAllowInsecureProtocol=true |
|
|
isAllowInsecureProtocol=true |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
@@ -498,7 +498,7 @@ async def worker(queue: asyncio.Queue) -> None: |
|
|
queue.task_done() |
|
|
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() |
|
|
queue: asyncio.Queue = asyncio.Queue() |
|
|
tasks = [] |
|
|
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) |
|
|
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') |
|
|
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__) |
|
|
logger = logging.getLogger(__name__) |
|
|
|
|
|
|
|
|
@@ -532,6 +533,7 @@ if __name__ == '__main__': |
|
|
parser = argparse.ArgumentParser() |
|
|
parser = argparse.ArgumentParser() |
|
|
parser.add_argument('-w', '--workers', type=int, default=20) |
|
|
parser.add_argument('-w', '--workers', type=int, default=20) |
|
|
parser.add_argument('-v', '--verbose', dest='verbosity', action='count', default=0) |
|
|
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('--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") |
|
|
parser.add_argument('package_list', type=Path, help="The list of packages to download") |
|
|
args = parser.parse_args() |
|
|
args = parser.parse_args() |
|
|
@@ -546,5 +548,5 @@ if __name__ == '__main__': |
|
|
logging.basicConfig(level=log_level) |
|
|
logging.basicConfig(level=log_level) |
|
|
|
|
|
|
|
|
asyncio.run( |
|
|
asyncio.run( |
|
|
main(args.package_list, args.output_dir, args.workers) |
|
|
|
|
|
|
|
|
main(args.package_list, args.output_dir, args.workers, args.repo) |
|
|
) |
|
|
) |