Skip to content

Commit

Permalink
refactor(script): Migrate from deprecated constructorArgs to proper…
Browse files Browse the repository at this point in the history
…ties

This is a preparation for the migration to Kotlin 2.0.0 in order to work
around [1].

[1]: https://youtrack.jetbrains.com/issue/KT-68336

Signed-off-by: Sebastian Schuberth <[email protected]>
  • Loading branch information
sschuberth committed May 22, 2024
1 parent b8026ba commit fb66d55
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 19 deletions.
11 changes: 9 additions & 2 deletions evaluator/src/main/kotlin/Evaluator.kt
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ package org.ossreviewtoolkit.evaluator
import java.time.Instant

import kotlin.script.experimental.api.ScriptEvaluationConfiguration
import kotlin.script.experimental.api.constructorArgs
import kotlin.script.experimental.api.providedProperties
import kotlin.script.experimental.api.scriptsInstancesSharing
import kotlin.script.experimental.jvmhost.createJvmCompilationConfigurationFromTemplate

Expand All @@ -45,7 +45,14 @@ class Evaluator(
override val compConfig = createJvmCompilationConfigurationFromTemplate<RulesScriptTemplate>()

override val evalConfig = ScriptEvaluationConfiguration {
constructorArgs(ortResult, licenseInfoResolver, resolutionProvider, licenseClassifications, time)
providedProperties(
"ortResult" to ortResult,
"licenseInfoResolver" to licenseInfoResolver,
"resolutionProvider" to resolutionProvider,
"licenseClassifications" to licenseClassifications,
"time" to time
)

scriptsInstancesSharing(true)
}

Expand Down
17 changes: 10 additions & 7 deletions evaluator/src/main/kotlin/RulesScriptTemplate.kt
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import java.time.Instant
import kotlin.script.experimental.annotations.KotlinScript
import kotlin.script.experimental.api.ScriptCompilationConfiguration
import kotlin.script.experimental.api.defaultImports
import kotlin.script.experimental.api.providedProperties

import org.ossreviewtoolkit.model.OrtResult
import org.ossreviewtoolkit.model.RuleViolation
Expand All @@ -37,13 +38,7 @@ import org.ossreviewtoolkit.utils.scripting.OrtScriptCompilationConfiguration
fileExtension = "rules.kts",
compilationConfiguration = RulesScriptCompilationConfiguration::class
)
open class RulesScriptTemplate(
val ortResult: OrtResult,
val licenseInfoResolver: LicenseInfoResolver,
val resolutionProvider: ResolutionProvider,
val licenseClassifications: LicenseClassifications,
val time: Instant
) {
open class RulesScriptTemplate {
val ruleViolations = mutableListOf<RuleViolation>()
}

Expand All @@ -58,5 +53,13 @@ class RulesScriptCompilationConfiguration : ScriptCompilationConfiguration(
"org.ossreviewtoolkit.model.utils.*",
"org.ossreviewtoolkit.utils.spdx.*"
)

providedProperties(
"ortResult" to OrtResult::class,
"licenseInfoResolver" to LicenseInfoResolver::class,
"resolutionProvider" to ResolutionProvider::class,
"licenseClassifications" to LicenseClassifications::class,
"time" to Instant::class
)
}
)
7 changes: 4 additions & 3 deletions notifier/src/main/kotlin/NotificationsScriptTemplate.kt
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ package org.ossreviewtoolkit.notifier
import kotlin.script.experimental.annotations.KotlinScript
import kotlin.script.experimental.api.ScriptCompilationConfiguration
import kotlin.script.experimental.api.defaultImports
import kotlin.script.experimental.api.providedProperties

import org.ossreviewtoolkit.model.OrtResult
import org.ossreviewtoolkit.utils.scripting.OrtScriptCompilationConfiguration
Expand All @@ -31,9 +32,7 @@ import org.ossreviewtoolkit.utils.scripting.OrtScriptCompilationConfiguration
fileExtension = "notifications.kts",
compilationConfiguration = NotificationsScriptCompilationConfiguration::class
)
open class NotificationsScriptTemplate(
val ortResult: OrtResult
)
open class NotificationsScriptTemplate

