浏览代码

Add support for using latest or stable kotlin version

main
父节点
当前提交
29622e102b
签署人:: sindre <sindre@sindrestephansen.com> GPG 密钥 ID: B06FC67D17A46ADE
共有 2 个文件被更改,包括 19 次插入6 次删除
  1. +1
    -1
      package-list.yaml
  2. +18
    -5
      sync/src/main.py

+ 1
- 1
package-list.yaml 查看文件

@@ -11,7 +11,7 @@ maven:

configurations:
# Specify configurations where the packages/plugins depend on a specific kotlin and/or gradle version.
- kotlin-version: ["1.8.20", "1.7.0"]
- kotlin-version: ["latest", "1.8.20", "1.7.0"]
gradle-version: ["8.2.1", "7.6.2"]

plugins:


+ 18
- 5
sync/src/main.py 查看文件

@@ -4,15 +4,25 @@ import dataclasses
import logging
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 maven import get_effective_packages
from maven.plugins import get_effective_plugins
from maven.version import resolve_version

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 = [
resolved
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)
]

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:
@@ -43,8 +56,8 @@ async def main(package_list: Path, output_dir: Path, gradle_repo: str) -> None:
for i, configuration in enumerate(config.configurations):
logger.info(f'Resolving configuration kotlin={configuration.kotlin_version}, gradle={configuration.gradle_version}')
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:
logger.exception(f'Error resolving kotlin version {configuration.kotlin_version}')



正在加载...
取消
保存