From ae3095f0ffc58cba1647a7f267210e46c6c1bc88 Mon Sep 17 00:00:00 2001 From: konsoletyper Date: Fri, 19 Sep 2014 23:00:35 +0400 Subject: [PATCH] Configure to build by tycho --- teavm-classlib/pom.xml | 13 ++++ teavm-eclipse/pom.xml | 75 ++++++++++++++++-- .../teavm-eclipse-feature/feature.xml | 49 ++++++------ teavm-eclipse/teavm-eclipse-feature/pom.xml | 30 ++++++++ teavm-eclipse/teavm-eclipse-plugin/.classpath | 36 --------- .../teavm-eclipse-plugin/META-INF/MANIFEST.MF | 46 ++--------- .../teavm-eclipse-plugin/build.properties | 77 +------------------ teavm-eclipse/teavm-eclipse-plugin/plugin.xml | 24 +++--- teavm-eclipse/teavm-eclipse-plugin/pom.xml | 69 +---------------- .../org/teavm/eclipse/TeaVMEclipsePlugin.java | 2 +- .../teavm-eclipse-repository/pom.xml | 7 +- .../teavm-eclipse-updatesite/category.xml | 7 ++ .../teavm-eclipse-updatesite/pom.xml | 29 +++++++ .../teavm-eclipse-updatesite/site.xml | 4 - teavm-platform/pom.xml | 13 ++++ 15 files changed, 214 insertions(+), 267 deletions(-) create mode 100644 teavm-eclipse/teavm-eclipse-feature/pom.xml create mode 100644 teavm-eclipse/teavm-eclipse-updatesite/category.xml create mode 100644 teavm-eclipse/teavm-eclipse-updatesite/pom.xml diff --git a/teavm-classlib/pom.xml b/teavm-classlib/pom.xml index e6ed96817..6fee604f8 100644 --- a/teavm-classlib/pom.xml +++ b/teavm-classlib/pom.xml @@ -24,6 +24,8 @@ teavm-classlib + bundle + junit @@ -52,6 +54,17 @@ + + org.apache.felix + maven-bundle-plugin + true + + + org.teavm.classlib.* + teavm-classlib + + + org.teavm teavm-maven-plugin diff --git a/teavm-eclipse/pom.xml b/teavm-eclipse/pom.xml index 3e131d215..62c7235ae 100644 --- a/teavm-eclipse/pom.xml +++ b/teavm-eclipse/pom.xml @@ -13,8 +13,7 @@ See the License for the specific language governing permissions and limitations under the License. --> - 4.0.0 @@ -28,12 +27,78 @@ TeaVM Eclipse plugins TeaVM plugins for Eclipse - - teavm-eclipse-repository - http://download.eclipse.org/releases/kepler 0.21.0 + + + teavm-eclipse-repository + teavm-eclipse-plugin + teavm-eclipse-feature + teavm-eclipse-updatesite + + + + + eclipse + ${p2-repo.url} + p2 + + + + + + + org.eclipse.tycho + tycho-maven-plugin + ${tycho.version} + true + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho.version} + + false + qualifier + + + + org.eclipse.tycho + target-platform-configuration + ${tycho.version} + + + + linux + gtk + x86 + + + linux + gtk + x86_64 + + + win32 + win32 + x86 + + + win32 + win32 + x86_64 + + + macosx + cocoa + x86_64 + + + + + + diff --git a/teavm-eclipse/teavm-eclipse-feature/feature.xml b/teavm-eclipse/teavm-eclipse-feature/feature.xml index edc65be85..ee5b6b3ce 100644 --- a/teavm-eclipse/teavm-eclipse-feature/feature.xml +++ b/teavm-eclipse/teavm-eclipse-feature/feature.xml @@ -1,6 +1,6 @@ - - Apache License + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -26,38 +25,38 @@ 1. Definitions. - "License" shall mean the terms and conditions for use, reproduction, + "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - "Licensor" shall mean the copyright owner or entity authorized by + "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - "Legal Entity" shall mean the union of the acting entity and all + "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the + "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - "You" (or "Your") shall mean an individual or Legal Entity + "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - "Source" form shall mean the preferred form for making modifications, + "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - "Object" form shall mean any form resulting from mechanical + "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - "Work" shall mean the work of authorship, whether in Source or + "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - "Derivative Works" shall mean any work, whether in Source or Object + "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes @@ -65,21 +64,21 @@ separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - "Contribution" shall mean any work of authorship, including + "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" + the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." + designated in writing by the copyright owner as "Not a Contribution." - "Contributor" shall mean Licensor and any individual or Legal Entity + "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. @@ -123,7 +122,7 @@ excluding those notices that do not pertain to any part of the Derivative Works; and - (d) If the Work includes a "NOTICE" text file as part of its + (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not @@ -162,7 +161,7 @@ 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, + Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A @@ -198,37 +197,37 @@ APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier + same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] - Licensed under the Apache License, Version 2.0 (the "License"); + Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. diff --git a/teavm-eclipse/teavm-eclipse-feature/pom.xml b/teavm-eclipse/teavm-eclipse-feature/pom.xml new file mode 100644 index 000000000..a2a8ad036 --- /dev/null +++ b/teavm-eclipse/teavm-eclipse-feature/pom.xml @@ -0,0 +1,30 @@ + + + + 4.0.0 + + + org.teavm + teavm-eclipse + 0.2-SNAPSHOT + + teavm-eclipse-feature + 0.2.0-SNAPSHOT + + eclipse-feature + \ No newline at end of file diff --git a/teavm-eclipse/teavm-eclipse-plugin/.classpath b/teavm-eclipse/teavm-eclipse-plugin/.classpath index ba5006521..0cd17ab4d 100644 --- a/teavm-eclipse/teavm-eclipse-plugin/.classpath +++ b/teavm-eclipse/teavm-eclipse-plugin/.classpath @@ -1,42 +1,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/teavm-eclipse/teavm-eclipse-plugin/META-INF/MANIFEST.MF b/teavm-eclipse/teavm-eclipse-plugin/META-INF/MANIFEST.MF index 53c693e2e..99e528365 100644 --- a/teavm-eclipse/teavm-eclipse-plugin/META-INF/MANIFEST.MF +++ b/teavm-eclipse/teavm-eclipse-plugin/META-INF/MANIFEST.MF @@ -1,7 +1,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: TeaVM plugin for Eclipse -Bundle-SymbolicName: org.teavm.eclipse;singleton:=true +Bundle-SymbolicName: teavm-eclipse-plugin;singleton:=true Bundle-Version: 0.2.0.qualifer Bundle-Vendor: Alexey Andreev Bundle-RequiredExecutionEnvironment: JavaSE-1.7 @@ -21,43 +21,11 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.8.0,4.0)", org.eclipse.core.filesystem;bundle-version="[1.3.200,2)", org.eclipse.core.variables;bundle-version="[3.2.600,4)", org.eclipse.core.databinding.observable;bundle-version="[1.4.1,2)", - org.eclipse.jface.databinding;bundle-version="[1.6.0,2)" -Bundle-ClassPath: ., - lib/asm-5.0.1.jar, - lib/asm-commons-5.0.1.jar, - lib/asm-debug-all-4.2.jar, - lib/asm-tree-5.0.1.jar, - lib/commons-io-2.4.jar, - lib/jackson-core-asl-1.9.13.jar, - lib/jackson-mapper-asl-1.9.13.jar, - lib/javax-websocket-client-impl-9.2.1.v20140609.jar, - lib/javax-websocket-server-impl-9.2.1.v20140609.jar, - lib/javax.annotation-api-1.2.jar, - lib/javax.servlet-api-3.1.0.jar, - lib/javax.websocket-api-1.0.jar, - lib/jetty-annotations-9.2.1.v20140609.jar, - lib/jetty-http-9.2.1.v20140609.jar, - lib/jetty-io-9.2.1.v20140609.jar, - lib/jetty-jndi-9.2.1.v20140609.jar, - lib/jetty-plus-9.2.1.v20140609.jar, - lib/jetty-security-9.2.1.v20140609.jar, - lib/jetty-server-9.2.1.v20140609.jar, - lib/jetty-servlet-9.2.1.v20140609.jar, - lib/jetty-util-9.2.1.v20140609.jar, - lib/jetty-webapp-9.2.1.v20140609.jar, - lib/jetty-xml-9.2.1.v20140609.jar, - lib/logback-classic-1.1.2.jar, - lib/logback-core-1.1.2.jar, - lib/slf4j-api-1.7.7.jar, - lib/teavm-chrome-rdp-0.2-SNAPSHOT.jar, - lib/teavm-core-0.2-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, - lib/websocket-server-9.2.1.v20140609.jar, - lib/websocket-servlet-9.2.1.v20140609.jar, - lib/gson-2.2.4.jar, - lib/teavm-classlib-0.2-SNAPSHOT.jar, - lib/teavm-platform-0.2-SNAPSHOT.jar + org.eclipse.jface.databinding;bundle-version="[1.6.0,2)", + teavm-core;bundle-version="[0.2.0,3)", + teavm-classlib;bundle-version="[0.2.0,3)", + teavm-platform;bundle-version="[0.2.0,3)", + teavm-chrome-rdp;bundle-version="[0.2.0,3)" +Bundle-ClassPath: . Export-Package: org.teavm.eclipse.debugger,org.teavm.eclipse Bundle-ActivationPolicy: lazy diff --git a/teavm-eclipse/teavm-eclipse-plugin/build.properties b/teavm-eclipse/teavm-eclipse-plugin/build.properties index 336d59585..a8efa63eb 100644 --- a/teavm-eclipse/teavm-eclipse-plugin/build.properties +++ b/teavm-eclipse/teavm-eclipse-plugin/build.properties @@ -3,79 +3,6 @@ output.. = target/ bin.includes = plugin.xml,\ META-INF/,\ .,\ - logback.xml,\ - lib/,\ - lib/asm-5.0.1.jar,\ - lib/asm-commons-5.0.1.jar,\ - lib/asm-debug-all-4.2.jar,\ - lib/asm-tree-5.0.1.jar,\ - lib/commons-io-2.4.jar,\ - lib/jackson-core-asl-1.9.13.jar,\ - lib/jackson-mapper-asl-1.9.13.jar,\ - lib/javax-websocket-client-impl-9.2.1.v20140609.jar,\ - lib/javax-websocket-server-impl-9.2.1.v20140609.jar,\ - lib/javax.annotation-api-1.2.jar,\ - lib/javax.servlet-api-3.1.0.jar,\ - lib/javax.websocket-api-1.0.jar,\ - lib/jetty-annotations-9.2.1.v20140609.jar,\ - lib/jetty-http-9.2.1.v20140609.jar,\ - lib/jetty-io-9.2.1.v20140609.jar,\ - lib/jetty-jndi-9.2.1.v20140609.jar,\ - lib/jetty-plus-9.2.1.v20140609.jar,\ - lib/jetty-security-9.2.1.v20140609.jar,\ - lib/jetty-server-9.2.1.v20140609.jar,\ - lib/jetty-servlet-9.2.1.v20140609.jar,\ - lib/jetty-util-9.2.1.v20140609.jar,\ - lib/jetty-webapp-9.2.1.v20140609.jar,\ - lib/jetty-xml-9.2.1.v20140609.jar,\ - lib/logback-classic-1.1.2.jar,\ - lib/logback-core-1.1.2.jar,\ - lib/slf4j-api-1.7.7.jar,\ - lib/teavm-chrome-rdp-0.2-SNAPSHOT.jar,\ - lib/teavm-core-0.2-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,\ - lib/websocket-server-9.2.1.v20140609.jar,\ - lib/websocket-servlet-9.2.1.v20140609.jar,\ - lib/gson-2.2.4.jar,\ - lib/teavm-classlib-0.2-SNAPSHOT.jar,\ - lib/teavm-platform-0.2-SNAPSHOT.jar + logback.xml jars.compile.order = . -jars.extra.classpath = logback.xml,\ - lib/asm-5.0.1.jar,\ - lib/asm-commons-5.0.1.jar,\ - lib/asm-debug-all-4.2.jar,\ - lib/asm-tree-5.0.1.jar,\ - lib/commons-io-2.4.jar,\ - lib/jackson-core-asl-1.9.13.jar,\ - lib/jackson-mapper-asl-1.9.13.jar,\ - lib/javax-websocket-client-impl-9.2.1.v20140609.jar,\ - lib/javax-websocket-server-impl-9.2.1.v20140609.jar,\ - lib/javax.annotation-api-1.2.jar,\ - lib/javax.servlet-api-3.1.0.jar,\ - lib/javax.websocket-api-1.0.jar,\ - lib/jetty-annotations-9.2.1.v20140609.jar,\ - lib/jetty-http-9.2.1.v20140609.jar,\ - lib/jetty-io-9.2.1.v20140609.jar,\ - lib/jetty-jndi-9.2.1.v20140609.jar,\ - lib/jetty-plus-9.2.1.v20140609.jar,\ - lib/jetty-security-9.2.1.v20140609.jar,\ - lib/jetty-server-9.2.1.v20140609.jar,\ - lib/jetty-servlet-9.2.1.v20140609.jar,\ - lib/jetty-util-9.2.1.v20140609.jar,\ - lib/jetty-webapp-9.2.1.v20140609.jar,\ - lib/jetty-xml-9.2.1.v20140609.jar,\ - lib/logback-classic-1.1.2.jar,\ - lib/logback-core-1.1.2.jar,\ - lib/slf4j-api-1.7.7.jar,\ - lib/teavm-chrome-rdp-0.2-SNAPSHOT.jar,\ - lib/teavm-core-0.2-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,\ - lib/websocket-server-9.2.1.v20140609.jar,\ - lib/websocket-servlet-9.2.1.v20140609.jar,\ - lib/gson-2.2.4.jar,\ - lib/teavm-classlib-0.2-SNAPSHOT.jar,\ - lib/teavm-platform-0.2-SNAPSHOT.jar +jars.extra.classpath = logback.xml \ No newline at end of file diff --git a/teavm-eclipse/teavm-eclipse-plugin/plugin.xml b/teavm-eclipse/teavm-eclipse-plugin/plugin.xml index 0f81903d4..0f9a59ca3 100644 --- a/teavm-eclipse/teavm-eclipse-plugin/plugin.xml +++ b/teavm-eclipse/teavm-eclipse-plugin/plugin.xml @@ -18,46 +18,46 @@ + id="teavm-eclipse-plugin.debugger.launchConfig"> + id="teavm-eclipse-plugin.debugger.sourceLookup"> + id="teavm-eclipse-plugin.debugger.sourcePath"> + id="teavm-eclipse-plugin.debugger.ui.tabs"> + id="teavm-eclipse-plugin.debugger"> @@ -65,10 +65,10 @@ - + - + diff --git a/teavm-eclipse/teavm-eclipse-plugin/pom.xml b/teavm-eclipse/teavm-eclipse-plugin/pom.xml index 673bdc93c..43a7f4551 100644 --- a/teavm-eclipse/teavm-eclipse-plugin/pom.xml +++ b/teavm-eclipse/teavm-eclipse-plugin/pom.xml @@ -27,14 +27,9 @@ eclipse-plugin - - eclipse - ${p2-repo.url} - p2 - teavm - http://localhost:8080/p2-site/ + ${project.baseUri}../teavm-eclipse-repository/target/repository p2 @@ -52,68 +47,6 @@ - - - org.eclipse.jetty - jetty-maven-plugin - 9.2.2.v20140723 - - - serve-repository - initialize - - run - - - - /p2-site - ../teavm-eclipse-repository/target/repository - - - - - - - org.eclipse.tycho - tycho-maven-plugin - ${tycho.version} - true - - - org.eclipse.tycho - target-platform-configuration - ${tycho.version} - - - - linux - gtk - x86 - - - linux - gtk - x86_64 - - - win32 - win32 - x86 - - - win32 - win32 - x86_64 - - - macosx - cocoa - x86_64 - - - - - \ No newline at end of file diff --git a/teavm-eclipse/teavm-eclipse-plugin/src/main/java/org/teavm/eclipse/TeaVMEclipsePlugin.java b/teavm-eclipse/teavm-eclipse-plugin/src/main/java/org/teavm/eclipse/TeaVMEclipsePlugin.java index bef957d2a..6a7ca4852 100644 --- a/teavm-eclipse/teavm-eclipse-plugin/src/main/java/org/teavm/eclipse/TeaVMEclipsePlugin.java +++ b/teavm-eclipse/teavm-eclipse-plugin/src/main/java/org/teavm/eclipse/TeaVMEclipsePlugin.java @@ -34,7 +34,7 @@ import org.eclipse.ui.plugin.AbstractUIPlugin; * @author Alexey Andreev */ public class TeaVMEclipsePlugin extends AbstractUIPlugin { - public static final String ID = "org.teavm.eclipse"; + public static final String ID = "teavm-eclipse-plugin"; public static final String NATURE_ID = ID + ".nature"; public static final String BUILDER_ID = ID + ".builder"; public static final String CLASS_DIALOG_ID = ID + ".dialogs.classSelection"; diff --git a/teavm-eclipse/teavm-eclipse-repository/pom.xml b/teavm-eclipse/teavm-eclipse-repository/pom.xml index 8d30ddf24..6893067a7 100644 --- a/teavm-eclipse/teavm-eclipse-repository/pom.xml +++ b/teavm-eclipse/teavm-eclipse-repository/pom.xml @@ -19,8 +19,9 @@ org.teavm - teavm-eclipse + teavm 0.2-SNAPSHOT + ../.. teavm-eclipse-repository pom @@ -30,6 +31,8 @@ dependencies + + org.reficio @@ -38,7 +41,7 @@ default-cli - package + prepare-package site diff --git a/teavm-eclipse/teavm-eclipse-updatesite/category.xml b/teavm-eclipse/teavm-eclipse-updatesite/category.xml new file mode 100644 index 000000000..0c8407ff3 --- /dev/null +++ b/teavm-eclipse/teavm-eclipse-updatesite/category.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/teavm-eclipse/teavm-eclipse-updatesite/pom.xml b/teavm-eclipse/teavm-eclipse-updatesite/pom.xml new file mode 100644 index 000000000..fb2c343d2 --- /dev/null +++ b/teavm-eclipse/teavm-eclipse-updatesite/pom.xml @@ -0,0 +1,29 @@ + + + + 4.0.0 + + + org.teavm + teavm-eclipse + 0.2-SNAPSHOT + + teavm-eclipse-updatesite + eclipse-repository + 0.2.0-SNAPSHOT + \ No newline at end of file diff --git a/teavm-eclipse/teavm-eclipse-updatesite/site.xml b/teavm-eclipse/teavm-eclipse-updatesite/site.xml index c97737100..27dc9fa7e 100644 --- a/teavm-eclipse/teavm-eclipse-updatesite/site.xml +++ b/teavm-eclipse/teavm-eclipse-updatesite/site.xml @@ -3,8 +3,4 @@ TeaVM update site - - - - diff --git a/teavm-platform/pom.xml b/teavm-platform/pom.xml index 3d07e1d73..0405a6cbb 100644 --- a/teavm-platform/pom.xml +++ b/teavm-platform/pom.xml @@ -24,6 +24,8 @@ teavm-platform + bundle + TeaVM platform A low-level classes that help to implement Java class library @@ -42,6 +44,17 @@ + + org.apache.felix + maven-bundle-plugin + true + + + org.teavm.platform.* + teavm-platform + + + org.apache.maven.plugins maven-checkstyle-plugin