ソースを参照

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: configurations:
# Specify configurations where the packages/plugins depend on a specific kotlin and/or gradle version. # 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"] gradle-version: ["8.2.1", "7.6.2"]


plugins: plugins:


+ 18
- 5
sync/src/main.py ファイルの表示

@@ -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}')




読み込み中…
キャンセル
保存