class NotificationsScriptCompilationConfiguration : ScriptCompilationConfiguration(
OrtScriptCompilationConfiguration(),
Expand All @@ -45,5 +44,7 @@ class NotificationsScriptCompilationConfiguration : ScriptCompilationConfigurati
"org.ossreviewtoolkit.model.utils.*",
"org.ossreviewtoolkit.notifier.modules.*"
)

providedProperties("ortResult" to OrtResult::class)
}
)
3 changes: 1 addition & 2 deletions notifier/src/main/kotlin/Notifier.kt
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ import java.time.Instant

import kotlin.script.experimental.api.KotlinType
import kotlin.script.experimental.api.ScriptEvaluationConfiguration
import kotlin.script.experimental.api.constructorArgs
import kotlin.script.experimental.api.providedProperties
import kotlin.script.experimental.api.scriptsInstancesSharing
import kotlin.script.experimental.jvmhost.createJvmCompilationConfigurationFromTemplate
Expand Down Expand Up @@ -54,7 +53,7 @@ class Notifier(
}

override val evalConfig = ScriptEvaluationConfiguration {
constructorArgs(ortResult)
providedProperties("ortResult" to ortResult)
scriptsInstancesSharing(true)

providedProperties(customProperties)
Expand Down
4 changes: 2 additions & 2 deletions reporter/src/main/kotlin/HowToFixTextProvider.kt
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ package org.ossreviewtoolkit.reporter

import kotlin.script.experimental.api.ResultValue
import kotlin.script.experimental.api.ScriptEvaluationConfiguration
import kotlin.script.experimental.api.constructorArgs
import kotlin.script.experimental.api.providedProperties
import kotlin.script.experimental.api.scriptsInstancesSharing
import kotlin.script.experimental.jvmhost.createJvmCompilationConfigurationFromTemplate

Expand Down Expand Up @@ -57,7 +57,7 @@ private class HowToFixScriptRunner(ortResult: OrtResult) : ScriptRunner() {
override val compConfig = createJvmCompilationConfigurationFromTemplate<HowToFixTextProviderScriptTemplate>()

override val evalConfig = ScriptEvaluationConfiguration {
constructorArgs(ortResult)
providedProperties("ortResult" to ortResult)
scriptsInstancesSharing(true)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ package org.ossreviewtoolkit.reporter
import kotlin.script.experimental.annotations.KotlinScript
import kotlin.script.experimental.api.ScriptCompilationConfiguration
import kotlin.script.experimental.api.defaultImports
import kotlin.script.experimental.api.providedProperties

import org.ossreviewtoolkit.model.OrtResult
import org.ossreviewtoolkit.utils.scripting.OrtScriptCompilationConfiguration
Expand All @@ -31,9 +32,7 @@ import org.ossreviewtoolkit.utils.scripting.OrtScriptCompilationConfiguration
fileExtension = "how-to-fix-text-provider.kts",
compilationConfiguration = HowToFixTextProviderScriptCompilationConfiguration::class
)
open class HowToFixTextProviderScriptTemplate(
val ortResult: OrtResult
)
open class HowToFixTextProviderScriptTemplate

class HowToFixTextProviderScriptCompilationConfiguration : ScriptCompilationConfiguration(
OrtScriptCompilationConfiguration(),
Expand All @@ -45,5 +44,7 @@ class HowToFixTextProviderScriptCompilationConfiguration : ScriptCompilationConf
"org.ossreviewtoolkit.model.utils.*",
"org.ossreviewtoolkit.reporter.HowToFixTextProvider"
)

providedProperties("ortResult" to OrtResult::class)
}
)

0 comments on commit fb66d55

Please sign in to comment.