|
|
|
@@ -34,30 +34,27 @@ def parse_config(path: Path) -> Optional[Config]: |
|
|
|
configurations: list[Configuration] = [] |
|
|
|
|
|
|
|
for i, section in enumerate(data.get('configurations')): |
|
|
|
if (kotlin_version := section.get('kotlin-version')) is None: |
|
|
|
if (kotlin_versions := section.get('kotlin-version')) is None: |
|
|
|
error.append(f"Configuration {i} is missing 'kotlin-version'") |
|
|
|
|
|
|
|
gradle_version = section.get('gradle-version') |
|
|
|
if not isinstance(kotlin_versions, list): |
|
|
|
kotlin_versions = [kotlin_versions] |
|
|
|
|
|
|
|
gradle_versions = section.get('gradle-version') |
|
|
|
if not isinstance(gradle_versions, list): |
|
|
|
gradle_versions = [gradle_versions] |
|
|
|
|
|
|
|
plugins = handle_plugins(section.get('plugins', {})) |
|
|
|
packages = handle_packages(section.get('packages', {})) |
|
|
|
|
|
|
|
configurations.append(Configuration( |
|
|
|
name=f'{kotlin_version}-packages', |
|
|
|
kotlin_version=kotlin_version, |
|
|
|
gradle_version=gradle_version, |
|
|
|
plugins=[], |
|
|
|
packages=packages |
|
|
|
)) |
|
|
|
|
|
|
|
for j, plugin in enumerate(plugins): |
|
|
|
configurations.append(Configuration( |
|
|
|
name=f'{kotlin_version}-plugins-{j}', |
|
|
|
kotlin_version=kotlin_version, |
|
|
|
gradle_version=gradle_version, |
|
|
|
plugins=[plugin], |
|
|
|
packages=[] |
|
|
|
)) |
|
|
|
configurations.extend( |
|
|
|
[ |
|
|
|
c |
|
|
|
for kotlin in kotlin_versions |
|
|
|
for gradle in gradle_versions |
|
|
|
for c in generate_configurations(kotlin, gradle, plugins, packages) |
|
|
|
] |
|
|
|
) |
|
|
|
|
|
|
|
if error: |
|
|
|
for msg in error: |
|
|
|
@@ -69,3 +66,26 @@ def parse_config(path: Path) -> Optional[Config]: |
|
|
|
configurations, |
|
|
|
data.get('maven', {}).get('mirrors', []), |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
def generate_configurations(kotlin: str, gradle: str, plugins: list[Plugin], packages: list[Package]) -> list[Configuration]: |
|
|
|
configurations = [] |
|
|
|
|
|
|
|
configurations.append(Configuration( |
|
|
|
name=f'{kotlin}-packages', |
|
|
|
kotlin_version=kotlin, |
|
|
|
gradle_version=gradle, |
|
|
|
plugins=[], |
|
|
|
packages=packages |
|
|
|
)) |
|
|
|
|
|
|
|
for j, plugin in enumerate(plugins): |
|
|
|
configurations.append(Configuration( |
|
|
|
name=f'{kotlin}-plugins-{j}', |
|
|
|
kotlin_version=kotlin, |
|
|
|
gradle_version=gradle, |
|
|
|
plugins=[plugin], |
|
|
|
packages=[] |
|
|
|
)) |
|
|
|
|
|
|
|
return configurations |