From f401f2452153e23a2baec36717751c2a9f613e72 Mon Sep 17 00:00:00 2001 From: Alexey Andreev Date: Thu, 9 Nov 2017 20:10:15 +0300 Subject: [PATCH] Revive Eclipse plugin --- pom.xml | 8 ++++ .../eclipse/core-plugin/META-INF/MANIFEST.MF | 47 +++++++++++++------ tools/eclipse/core-plugin/build.properties | 11 +++-- tools/eclipse/core-plugin/dep-pom.xml | 2 +- tools/eclipse/core-plugin/pom.xml | 2 +- tools/eclipse/feature/feature.xml | 6 +-- tools/eclipse/feature/pom.xml | 2 +- tools/eclipse/m2e-feature/feature.xml | 2 +- tools/eclipse/m2e-feature/pom.xml | 2 +- tools/eclipse/m2e-plugin/META-INF/MANIFEST.MF | 2 +- tools/eclipse/m2e-plugin/pom.xml | 2 +- tools/eclipse/plugin/META-INF/MANIFEST.MF | 37 +++++++++++---- tools/eclipse/plugin/pom.xml | 2 +- .../eclipse/TeaVMEclipseProgressListener.java | 4 +- .../teavm/eclipse/TeaVMProjectBuilder.java | 6 +-- .../eclipse/debugger/TeaVMDebugTarget.java | 2 +- .../teavm/eclipse/debugger/TeaVMJSThread.java | 2 +- .../eclipse/debugger/TeaVMJavaThread.java | 2 +- tools/eclipse/pom.xml | 6 +-- tools/eclipse/updatesite/category.xml | 14 +++--- tools/eclipse/updatesite/pom.xml | 2 +- 21 files changed, 105 insertions(+), 58 deletions(-) diff --git a/pom.xml b/pom.xml index 715ae555b..a3185993f 100644 --- a/pom.xml +++ b/pom.xml @@ -325,12 +325,20 @@ tools/idea + with-idea tools/idea + + + with-eclipse + + tools/eclipse + + sign-artifacts diff --git a/tools/eclipse/core-plugin/META-INF/MANIFEST.MF b/tools/eclipse/core-plugin/META-INF/MANIFEST.MF index a73ad7e5c..1d7d80fe7 100644 --- a/tools/eclipse/core-plugin/META-INF/MANIFEST.MF +++ b/tools/eclipse/core-plugin/META-INF/MANIFEST.MF @@ -2,11 +2,11 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: TeaVM plugin for Eclipse Bundle-SymbolicName: teavm-eclipse-core-plugin;singleton:=true -Bundle-Version: 0.5.0.qualifier +Bundle-Version: 0.6.0.qualifier Bundle-Vendor: Alexey Andreev Bundle-RequiredExecutionEnvironment: JavaSE-1.7 Bundle-ClassPath: ., - lib/asm-debug-all-5.0.4.jar, + lib/asm-debug-all-5.0.3.jar, lib/cdi-api-1.2.jar, lib/commons-io-2.4.jar, lib/jackson-core-asl-1.9.13.jar, @@ -36,10 +36,11 @@ Bundle-ClassPath: ., lib/org.apache.aries.spifly.dynamic.bundle-1.0.1.jar, lib/org.apache.aries.spifly.weaver-internal-1.0.1.jar, lib/org.apache.aries.util-1.0.0.jar, - lib/slf4j-api-1.7.7.jar, - lib/teavm-chrome-rdp-0.5.0-SNAPSHOT.jar, - lib/teavm-core-0.5.0-SNAPSHOT.jar, - lib/teavm-tooling-0.5.0-SNAPSHOT.jar, + lib/slf4j-api-1.7.6.jar, + lib/teavm-chrome-rdp-0.6.0-SNAPSHOT.jar, + lib/teavm-core-0.6.0-SNAPSHOT.jar, + lib/teavm-interop-0.6.0-SNAPSHOT.jar, + lib/teavm-tooling-0.6.0-SNAPSHOT.jar, lib/websocket-api-9.2.1.v20140609.jar, lib/websocket-client-9.2.1.v20140609.jar, lib/websocket-common-9.2.1.v20140609.jar, @@ -47,28 +48,46 @@ Bundle-ClassPath: ., lib/websocket-servlet-9.2.1.v20140609.jar, lib/hppc-0.6.1.jar Bundle-ActivationPolicy: lazy -Export-Package: org.teavm.cache, +Export-Package: org.teavm.ast, + org.teavm.ast.cache, + org.teavm.ast.decompilation, + org.teavm.ast.optimization, + org.teavm.backend.javascript, + org.teavm.backend.javascript.codegen, + org.teavm.backend.javascript.rendering, + org.teavm.backend.javascript.spi, + org.teavm.backend.wasm, + org.teavm.backend.wasm.binary, + org.teavm.backend.wasm.generate, + org.teavm.backend.wasm.intrinsics, + org.teavm.backend.wasm.model, + org.teavm.backend.wasm.model.expression, + org.teavm.backend.wasm.optimization, + org.teavm.backend.wasm.patches, + org.teavm.backend.wasm.render, + org.teavm.backend.wasm.transformation, + org.teavm.cache, org.teavm.callgraph, + org.teavm.common, org.teavm.chromerdp, org.teavm.chromerdp.data, org.teavm.chromerdp.messages, - org.teavm.codegen, - org.teavm.common, org.teavm.debugging, org.teavm.debugging.information, org.teavm.debugging.javascript, org.teavm.dependency, org.teavm.diagnostics, - org.teavm.javascript, - org.teavm.javascript.ast, - org.teavm.javascript.spi, org.teavm.model, org.teavm.model.instructions, org.teavm.model.util, org.teavm.model.emit, - org.teavm.optimization, + org.teavm.model.lowlevel, + org.teavm.model.optimization, + org.teavm.model.text, + org.teavm.model.transformation, org.teavm.parsing, - org.teavm.resource, + org.teavm.parsing.resource, + org.teavm.runtime, org.teavm.testing, org.teavm.tooling, org.teavm.tooling.sources, diff --git a/tools/eclipse/core-plugin/build.properties b/tools/eclipse/core-plugin/build.properties index 32ec7ac47..375f943af 100644 --- a/tools/eclipse/core-plugin/build.properties +++ b/tools/eclipse/core-plugin/build.properties @@ -3,7 +3,7 @@ output.. = target/ bin.includes = META-INF/,\ .,\ lib/,\ - lib/asm-debug-all-5.0.4.jar,\ + lib/asm-debug-all-5.0.3.jar,\ lib/cdi-api-1.2.jar,\ lib/commons-io-2.4.jar,\ lib/jackson-core-asl-1.9.13.jar,\ @@ -33,10 +33,11 @@ bin.includes = META-INF/,\ lib/org.apache.aries.spifly.dynamic.bundle-1.0.1.jar,\ lib/org.apache.aries.spifly.weaver-internal-1.0.1.jar,\ lib/org.apache.aries.util-1.0.0.jar,\ - lib/slf4j-api-1.7.7.jar,\ - lib/teavm-chrome-rdp-0.5.0-SNAPSHOT.jar,\ - lib/teavm-core-0.5.0-SNAPSHOT.jar,\ - lib/teavm-tooling-0.5.0-SNAPSHOT.jar,\ + lib/slf4j-api-1.7.6.jar,\ + lib/teavm-chrome-rdp-0.6.0-SNAPSHOT.jar,\ + lib/teavm-core-0.6.0-SNAPSHOT.jar,\ + lib/teavm-interop-0.6.0-SNAPSHOT.jar,\ + lib/teavm-tooling-0.6.0-SNAPSHOT.jar,\ lib/websocket-api-9.2.1.v20140609.jar,\ lib/websocket-client-9.2.1.v20140609.jar,\ lib/websocket-common-9.2.1.v20140609.jar,\ diff --git a/tools/eclipse/core-plugin/dep-pom.xml b/tools/eclipse/core-plugin/dep-pom.xml index 0df1ebe48..baed2fb43 100644 --- a/tools/eclipse/core-plugin/dep-pom.xml +++ b/tools/eclipse/core-plugin/dep-pom.xml @@ -19,7 +19,7 @@ org.teavm teavm-eclipse-core-deps - 0.5.0-SNAPSHOT + 0.6.0-SNAPSHOT pom TeaVM dependencies for Eclipse plugin diff --git a/tools/eclipse/core-plugin/pom.xml b/tools/eclipse/core-plugin/pom.xml index 708b53ab7..1a8e38c94 100644 --- a/tools/eclipse/core-plugin/pom.xml +++ b/tools/eclipse/core-plugin/pom.xml @@ -20,7 +20,7 @@ org.teavm teavm-eclipse - 0.5.0-SNAPSHOT + 0.6.0-SNAPSHOT teavm-eclipse-core-plugin eclipse-plugin diff --git a/tools/eclipse/feature/feature.xml b/tools/eclipse/feature/feature.xml index 16a76a49f..5dbcb7371 100644 --- a/tools/eclipse/feature/feature.xml +++ b/tools/eclipse/feature/feature.xml @@ -2,7 +2,7 @@ @@ -233,14 +233,14 @@ id="teavm-eclipse-plugin" download-size="0" install-size="0" - version="0.5.0.qualifier" + version="0.6.0.qualifier" unpack="false"/> diff --git a/tools/eclipse/feature/pom.xml b/tools/eclipse/feature/pom.xml index 15e6ca325..851f1e5d8 100644 --- a/tools/eclipse/feature/pom.xml +++ b/tools/eclipse/feature/pom.xml @@ -21,7 +21,7 @@ org.teavm teavm-eclipse - 0.5.0-SNAPSHOT + 0.6.0-SNAPSHOT teavm-eclipse-feature diff --git a/tools/eclipse/m2e-feature/feature.xml b/tools/eclipse/m2e-feature/feature.xml index 1488451ae..e2e232755 100644 --- a/tools/eclipse/m2e-feature/feature.xml +++ b/tools/eclipse/m2e-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/tools/eclipse/m2e-feature/pom.xml b/tools/eclipse/m2e-feature/pom.xml index 34b43dddb..5463a2175 100644 --- a/tools/eclipse/m2e-feature/pom.xml +++ b/tools/eclipse/m2e-feature/pom.xml @@ -21,7 +21,7 @@ org.teavm teavm-eclipse - 0.5.0-SNAPSHOT + 0.6.0-SNAPSHOT teavm-eclipse-m2e-feature diff --git a/tools/eclipse/m2e-plugin/META-INF/MANIFEST.MF b/tools/eclipse/m2e-plugin/META-INF/MANIFEST.MF index 07dde2774..eb612f72e 100644 --- a/tools/eclipse/m2e-plugin/META-INF/MANIFEST.MF +++ b/tools/eclipse/m2e-plugin/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: TeaVM plugin for m2e Bundle-SymbolicName: teavm-eclipse-m2e-plugin;singleton:=true -Bundle-Version: 0.5.0.qualifier +Bundle-Version: 0.6.0.qualifier Bundle-Vendor: Alexey Andreev Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Require-Bundle: teavm-eclipse-plugin;bundle-version="0.0.0", diff --git a/tools/eclipse/m2e-plugin/pom.xml b/tools/eclipse/m2e-plugin/pom.xml index 054672054..696d8ffda 100644 --- a/tools/eclipse/m2e-plugin/pom.xml +++ b/tools/eclipse/m2e-plugin/pom.xml @@ -21,7 +21,7 @@ org.teavm teavm-eclipse - 0.5.0-SNAPSHOT + 0.6.0-SNAPSHOT teavm-eclipse-m2e-plugin diff --git a/tools/eclipse/plugin/META-INF/MANIFEST.MF b/tools/eclipse/plugin/META-INF/MANIFEST.MF index 990519175..62500cbbe 100644 --- a/tools/eclipse/plugin/META-INF/MANIFEST.MF +++ b/tools/eclipse/plugin/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: TeaVM plugin for Eclipse Bundle-SymbolicName: teavm-eclipse-plugin;singleton:=true -Bundle-Version: 0.5.0.qualifier +Bundle-Version: 0.6.0.qualifier Bundle-Vendor: Alexey Andreev Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Bundle-Activator: org.teavm.eclipse.TeaVMEclipsePlugin @@ -25,27 +25,46 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.8.0,4.0)", teavm-eclipse-core-plugin;bundle-version="0.0.0" Export-Package: org.teavm.eclipse.debugger,org.teavm.eclipse Bundle-ActivationPolicy: lazy -Import-Package: org.teavm.cache, +Import-Package: org.teavm.ast, + org.teavm.ast.cache, + org.teavm.ast.decompilation, + org.teavm.ast.optimization, + org.teavm.backend.javascript, + org.teavm.backend.javascript.codegen, + org.teavm.backend.javascript.rendering, + org.teavm.backend.javascript.spi, + org.teavm.backend.wasm, + org.teavm.backend.wasm.binary, + org.teavm.backend.wasm.generate, + org.teavm.backend.wasm.intrinsics, + org.teavm.backend.wasm.model, + org.teavm.backend.wasm.model.expression, + org.teavm.backend.wasm.optimization, + org.teavm.backend.wasm.patches, + org.teavm.backend.wasm.render, + org.teavm.backend.wasm.transformation, + org.teavm.cache, org.teavm.callgraph, + org.teavm.common, org.teavm.chromerdp, org.teavm.chromerdp.data, org.teavm.chromerdp.messages, - org.teavm.codegen, - org.teavm.common, org.teavm.debugging, org.teavm.debugging.information, org.teavm.debugging.javascript, org.teavm.dependency, org.teavm.diagnostics, - org.teavm.javascript, - org.teavm.javascript.ast, - org.teavm.javascript.spi, org.teavm.model, org.teavm.model.instructions, org.teavm.model.util, - org.teavm.optimization, + org.teavm.model.emit, + org.teavm.model.lowlevel, + org.teavm.model.optimization, + org.teavm.model.text, + org.teavm.model.transformation, org.teavm.parsing, - org.teavm.resource, + org.teavm.parsing.resource, + org.teavm.runtime, org.teavm.testing, org.teavm.tooling, org.teavm.tooling.sources, diff --git a/tools/eclipse/plugin/pom.xml b/tools/eclipse/plugin/pom.xml index d0de77c9e..b168931e4 100644 --- a/tools/eclipse/plugin/pom.xml +++ b/tools/eclipse/plugin/pom.xml @@ -21,7 +21,7 @@ org.teavm teavm-eclipse - 0.5.0-SNAPSHOT + 0.6.0-SNAPSHOT teavm-eclipse-plugin diff --git a/tools/eclipse/plugin/src/main/java/org/teavm/eclipse/TeaVMEclipseProgressListener.java b/tools/eclipse/plugin/src/main/java/org/teavm/eclipse/TeaVMEclipseProgressListener.java index c4a545e69..ef4cb9e3e 100644 --- a/tools/eclipse/plugin/src/main/java/org/teavm/eclipse/TeaVMEclipseProgressListener.java +++ b/tools/eclipse/plugin/src/main/java/org/teavm/eclipse/TeaVMEclipseProgressListener.java @@ -46,8 +46,8 @@ class TeaVMEclipseProgressListener implements TeaVMProgressListener { case DEPENDENCY_CHECKING: taskName = "Dependency checking"; break; - case DEVIRTUALIZATION: - taskName = "Applying devirtualization"; + case OPTIMIZATION: + taskName = "Optimizing"; break; case LINKING: taskName = "Linking"; diff --git a/tools/eclipse/plugin/src/main/java/org/teavm/eclipse/TeaVMProjectBuilder.java b/tools/eclipse/plugin/src/main/java/org/teavm/eclipse/TeaVMProjectBuilder.java index 8d8c14c72..d9ab8c4c3 100644 --- a/tools/eclipse/plugin/src/main/java/org/teavm/eclipse/TeaVMProjectBuilder.java +++ b/tools/eclipse/plugin/src/main/java/org/teavm/eclipse/TeaVMProjectBuilder.java @@ -67,8 +67,8 @@ import org.teavm.diagnostics.ProblemTextConsumer; import org.teavm.model.CallLocation; import org.teavm.model.ClassHolderTransformer; import org.teavm.model.FieldReference; -import org.teavm.model.InstructionLocation; import org.teavm.model.MethodReference; +import org.teavm.model.TextLocation; import org.teavm.model.ValueType; import org.teavm.tooling.ClassAlias; import org.teavm.tooling.RuntimeCopyOperation; @@ -351,7 +351,7 @@ public class TeaVMProjectBuilder extends IncrementalProjectBuilder { return wasPut; } - private boolean putMarker(IResource resource, InstructionLocation location, MethodReference method, + private boolean putMarker(IResource resource, TextLocation location, MethodReference method, String text, TeaVMProfile profile, boolean force) throws CoreException { Integer lineNumber = location != null ? location.getLine() : null; if (lineNumber == null) { @@ -446,7 +446,7 @@ public class TeaVMProjectBuilder extends IncrementalProjectBuilder { @Override public void appendMethod(MethodReference method) { sb.append(getFullMethodName(method)); } - @Override public void appendLocation(InstructionLocation location) { + @Override public void appendLocation(TextLocation location) { sb.append(location); } @Override public void appendField(FieldReference field) { diff --git a/tools/eclipse/plugin/src/main/java/org/teavm/eclipse/debugger/TeaVMDebugTarget.java b/tools/eclipse/plugin/src/main/java/org/teavm/eclipse/debugger/TeaVMDebugTarget.java index 4f1b2ad6a..9ea4587de 100644 --- a/tools/eclipse/plugin/src/main/java/org/teavm/eclipse/debugger/TeaVMDebugTarget.java +++ b/tools/eclipse/plugin/src/main/java/org/teavm/eclipse/debugger/TeaVMDebugTarget.java @@ -73,7 +73,7 @@ public class TeaVMDebugTarget extends PlatformObject implements IDebugTarget, IS } @Override - public void paused() { + public void paused(Breakpoint breakpoint) { fireEvent(new DebugEvent(TeaVMDebugTarget.this, DebugEvent.SUSPEND)); thread.fireSuspendEvent(0); thread.fireChangeEvent(0); diff --git a/tools/eclipse/plugin/src/main/java/org/teavm/eclipse/debugger/TeaVMJSThread.java b/tools/eclipse/plugin/src/main/java/org/teavm/eclipse/debugger/TeaVMJSThread.java index 6e374982e..a08ef47a5 100644 --- a/tools/eclipse/plugin/src/main/java/org/teavm/eclipse/debugger/TeaVMJSThread.java +++ b/tools/eclipse/plugin/src/main/java/org/teavm/eclipse/debugger/TeaVMJSThread.java @@ -39,7 +39,7 @@ public class TeaVMJSThread extends TeaVMThread { fireEvent(new DebugEvent(TeaVMJSThread.this, DebugEvent.RESUME)); } @Override - public void paused() { + public void paused(JavaScriptBreakpoint breakpoint) { updateStackTrace(); fireEvent(new DebugEvent(TeaVMJSThread.this, DebugEvent.SUSPEND)); } diff --git a/tools/eclipse/plugin/src/main/java/org/teavm/eclipse/debugger/TeaVMJavaThread.java b/tools/eclipse/plugin/src/main/java/org/teavm/eclipse/debugger/TeaVMJavaThread.java index 478e8349d..646b5268c 100644 --- a/tools/eclipse/plugin/src/main/java/org/teavm/eclipse/debugger/TeaVMJavaThread.java +++ b/tools/eclipse/plugin/src/main/java/org/teavm/eclipse/debugger/TeaVMJavaThread.java @@ -36,7 +36,7 @@ public class TeaVMJavaThread extends TeaVMThread { } @Override - public void paused() { + public void paused(Breakpoint breakpoint) { updateStackTrace(); fireEvent(new DebugEvent(TeaVMJavaThread.this, DebugEvent.SUSPEND)); } diff --git a/tools/eclipse/pom.xml b/tools/eclipse/pom.xml index 87a47c220..72a07699c 100644 --- a/tools/eclipse/pom.xml +++ b/tools/eclipse/pom.xml @@ -20,14 +20,14 @@ org.teavm teavm-eclipse pom - 0.5.0-SNAPSHOT + 0.6.0-SNAPSHOT TeaVM Eclipse integration Aggregate project containing all plugins for integration TeaVM with Eclipse - http://download.eclipse.org/releases/juno - 0.21.0 + http://download.eclipse.org/releases/mars + 1.0.0 diff --git a/tools/eclipse/updatesite/category.xml b/tools/eclipse/updatesite/category.xml index 8c456d88b..8da0e1599 100644 --- a/tools/eclipse/updatesite/category.xml +++ b/tools/eclipse/updatesite/category.xml @@ -1,10 +1,10 @@ - - - - - - - + + + + + + + diff --git a/tools/eclipse/updatesite/pom.xml b/tools/eclipse/updatesite/pom.xml index 040f3967c..3ee433121 100644 --- a/tools/eclipse/updatesite/pom.xml +++ b/tools/eclipse/updatesite/pom.xml @@ -21,7 +21,7 @@ org.teavm teavm-eclipse - 0.5.0-SNAPSHOT + 0.6.0-SNAPSHOT teavm-eclipse-updatesite