|
|
@@ -4,15 +4,25 @@ import dataclasses |
|
|
import logging |
|
|
import logging |
|
|
from pathlib import Path |
|
|
from pathlib import Path |
|
|
|
|
|
|
|
|
from config import parse_config, Configuration, MavenMirrors |
|
|
|
|
|
|
|
|
from config import parse_config, Configuration, MavenMirrors, Package |
|
|
from gradle import create_gradle |
|
|
from gradle import create_gradle |
|
|
from maven import get_effective_packages |
|
|
from maven import get_effective_packages |
|
|
from maven.plugins import get_effective_plugins |
|
|
from maven.plugins import get_effective_plugins |
|
|
|
|
|
from maven.version import resolve_version |
|
|
|
|
|
|
|
|
logger = logging.getLogger(__name__) |
|
|
logger = logging.getLogger(__name__) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async def resolve_kotlin(configuration: Configuration, mirrors: MavenMirrors): |
|
|
|
|
|
|
|
|
async def resolve_kotlin(configuration: Configuration, mirrors: MavenMirrors) -> list[Configuration]: |
|
|
|
|
|
kotlin_versions = await resolve_version( |
|
|
|
|
|
Package('org.jetbrains.kotlin', 'kotlin-stdlib', configuration.kotlin_version), |
|
|
|
|
|
mirrors.package_mirrors, |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
if not kotlin_versions: |
|
|
|
|
|
logger.error(f'Could not find kotlin version matching "{configuration.kotlin_version}"') |
|
|
|
|
|
return [] |
|
|
|
|
|
|
|
|
packages = [ |
|
|
packages = [ |
|
|
resolved |
|
|
resolved |
|
|
for package in configuration.packages |
|
|
for package in configuration.packages |
|
|
@@ -25,7 +35,10 @@ async def resolve_kotlin(configuration: Configuration, mirrors: MavenMirrors): |
|
|
for resolved in await get_effective_plugins(plugin, mirrors) |
|
|
for resolved in await get_effective_plugins(plugin, mirrors) |
|
|
] |
|
|
] |
|
|
|
|
|
|
|
|
return dataclasses.replace(configuration, packages=packages, plugins=plugins) |
|
|
|
|
|
|
|
|
return [ |
|
|
|
|
|
dataclasses.replace(configuration, kotlin_version=kotlin_version, packages=packages, plugins=plugins) |
|
|
|
|
|
for kotlin_version in kotlin_versions |
|
|
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async def main(package_list: Path, output_dir: Path, gradle_repo: str) -> None: |
|
|
async def main(package_list: Path, output_dir: Path, gradle_repo: str) -> None: |
|
|
@@ -43,8 +56,8 @@ async def main(package_list: Path, output_dir: Path, gradle_repo: str) -> None: |
|
|
for i, configuration in enumerate(config.configurations): |
|
|
for i, configuration in enumerate(config.configurations): |
|
|
logger.info(f'Resolving configuration kotlin={configuration.kotlin_version}, gradle={configuration.gradle_version}') |
|
|
logger.info(f'Resolving configuration kotlin={configuration.kotlin_version}, gradle={configuration.gradle_version}') |
|
|
try: |
|
|
try: |
|
|
configuration = await resolve_kotlin(configuration, config.mirrors) |
|
|
|
|
|
create_gradle(configuration, gradle_repo, output_dir) |
|
|
|
|
|
|
|
|
for c in await resolve_kotlin(configuration, config.mirrors): |
|
|
|
|
|
create_gradle(c, gradle_repo, output_dir) |
|
|
except: |
|
|
except: |
|
|
logger.exception(f'Error resolving kotlin version {configuration.kotlin_version}') |
|
|
logger.exception(f'Error resolving kotlin version {configuration.kotlin_version}') |
|
|
|
|
|
|
|
|
|