oss-review-toolkit / ort

A suite of tools to automate software compliance checks.
https://oss-review-toolkit.org
Apache License 2.0
1.59k stars 309 forks source link

javax.script.ScriptException: java.lang.IllegalStateException: Unknown license set identifier: permissive. #2185

Closed dineshr93 closed 4 years ago

dineshr93 commented 4 years ago

I have been following same procedure mentioned in Getting-started guide.

While Running the evaluator evaluator command

It threw IllegalStateException: Unknown license set identifier: permissive

dinesh@dinesh-VirtualBox:~/ort/oss-review-toolkit/cli/build/install/ort/bin$ ./ort evaluate --rules-file /home/dinesh/ort/oss-review-toolkit/docs/examples/rules.kts -i /home/dinesh/ort/output/scan-result.yml -o /home/dinesh/ort/output/mime-types


_ \____ _ / the OSS Review Toolkit, version 0.1.0-SNAPSHOT. / | | _/ | | Running 'evaluate' under Java 1.8.0_242 on Linux with / | \ | \ | | ORT_USER_HOME = /home/dinesh/.ort ___ /_| / |__| SHELL = /bin/bash \/ \/ More environment variables: TERM = xterm-256color

Exception in thread "main" javax.script.ScriptException: java.lang.IllegalStateException: Unknown license set identifier: permissive. at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase.asJsr223EvalResult(KotlinJsr223JvmScriptEngineBase.kt:101) at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase.compileAndEval(KotlinJsr223JvmScriptEngineBase.kt:63) at kotlin.script.experimental.jvmhost.jsr223.KotlinJsr223ScriptEngineImpl.compileAndEval(KotlinJsr223ScriptEngineImpl.kt:93) at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase.eval(KotlinJsr223JvmScriptEngineBase.kt:31) at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264) at com.here.ort.utils.ScriptRunner.run(ScriptRunner.kt:68) at com.here.ort.evaluator.Evaluator.run(Evaluator.kt:63) at com.here.ort.commands.EvaluatorCommand$run$evaluatorRun$2.invoke(EvaluatorCommand.kt:149) at com.here.ort.commands.EvaluatorCommand$run$evaluatorRun$2.invoke(EvaluatorCommand.kt:55) at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) at com.here.ort.commands.EvaluatorCommand.run(EvaluatorCommand.kt:152) at com.github.ajalt.clikt.parsers.Parser.parse(Parser.kt:139) at com.github.ajalt.clikt.parsers.Parser.parse(Parser.kt:14) at com.github.ajalt.clikt.core.CliktCommand.parse(CliktCommand.kt:215) at com.github.ajalt.clikt.core.CliktCommand.parse$default(CliktCommand.kt:212) at com.github.ajalt.clikt.core.CliktCommand.main(CliktCommand.kt:230) at com.github.ajalt.clikt.core.CliktCommand.main(CliktCommand.kt:253) at com.here.ort.OrtMainKt.main(OrtMain.kt:205) Caused by: java.lang.IllegalStateException: Unknown license set identifier: permissive. at com.here.ort.model.licenses.LicenseConfiguration.getLicensesForSet(LicenseConfiguration.kt:76) at ScriptingHost51b292f1_Line_1.getLicenseSet(ScriptingHost51b292f1_Line_1.kts:43) at ScriptingHost51b292f1_Line_1.(ScriptingHost51b292f1_Line_1.kts:45) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at kotlin.script.experimental.jvm.BasicJvmScriptEvaluator.evalWithConfigAndOtherScriptsResults(BasicJvmScriptEvaluator.kt:95) at kotlin.script.experimental.jvm.BasicJvmScriptEvaluator.invoke$suspendImpl(BasicJvmScriptEvaluator.kt:40) at kotlin.script.experimental.jvm.BasicJvmScriptEvaluator.invoke(BasicJvmScriptEvaluator.kt) at kotlin.script.experimental.jvmhost.repl.JvmReplEvaluator$eval$$inlined$write$lambda$2.invokeSuspend(legacyReplEvaluation.kt:57) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at org.jetbrains.kotlin.kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:238) at org.jetbrains.kotlin.kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.kt:116) at org.jetbrains.kotlin.kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:80) at org.jetbrains.kotlin.kotlinx.coroutines.BuildersKtBuildersKt.runBlocking(Builders.kt:54) at org.jetbrains.kotlin.kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) at org.jetbrains.kotlin.kotlinx.coroutines.BuildersKtBuildersKt.runBlocking$default(Builders.kt:36) at org.jetbrains.kotlin.kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source) at kotlin.script.experimental.jvmhost.repl.JvmReplEvaluator.eval(legacyReplEvaluation.kt:57) at org.jetbrains.kotlin.cli.common.repl.GenericReplCompilingEvaluatorBase.eval(GenericReplCompilingEvaluator.kt:76) at org.jetbrains.kotlin.cli.common.repl.GenericReplCompilingEvaluatorBase.compileAndEval(GenericReplCompilingEvaluator.kt:51) at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase$compileAndEval$1.invoke(KotlinJsr223JvmScriptEngineBase.kt:64) at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase$compileAndEval$1.invoke(KotlinJsr223JvmScriptEngineBase.kt:26) at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase.asJsr223EvalResult(KotlinJsr223JvmScriptEngineBase.kt:90) ... 17 more

I am using the rules.krs as part of evaluationo. It threw above error. Any help?

tsteenbe commented 4 years ago

@dineshr93 The exception you get is due to our Getting Starting guide failing to mention that the example rules.kts uses licenses.yml for its license classifications and therefore should be passed to the evaluator via the --license-configuration-file option.

The command below should work

dinesh@dinesh-VirtualBox:~/ort/oss-review-toolkit/cli/build/install/ort/bin$ ./ort evaluate --rules-file /home/dinesh/ort/oss-review-toolkit/docs/examples/rules.kts   --license-configuration-file /home/dinesh/ort/oss-review-toolkit/docs/examples/licenses.yml -i /home/dinesh/ort/output/scan-result.yml -o /home/dinesh/ort/output/mime-types

I already filled a PR to update our docs, see https://github.com/heremaps/oss-review-toolkit/pull/2192

dineshr93 commented 4 years ago

Thanks, now its worked