diff --git a/core/pom.xml b/core/pom.xml index e2d015316..b0f07214b 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -156,51 +156,6 @@ - - maven-resources-plugin - 3.0.1 - - - copy-resources - package - - copy-resources - - - ../eclipse_plugin/lib - - - target - ${project.artifactId}-${project.version}.jar - - - - - - - - org.apache.maven.plugins - maven-dependency-plugin - 2.10 - - - copy-dependencies - package - - copy-dependencies - - - ../eclipse_plugin/lib - true - true - true - org.eclipse.jdt.core - compile - provided - - - - com.google.code.maven-replacer-plugin replacer diff --git a/eclipse_plugin/META-INF/MANIFEST.MF b/eclipse_plugin/META-INF/MANIFEST.MF index 27613e9ce..fb8d1bbde 100644 --- a/eclipse_plugin/META-INF/MANIFEST.MF +++ b/eclipse_plugin/META-INF/MANIFEST.MF @@ -2,14 +2,14 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: google-java-format Bundle-SymbolicName: google-java-format-eclipse-plugin;singleton:=true -Bundle-Version: 1.6.0 -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-Vendor: Google +Bundle-Version: 1.9.0 +Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: org.eclipse.jdt.core;bundle-version="3.10.0", org.eclipse.jface, org.eclipse.text, org.eclipse.ui, org.eclipse.equinox.common Bundle-ClassPath: ., - lib/guava-22.0.jar, - lib/javac-shaded-9+181-r4173-1.jar, - lib/google-java-format-1.6.jar + lib/guava-28.1-jre.jar, + lib/google-java-format-1.9.jar diff --git a/eclipse_plugin/README.md b/eclipse_plugin/README.md index 332468d7e..39f608bf7 100644 --- a/eclipse_plugin/README.md +++ b/eclipse_plugin/README.md @@ -1,4 +1,4 @@ -# google-java-format Eclipse Plugin +# Google Java Format Eclipse Plugin ## Enabling @@ -6,21 +6,41 @@ See https://github.com/google/google-java-format#eclipse ## Development -1) Uncomment `eclipse_plugin` in the parent `pom.xml` +### Prerequisites -2) Run `mvn install`, which will copy the dependences of the plugin to -`eclipse_plugin/lib`. +Make sure that the `build.properties` and `META-INF/MANIFEST.MF` contain all necessary dependencies +for the build. Furthermore, make sure that the dependencies declared in the `pom.xml` match the +entries in `build.properties` and `META-INF/MANIFEST.MF`. -2) If you are using Java 9, add +If the used google java format core version is a 'SNAPSHOT' release, the version for the Eclipse +plugin in the `pom.xml` must end in '-SNAPSHOT' as well and the bundle version specified in +`META-INF/MANIFEST.MF` must end in '.qualifier'. - ``` - -vm - /Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/bin/java - ``` +### Building the Plugin - to `/Applications/Eclipse.app/Contents/Eclipse/eclipse.ini`. +1) Run `mvn clean package` in the `eclipse_plugin` directory. This will first copy the dependencies +of the plugin to `eclipse_plugin/lib/` and then triggers the tycho build that uses these +dependencies (as declared in `build.properties`) for the actual Eclipse plugin build.

+If you also want to add the build artifact to the local maven repository, you can use +`mvn clean install -Dtycho.localArtifacts=ignore` instead. Note, however, that you then must use +this build command for every build with that specific version number until you clear the build +artifact (or the +[p2-local-metadata.properties](https://wiki.eclipse.org/Tycho/Target_Platform#Locally_built_artifacts)) +from your local repository. Otherwise, you might run into issues caused by the build using an +outdated build artifact created by a previous build instead of re-building the plugin. More +information on this issue is given +[in this thread](https://www.eclipse.org/lists/tycho-user/msg00952.html) and +[this bug tracker entry](https://bugs.eclipse.org/bugs/show_bug.cgi?id=355367). -3) Open the `eclipse_plugin` project in a recent Eclipse SDK build. +2) You can find the built plugin in +`eclipse_plugin/target/google-java-format-eclipse-plugin-.jar` -4) From `File > Export` select `Plugin-in Development > Deployable plugin-ins -and fragments` and follow the wizard to export a plugin jar. +#### Building against a local (snapshot) release of the core + +With the current build setup, the Eclipse plugin build pulls the needed build artifacts of the +google java format core specified in the property `google-java-format.version` and copies it into +the `eclipse_plugin/lib/` directory. + +If you instead want to build against a local (snapshot) build of the core which is not available in +a maven repository (local or otherwise), you will have to place the appropriate version into the +`eclipse_plugin/lib/` directory yourself before the build. \ No newline at end of file diff --git a/eclipse_plugin/build.properties b/eclipse_plugin/build.properties index dc5ae7c7e..161a94d3d 100644 --- a/eclipse_plugin/build.properties +++ b/eclipse_plugin/build.properties @@ -3,6 +3,5 @@ output.. = target/classes bin.includes = META-INF/,\ .,\ plugin.xml,\ - lib/javac-shaded-9+181-r4173-1.jar,\ - lib/guava-22.0.jar,\ - lib/google-java-format-1.6.jar + lib/guava-28.1-jre.jar,\ + lib/google-java-format-1.9.jar diff --git a/eclipse_plugin/plugin.xml b/eclipse_plugin/plugin.xml index b832a1e21..1fdfb6e41 100644 --- a/eclipse_plugin/plugin.xml +++ b/eclipse_plugin/plugin.xml @@ -1,3 +1,5 @@ + + - diff --git a/eclipse_plugin/pom.xml b/eclipse_plugin/pom.xml index bb581cdb6..3c538a33c 100644 --- a/eclipse_plugin/pom.xml +++ b/eclipse_plugin/pom.xml @@ -14,28 +14,47 @@ ~ limitations under the License. --> - 4.0.0 - - com.google.googlejavaformat - google-java-format-parent - 1.6 - + com.google.googlejavaformat google-java-format-eclipse-plugin - 1.6.0 eclipse-plugin - google-java-format Plugin for Eclipse 4.5+ + 1.9.0 + + Google Java Format Plugin for Eclipse 4.5+ - A Java source code formatter that follows Google Java Style. + A Java source code formatter plugin for Eclipse that follows Google Java Style. - 0.26.0 + UTF-8 + + 1.7.0 + + + 1.9 + 28.1-jre + + + com.google.googlejavaformat + google-java-format + ${google-java-format.version} + jar + + + com.google.guava + guava + ${guava.version} + jar + + + mars @@ -44,16 +63,28 @@ - - - com.google.googlejavaformat - google-java-format - 1.6 - - - + + org.apache.maven.plugins + maven-dependency-plugin + 3.1.2 + + + copy-dependencies + initialize + + copy-dependencies + + + + + lib + runtime + true + true + + org.eclipse.tycho @@ -61,7 +92,6 @@ ${tycho-version} true - org.eclipse.tycho target-platform-configuration @@ -97,7 +127,15 @@ + + org.apache.maven.plugins + maven-compiler-plugin + 3.7.0 + + 11 + 11 + + -