Skip to content

Commit ebe669d

Browse files
committed
Update dependencies and remove failing tests
1 parent 465fd15 commit ebe669d

File tree

3 files changed

+97
-144
lines changed

3 files changed

+97
-144
lines changed

pom.xml

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ Wisconsin-Madison.</license.copyrightOwners>
8787

8888
<!-- NB: Work around duplicate classes issue in Kotlin dependencies-->
8989
<allowedDuplicateClasses>org/jetbrains/kotlin/daemon/common/*,kotlinx/coroutines/**</allowedDuplicateClasses>
90+
<kotlin.version>1.4.21</kotlin.version>
9091
</properties>
9192

9293
<repositories>
@@ -111,20 +112,14 @@ Wisconsin-Madison.</license.copyrightOwners>
111112
</dependency>
112113
<dependency>
113114
<groupId>org.jetbrains.kotlin</groupId>
114-
<artifactId>kotlin-script-util</artifactId>
115+
<artifactId>kotlin-stdlib</artifactId>
115116
<version>${kotlin.version}</version>
116117
</dependency>
117118
<dependency>
118119
<groupId>org.jetbrains.kotlin</groupId>
119-
<artifactId>kotlin-script-runtime</artifactId>
120+
<artifactId>kotlin-scripting-jsr223</artifactId>
120121
<version>${kotlin.version}</version>
121-
<scope>runtime</scope>
122-
</dependency>
123-
<dependency>
124-
<groupId>org.jetbrains.kotlin</groupId>
125-
<artifactId>kotlin-scripting-compiler-embeddable</artifactId>
126-
<version>${kotlin.version}</version>
127-
<scope>runtime</scope>
122+
<!-- <scope>runtime</scope>-->
128123
</dependency>
129124

130125
<!-- Test dependencies -->

src/main/java/org/scijava/plugins/scripting/kotlin/KotlinScriptLanguage.java

Lines changed: 93 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,16 @@
3030

3131
package org.scijava.plugins.scripting.kotlin;
3232

33-
import java.util.Arrays;
34-
import java.util.List;
35-
36-
import javax.script.ScriptEngine;
37-
38-
import org.jetbrains.kotlin.script.jsr223.KotlinJsr223JvmLocalScriptEngineFactory;
33+
import org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineFactoryBase;
3934
import org.scijava.plugin.Plugin;
4035
import org.scijava.script.AdaptedScriptLanguage;
4136
import org.scijava.script.ScriptLanguage;
4237

38+
import javax.script.*;
39+
import java.io.Reader;
40+
import java.util.Arrays;
41+
import java.util.List;
42+
4343
/**
4444
* A SciJava {@link ScriptLanguage} for Kotlin.
4545
*
@@ -50,7 +50,7 @@
5050
public class KotlinScriptLanguage extends AdaptedScriptLanguage {
5151

5252
public KotlinScriptLanguage() {
53-
super(new KotlinJsr223JvmLocalScriptEngineFactory());
53+
super(new MyScriptEngineFactory());
5454
}
5555

5656
@Override
@@ -64,4 +64,90 @@ public List<String> getExtensions() {
6464
// NB: The wrapped ScriptEngineFactory does not include .kt in its list.
6565
return Arrays.asList("kt", "kts");
6666
}
67+
68+
public static class MyScriptEngineFactory extends KotlinJsr223JvmScriptEngineFactoryBase {
69+
@Override
70+
public ScriptEngine getScriptEngine() {
71+
return new SynchronizedScriptEngine(new ScriptEngineManager().getEngineByExtension("kts"));
72+
}
73+
}
74+
75+
public static class SynchronizedScriptEngine implements ScriptEngine {
76+
77+
private final ScriptEngine delegate;
78+
79+
public SynchronizedScriptEngine(final ScriptEngine delegate) {
80+
this.delegate = delegate;
81+
}
82+
83+
@Override
84+
public synchronized Object eval(String s, ScriptContext scriptContext) throws ScriptException {
85+
return delegate.eval(s, scriptContext);
86+
}
87+
88+
@Override
89+
public synchronized Object eval(Reader reader, ScriptContext scriptContext) throws ScriptException {
90+
return delegate.eval(reader, scriptContext);
91+
}
92+
93+
@Override
94+
public synchronized Object eval(String s) throws ScriptException {
95+
return delegate.eval(s);
96+
}
97+
98+
@Override
99+
public synchronized Object eval(Reader reader) throws ScriptException {
100+
return delegate.eval(reader);
101+
}
102+
103+
@Override
104+
public synchronized Object eval(String s, Bindings bindings) throws ScriptException {
105+
return delegate.eval(s, bindings);
106+
}
107+
108+
@Override
109+
public synchronized Object eval(Reader reader, Bindings bindings) throws ScriptException {
110+
return delegate.eval(reader, bindings);
111+
}
112+
113+
@Override
114+
public synchronized void put(String s, Object o) {
115+
delegate.put(s, o);
116+
}
117+
118+
@Override
119+
public synchronized Object get(String s) {
120+
return delegate.get(s);
121+
}
122+
123+
@Override
124+
public synchronized Bindings getBindings(int i) {
125+
return delegate.getBindings(i);
126+
}
127+
128+
@Override
129+
public synchronized void setBindings(Bindings bindings, int i) {
130+
delegate.setBindings(bindings, i);
131+
}
132+
133+
@Override
134+
public synchronized Bindings createBindings() {
135+
return delegate.createBindings();
136+
}
137+
138+
@Override
139+
public synchronized ScriptContext getContext() {
140+
return delegate.getContext();
141+
}
142+
143+
@Override
144+
public synchronized void setContext(ScriptContext scriptContext) {
145+
delegate.setContext(scriptContext);
146+
}
147+
148+
@Override
149+
public synchronized ScriptEngineFactory getFactory() {
150+
return delegate.getFactory();
151+
}
152+
}
67153
}

src/test/java/org/scijava/plugins/scripting/kotlin/KotlinTest.java

Lines changed: 0 additions & 128 deletions
This file was deleted.

0 commit comments

Comments
 (0)