From df9b1af69f54a59875fe852738c0f1a2e46d5e66 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 24 Jan 2020 10:49:37 -0800 Subject: [PATCH 01/25] Remove ben-manes.versions cuz I use it in an initscript now. --- build.gradle | 2 -- settings.gradle | 2 -- 2 files changed, 4 deletions(-) diff --git a/build.gradle b/build.gradle index 1e5d7cb24..bd44a4671 100644 --- a/build.gradle +++ b/build.gradle @@ -3,8 +3,6 @@ plugins { id 'com.github.spotbugs' version '3.0.0' } -apply plugin: 'com.github.ben-manes.versions' - apply plugin: 'com.diffplug.spotless-changelog' spotlessChangelog { changelogFile 'CHANGES.md' diff --git a/settings.gradle b/settings.gradle index 3283ecb36..68db2f7e0 100644 --- a/settings.gradle +++ b/settings.gradle @@ -5,7 +5,6 @@ pluginManagement { id 'com.diffplug.gradle.eclipse.mavencentral' version '3.18.1' id 'com.diffplug.gradle.spotless' version '3.27.0' id 'com.diffplug.spotless-changelog' version '1.0.0' - id 'com.github.ben-manes.versions' version '0.27.0' id 'com.gradle.plugin-publish' version '0.10.1' id 'com.jfrog.bintray' version '1.8.4' } @@ -15,7 +14,6 @@ plugins { id 'com.diffplug.gradle.eclipse.mavencentral' apply false id 'com.diffplug.gradle.spotless' apply false id 'com.diffplug.spotless-changelog' apply false - id 'com.github.ben-manes.versions' apply false id 'com.gradle.plugin-publish' apply false id 'com.jfrog.bintray' apply false } From c322a760223e977012a6ed6e768d0f41d4fba09a Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 24 Jan 2020 10:56:56 -0800 Subject: [PATCH 02/25] Bump gradle to 6.1 --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 94920145f..ba94df845 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 6e59f31608a341019a4bb101a9fdae7da1a90236 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 24 Jan 2020 10:58:07 -0800 Subject: [PATCH 03/25] Bump dependencies, except bndlib. --- build.gradle | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build.gradle b/build.gradle index bd44a4671..c18223b30 100644 --- a/build.gradle +++ b/build.gradle @@ -30,8 +30,8 @@ dependencies { implementation "com.diffplug.durian:durian-swt.os:${VER_DURIAN_SWT}" implementation "commons-io:commons-io:2.6" implementation "com.diffplug.spotless:spotless-lib:1.5.1" - implementation "com.squareup.okhttp3:okhttp:4.2.0" - implementation "com.squareup.okio:okio:2.4.0" + implementation "com.squareup.okhttp3:okhttp:4.3.1" + implementation "com.squareup.okio:okio:2.4.3" // OSGi implementation "biz.aQute.bnd:biz.aQute.bndlib:${VER_BNDLIB}" // p2 (osgi used in 4.7.2 to match p2-bootstrap) @@ -47,8 +47,8 @@ dependencies { // from 4.6.3 cuz that's the latest one compileOnly 'org.eclipse.emf:org.eclipse.emf.ecore:2.12.0' // testing - testImplementation "junit:junit:4.12" - testImplementation "org.assertj:assertj-core:3.13.2" + testImplementation "junit:junit:4.13" + testImplementation "org.assertj:assertj-core:3.14.0" } configurations.all { exclude group: 'org.eclipse.platform', module: 'org.eclipse.swt.${osgi.platform}' From 798a48c66774bbeb6e91ac45a63e0f6ffea6ddb4 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 24 Jan 2020 10:59:16 -0800 Subject: [PATCH 04/25] Bump bndlib to 5.0 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index c18223b30..ead31965e 100644 --- a/build.gradle +++ b/build.gradle @@ -20,7 +20,7 @@ apply from: 干.file('spotless/java.gradle') String VER_DURIAN = '1.2.0' String VER_DURIAN_SWT = '3.0.0' -String VER_BNDLIB = '4.2.0' +String VER_BNDLIB = '5.0.0' String OLDEST_SUPPORTED_GRADLE = '5.1' dependencies { // Compile misc From 8d32a81bf4f9e17c443edd68deb68017f5012ec6 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 24 Jan 2020 11:15:36 -0800 Subject: [PATCH 05/25] Improved caching. --- .travis.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6dbf6115a..71d7b5385 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,11 +4,7 @@ jdk: script: ./gradlew build before_cache: - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock - - rm -fr $HOME/.gradle/caches/*/plugin-resolution/ - - rm -fr $HOME/.gradle/caches/*/executionHistory/ - - rm -fr $HOME/.gradle/caches/*/fileContent/ - - rm -fr $HOME/.gradle/caches/*/fileHashes/ cache: directories: - - $HOME/.gradle/caches/ + - $HOME/.gradle/caches/modules-2/ - $HOME/.gradle/wrapper/ From e60b5e4d30b0dd8ccc34f8378a3eff9dc2f34b01 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 24 Jan 2020 11:23:03 -0800 Subject: [PATCH 06/25] Fixup javadoc. --- build.gradle | 13 ++----------- gradle/javadoc/durian-swt/package-list | 3 --- gradle/javadoc/durian/package-list | 1 - .../com/diffplug/gradle/GoomphCacheLocations.java | 2 +- .../gradle/eclipserunner/launcher/Main.java | 4 ++-- .../diffplug/gradle/oomph/OomphIdeExtension.java | 2 +- 6 files changed, 6 insertions(+), 19 deletions(-) delete mode 100644 gradle/javadoc/durian-swt/package-list delete mode 100644 gradle/javadoc/durian/package-list diff --git a/build.gradle b/build.gradle index ead31965e..c61691add 100644 --- a/build.gradle +++ b/build.gradle @@ -101,19 +101,10 @@ dependencies { // MAVEN // /////////// javadoc { - // TODO: error on invalid javadoc + // error on javadoc problem + options.addStringOption('Xwerror', '-quiet') // setup links options.linksOffline('https://docs.oracle.com/javase/8/docs/api/', 'gradle/javadoc/java8') options.linksOffline("https://docs.gradle.org/${OLDEST_SUPPORTED_GRADLE}/javadoc/", 'gradle/javadoc/gradle') - options.linksOffline("https://diffplug.github.io/durian/javadoc/${VER_DURIAN}/", 'gradle/javadoc/durian') - options.linksOffline("https://diffplug.github.io/durian-swt/javadoc/${VER_DURIAN_SWT}/", 'gradle/javadoc/durian-swt') options.linksOffline("https://www.javadoc.io/doc/biz.aQute.bnd/biz.aQute.bndlib/${VER_BNDLIB}/", 'gradle/javadoc/bndlib') } - -// TODO: are we handling the com.google.code.findbugs dep correctly in the new publishing setup? -/* - model.publishing.publications.pluginMaven.pom.withXml { - // findbugs annotations should have scope "provided" - asNode().dependencies.'*'.findAll() { it.groupId.text() == 'com.google.code.findbugs' }.each() { it.scope*.value = 'provided' } - } - */ diff --git a/gradle/javadoc/durian-swt/package-list b/gradle/javadoc/durian-swt/package-list deleted file mode 100644 index 61a07a9e4..000000000 --- a/gradle/javadoc/durian-swt/package-list +++ /dev/null @@ -1,3 +0,0 @@ -com.diffplug.common.swt -com.diffplug.common.swt.jface -com.diffplug.common.swt.os diff --git a/gradle/javadoc/durian/package-list b/gradle/javadoc/durian/package-list deleted file mode 100644 index a09dd0584..000000000 --- a/gradle/javadoc/durian/package-list +++ /dev/null @@ -1 +0,0 @@ -com.diffplug.common.base diff --git a/src/main/java/com/diffplug/gradle/GoomphCacheLocations.java b/src/main/java/com/diffplug/gradle/GoomphCacheLocations.java index 220fd8768..4f95b91e0 100644 --- a/src/main/java/com/diffplug/gradle/GoomphCacheLocations.java +++ b/src/main/java/com/diffplug/gradle/GoomphCacheLocations.java @@ -61,7 +61,7 @@ public static void initFromProject(Project project) { } /** - * {@link MavenCentralMap} needs to look at p2 metadata + * {@link com.diffplug.gradle.eclipse.MavenCentralMapping} needs to look at p2 metadata * to know what the version numbers are for the specific * bundles of a given eclipse release are. * diff --git a/src/main/java/com/diffplug/gradle/eclipserunner/launcher/Main.java b/src/main/java/com/diffplug/gradle/eclipserunner/launcher/Main.java index c923083e8..68a18547b 100644 --- a/src/main/java/com/diffplug/gradle/eclipserunner/launcher/Main.java +++ b/src/main/java/com/diffplug/gradle/eclipserunner/launcher/Main.java @@ -36,8 +36,8 @@ * org.eclipse.core.runtime.adaptor.EclipseStarter. The fields and methods * on this class are not API. * - * @noextend This class is not intended to be subclassed by clients. - * @noinstantiate This class is not intended to be instantiated by clients. + * This class is not intended to be subclassed by clients. + * This class is not intended to be instantiated by clients. */ @SuppressWarnings({"unchecked", "rawtypes", "deprecation"}) public class Main { diff --git a/src/main/java/com/diffplug/gradle/oomph/OomphIdeExtension.java b/src/main/java/com/diffplug/gradle/oomph/OomphIdeExtension.java index 99a179530..65a8580df 100644 --- a/src/main/java/com/diffplug/gradle/oomph/OomphIdeExtension.java +++ b/src/main/java/com/diffplug/gradle/oomph/OomphIdeExtension.java @@ -174,7 +174,7 @@ public void addAllProjects(Spec include) { } /** - * @see OomphIdeExtension#findProjectsInIncludedBuilds(), passes include + * @see OomphIdeExtension#findProjectsInIncludedBuilds() */ public void findProjectsInIncludedBuilds(Spec spec) { for (IncludedBuild included : project.getGradle().getIncludedBuilds()) { From 9ed347fd2ebdb6df8b7f1a0f9692fba3b6eda271 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 24 Jan 2020 12:25:33 -0800 Subject: [PATCH 07/25] Add infrastructure for moving the legacy plugin ids. --- build.gradle | 20 ++++++++++ gradle.properties | 20 +++++----- .../com/diffplug/gradle/LegacyPlugin.java | 40 +++++++++++++++++++ 3 files changed, 70 insertions(+), 10 deletions(-) create mode 100644 src/main/java/com/diffplug/gradle/LegacyPlugin.java diff --git a/build.gradle b/build.gradle index c61691add..9082d311d 100644 --- a/build.gradle +++ b/build.gradle @@ -108,3 +108,23 @@ javadoc { options.linksOffline("https://docs.gradle.org/${OLDEST_SUPPORTED_GRADLE}/javadoc/", 'gradle/javadoc/gradle') options.linksOffline("https://www.javadoc.io/doc/biz.aQute.bnd/biz.aQute.bndlib/${VER_BNDLIB}/", 'gradle/javadoc/bndlib') } + +///////////////////////////// +// LEGACY REDIRECT PLUGINS // +///////////////////////////// +// deprecated plugins +def old_plugins = 'eclipseBuildProperties eclipseExcludeBuildFolder eclipseMavenCentral eclipseProjectDeps eclipseResourceFilters equinoxLaunch oomphIde p2AsMaven osgiBndManifest swtNativeDeps'.split() +gradlePlugin { + plugins { + for (plugin in old_plugins) { + register "${plugin}Legacy", { + String newId = 干.proj("plugin_${plugin}_id", "for ${plugin}: apply plugin: 'id'") + String newImpl = 干.proj("plugin_${plugin}_impl", "for ${plugin}: implementationClass") + id = newId.replace('com.diffplug.', 'com.diffplug.gradle.') + implementationClass = "${newImpl}\$Legacy" + displayName = "Back-compat alias to $newId" + description = "Back-compat alias to $newId" + } + } + } +} diff --git a/gradle.properties b/gradle.properties index dc08d5112..1e6b0c80a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -21,57 +21,57 @@ plugin_list=\ javadoc_links= -plugin_eclipseBuildProperties_id=com.diffplug.gradle.eclipse.buildproperties +plugin_eclipseBuildProperties_id=com.diffplug.eclipse.buildproperties plugin_eclipseBuildProperties_impl=com.diffplug.gradle.eclipse.BuildPropertiesPlugin plugin_eclipseBuildProperties_name=Goomph eclipseBuildProperties plugin_eclipseBuildProperties_desc=Uses Eclipse''s build.properties to control a gradle build, and fixes the eclipse project classpath to include binary assets specified in build.properties. -plugin_eclipseExcludeBuildFolder_id=com.diffplug.gradle.eclipse.excludebuildfolder +plugin_eclipseExcludeBuildFolder_id=com.diffplug.eclipse.excludebuildfolder plugin_eclipseExcludeBuildFolder_impl=com.diffplug.gradle.eclipse.ExcludeBuildFolderPlugin plugin_eclipseExcludeBuildFolder_name=Goomph eclipseExcludeBuildFolder plugin_eclipseExcludeBuildFolder_desc=Excludes the gradle build folder from Eclipse''s resource indexing. -plugin_eclipseMavenCentral_id=com.diffplug.gradle.eclipse.mavencentral +plugin_eclipseMavenCentral_id=com.diffplug.eclipse.mavencentral plugin_eclipseMavenCentral_impl=com.diffplug.gradle.eclipse.MavenCentralPlugin plugin_eclipseMavenCentral_name=Goomph eclipseMavenCentral plugin_eclipseMavenCentral_desc=Maps eclipse releases and bundle ids to their MavenCentral coordinates. plugin_eclipseMavenCentral_tags=eclipse mavenCentral -plugin_eclipseProjectDeps_id=com.diffplug.gradle.eclipse.projectdeps +plugin_eclipseProjectDeps_id=com.diffplug.eclipse.projectdeps plugin_eclipseProjectDeps_impl=com.diffplug.gradle.eclipse.ProjectDepsPlugin plugin_eclipseProjectDeps_name=Goomph eclipseProjectDeps plugin_eclipseProjectDeps_desc=Fixes an intermittent problem where dependencies on other projects within the workspace aren''t always resolved correctly within Eclipse. -plugin_eclipseResourceFilters_id=com.diffplug.gradle.eclipse.resourcefilters +plugin_eclipseResourceFilters_id=com.diffplug.eclipse.resourcefilters plugin_eclipseResourceFilters_impl=com.diffplug.gradle.eclipse.ResourceFiltersPlugin plugin_eclipseResourceFilters_name=Goomph eclipseResourceFilters plugin_eclipseResourceFilters_desc=Adds filters to an eclipse project which exclude or include specific resources. -plugin_equinoxLaunch_id=com.diffplug.gradle.equinoxlaunch +plugin_equinoxLaunch_id=com.diffplug.equinoxlaunch plugin_equinoxLaunch_impl=com.diffplug.gradle.eclipserunner.EquinoxLaunchPlugin plugin_equinoxLaunch_name=Goomph equinoxLaunch plugin_equinoxLaunch_desc=Launches an equinox application with whatever set of plugins the user specifies plugin_equinoxLaunch_tags=eclipse osgi -plugin_oomphIde_id=com.diffplug.gradle.oomph.ide +plugin_oomphIde_id=com.diffplug.oomph.ide plugin_oomphIde_impl=com.diffplug.gradle.oomph.OomphIdePlugin plugin_oomphIde_name=Goomph oomphIde plugin_oomphIde_desc=Downloads and sets up any Eclipse-based IDE. plugin_oomphIde_tags=eclipse ide p2AsMaven -plugin_p2AsMaven_id=com.diffplug.gradle.p2.asmaven +plugin_p2AsMaven_id=com.diffplug.p2.asmaven plugin_p2AsMaven_impl=com.diffplug.gradle.p2.AsMavenPlugin plugin_p2AsMaven_name=Goomph p2AsMaven plugin_p2AsMaven_desc=Downloads a set of artifacts from a p2 repository and stuffs them into a local maven repository. plugin_p2AsMaven_tags=eclipse p2 osgi -plugin_osgiBndManifest_id=com.diffplug.gradle.osgi.bndmanifest +plugin_osgiBndManifest_id=com.diffplug.osgi.bndmanifest plugin_osgiBndManifest_impl=com.diffplug.gradle.osgi.BndManifestPlugin plugin_osgiBndManifest_name=Goomph osgiBndManifest plugin_osgiBndManifest_desc=Generates a manifest using purely bnd, and outputs it for IDE consumption. plugin_osgiBndManifest_tags=osgi bnd eclipse -plugin_swtNativeDeps_id=com.diffplug.gradle.swt.nativedeps +plugin_swtNativeDeps_id=com.diffplug.swt.nativedeps plugin_swtNativeDeps_impl=com.diffplug.gradle.swt.NativeDepsPlugin plugin_swtNativeDeps_name=Goomph swtNativeDeps plugin_swtNativeDeps_desc=Adds the platform-specific SWT jars to the runtime classpath so that SWT code can run. diff --git a/src/main/java/com/diffplug/gradle/LegacyPlugin.java b/src/main/java/com/diffplug/gradle/LegacyPlugin.java new file mode 100644 index 000000000..b5151f2da --- /dev/null +++ b/src/main/java/com/diffplug/gradle/LegacyPlugin.java @@ -0,0 +1,40 @@ +/* + * Copyright 2020 DiffPlug + * + * 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 + * + * https://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, + * 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. + */ +package com.diffplug.gradle; + + +import org.gradle.api.Plugin; +import org.gradle.api.Project; + +public class LegacyPlugin implements Plugin { + private final Class> newPlugin; + private final String newId; + + protected LegacyPlugin(Class> newPlugin, String newPluginId) { + super(); + this.newPlugin = newPlugin; + this.newId = newPluginId; + } + + @Override + public void apply(Project proj) { + proj.getPlugins().apply(newPlugin); + String oldId = newId.replace("com.diffplug.", "com.diffplug.gradle."); + System.out.println(" plugin id '" + oldId + "' has been deprecated"); + System.out.println("replaced by '" + newId + "'"); + System.out.println("A simple find-replace will fix it. Here is why we moved: https://dev.to/nedtwigg/names-in-java-maven-and-gradle-2fm2#gradle-plugin-id"); + } +} From 66352e485d24ee7eba02ec92bee248e6fd5467f4 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 24 Jan 2020 12:34:39 -0800 Subject: [PATCH 08/25] Gradle makes sure that plugins only get applied once already, we don't have to do it. --- src/main/java/com/diffplug/gradle/ProjectPlugin.java | 5 +---- .../com/diffplug/gradle/eclipse/BuildPropertiesPlugin.java | 2 +- .../com/diffplug/gradle/eclipse/EclipseProjectPlugin.java | 3 +-- .../diffplug/gradle/eclipse/ExcludeBuildFolderPlugin.java | 2 +- .../java/com/diffplug/gradle/eclipse/MavenCentralPlugin.java | 2 +- .../java/com/diffplug/gradle/osgi/BndManifestPlugin.java | 2 +- src/main/java/com/diffplug/gradle/swt/NativeDepsPlugin.java | 4 ++-- 7 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/diffplug/gradle/ProjectPlugin.java b/src/main/java/com/diffplug/gradle/ProjectPlugin.java index ec08e0ada..3092ec750 100644 --- a/src/main/java/com/diffplug/gradle/ProjectPlugin.java +++ b/src/main/java/com/diffplug/gradle/ProjectPlugin.java @@ -25,10 +25,6 @@ public abstract class ProjectPlugin implements Plugin { @Override public final void apply(Project project) { - // ensure we don't double-apply the plugin - if (project.getPlugins().hasPlugin(this.getClass())) { - return; - } project.afterEvaluate(GoomphCacheLocations::initFromProject); // apply the plugin once applyOnce(project); @@ -38,6 +34,7 @@ public final void apply(Project project) { protected abstract void applyOnce(Project project); /** Returns the instance of the given plugin, by returning the existing or applying brand new, as appropriate. */ + @Deprecated public static > T getPlugin(Project project, Class pluginClazz) { // make sure the eclipse plugin has been applied if (project.getPlugins().hasPlugin(pluginClazz)) { diff --git a/src/main/java/com/diffplug/gradle/eclipse/BuildPropertiesPlugin.java b/src/main/java/com/diffplug/gradle/eclipse/BuildPropertiesPlugin.java index 0d1646893..7723d2475 100644 --- a/src/main/java/com/diffplug/gradle/eclipse/BuildPropertiesPlugin.java +++ b/src/main/java/com/diffplug/gradle/eclipse/BuildPropertiesPlugin.java @@ -72,7 +72,7 @@ protected void applyOnce(Project project) { }); // update processResources based on build.properties - ProjectPlugin.getPlugin(project, JavaPlugin.class); + project.getPlugins().apply(JavaPlugin.class); ProcessResources task = (ProcessResources) project.getTasks().getByName(JavaPlugin.PROCESS_RESOURCES_TASK_NAME); // handle the build.properties includes //AbstractCopyTask copyTask = task.from(project.getProjectDir()); diff --git a/src/main/java/com/diffplug/gradle/eclipse/EclipseProjectPlugin.java b/src/main/java/com/diffplug/gradle/eclipse/EclipseProjectPlugin.java index 3d8caa11a..6ddb1b8e5 100644 --- a/src/main/java/com/diffplug/gradle/eclipse/EclipseProjectPlugin.java +++ b/src/main/java/com/diffplug/gradle/eclipse/EclipseProjectPlugin.java @@ -16,7 +16,6 @@ package com.diffplug.gradle.eclipse; -import com.diffplug.gradle.ProjectPlugin; import java.util.function.Consumer; import org.gradle.api.Project; import org.gradle.plugins.ide.eclipse.EclipsePlugin; @@ -27,7 +26,7 @@ class EclipseProjectPlugin { /** Applies the EclipsePlugin and provides the eclipse model for modification. */ public static void modifyEclipseProject(Project project, Consumer modifier) { // make sure the eclipse plugin has been applied - ProjectPlugin.getPlugin(project, EclipsePlugin.class); + project.getPlugins().apply(EclipsePlugin.class); // exclude the build folder project.afterEvaluate(p -> { diff --git a/src/main/java/com/diffplug/gradle/eclipse/ExcludeBuildFolderPlugin.java b/src/main/java/com/diffplug/gradle/eclipse/ExcludeBuildFolderPlugin.java index 19b57b0d0..9dbfdc704 100644 --- a/src/main/java/com/diffplug/gradle/eclipse/ExcludeBuildFolderPlugin.java +++ b/src/main/java/com/diffplug/gradle/eclipse/ExcludeBuildFolderPlugin.java @@ -38,7 +38,7 @@ public class ExcludeBuildFolderPlugin extends ProjectPlugin { @Override protected void applyOnce(Project project) { - ResourceFiltersPlugin resourceFilters = ProjectPlugin.getPlugin(project, ResourceFiltersPlugin.class); + ResourceFiltersPlugin resourceFilters = project.getPlugins().apply(ResourceFiltersPlugin.class); resourceFilters.extension.filters.add(ResourceFilter.exclude().folders().name("build")); } } diff --git a/src/main/java/com/diffplug/gradle/eclipse/MavenCentralPlugin.java b/src/main/java/com/diffplug/gradle/eclipse/MavenCentralPlugin.java index 0fd6a2e06..777532d11 100644 --- a/src/main/java/com/diffplug/gradle/eclipse/MavenCentralPlugin.java +++ b/src/main/java/com/diffplug/gradle/eclipse/MavenCentralPlugin.java @@ -83,7 +83,7 @@ public class MavenCentralPlugin extends ProjectPlugin { @Override protected void applyOnce(Project project) { - ProjectPlugin.getPlugin(project, JavaPlugin.class); + project.getPlugins().apply(JavaPlugin.class); project.getExtensions().create(MavenCentralExtension.NAME, MavenCentralExtension.class, project); } } diff --git a/src/main/java/com/diffplug/gradle/osgi/BndManifestPlugin.java b/src/main/java/com/diffplug/gradle/osgi/BndManifestPlugin.java index a68b9fd7c..e481d19ff 100644 --- a/src/main/java/com/diffplug/gradle/osgi/BndManifestPlugin.java +++ b/src/main/java/com/diffplug/gradle/osgi/BndManifestPlugin.java @@ -89,7 +89,7 @@ public class BndManifestPlugin extends ProjectPlugin { @Override protected void applyOnce(Project proj) { - ProjectPlugin.getPlugin(proj, JavaPlugin.class); + proj.getPlugins().apply(JavaPlugin.class); BndManifestExtension extension = proj.getExtensions().create(BndManifestExtension.NAME, BndManifestExtension.class); proj.afterEvaluate(project -> { diff --git a/src/main/java/com/diffplug/gradle/swt/NativeDepsPlugin.java b/src/main/java/com/diffplug/gradle/swt/NativeDepsPlugin.java index 27de0cf72..25aa9cd56 100644 --- a/src/main/java/com/diffplug/gradle/swt/NativeDepsPlugin.java +++ b/src/main/java/com/diffplug/gradle/swt/NativeDepsPlugin.java @@ -80,14 +80,14 @@ protected void applyOnce(Project project) { String swtGroup = getGroup(project); // add the p2 repo and its dependencies - AsMavenPlugin asMavenPlugin = ProjectPlugin.getPlugin(project, AsMavenPlugin.class); + AsMavenPlugin asMavenPlugin = project.getPlugins().apply(AsMavenPlugin.class); asMavenPlugin.extension().group(swtGroup, group -> { group.repo(getRepo(project)); DEPS.forEach(group::iu); }); // add all of SWT's dependencies - ProjectPlugin.getPlugin(project, JavaPlugin.class); + project.getPlugins().apply(JavaPlugin.class); for (String dep : DEPS) { project.getDependencies().add("compile", swtGroup + ":" + dep + ":+"); } From 0b03a6b61f01c5527e6c748d0b0e1e4a0a584a9e Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 24 Jan 2020 12:27:03 -0800 Subject: [PATCH 09/25] Update `com.diffplug.osgi.bndmanifest` --- README.md | 2 +- src/main/java/com/diffplug/gradle/LegacyPlugin.java | 1 - .../com/diffplug/gradle/osgi/BndManifestPlugin.java | 11 +++++++++-- .../diffplug/gradle/osgi/BndManifestPluginTest.java | 2 +- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 9f975c0bf..c1b1c9f67 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ Real world Eclipse software built with Goomph: Below is an index of Goomph's capabilities, along with links to the javadoc where you can find usage examples. -**`com.diffplug.gradle.osgi` Plugin for generating OSGi metadata.** +**`com.diffplug.osgi` Plugin for generating OSGi metadata.** * [`bndmanifest`](https://javadoc.io/static/com.diffplug.gradle/goomph/3.20.0/com/diffplug/gradle/osgi/BndManifestPlugin.html) generates a manifest using purely bnd, and outputs it for IDE consumption. * [`OsgiExecable`](https://javadoc.io/static/com.diffplug.gradle/goomph/3.20.0/com/diffplug/gradle/osgi/OsgiExecable.html) makes it easy to run a chunk of code within an OSGi container, and get the result from outside the container. diff --git a/src/main/java/com/diffplug/gradle/LegacyPlugin.java b/src/main/java/com/diffplug/gradle/LegacyPlugin.java index b5151f2da..91a172b3e 100644 --- a/src/main/java/com/diffplug/gradle/LegacyPlugin.java +++ b/src/main/java/com/diffplug/gradle/LegacyPlugin.java @@ -24,7 +24,6 @@ public class LegacyPlugin implements Plugin { private final String newId; protected LegacyPlugin(Class> newPlugin, String newPluginId) { - super(); this.newPlugin = newPlugin; this.newId = newPluginId; } diff --git a/src/main/java/com/diffplug/gradle/osgi/BndManifestPlugin.java b/src/main/java/com/diffplug/gradle/osgi/BndManifestPlugin.java index e481d19ff..fa8212745 100644 --- a/src/main/java/com/diffplug/gradle/osgi/BndManifestPlugin.java +++ b/src/main/java/com/diffplug/gradle/osgi/BndManifestPlugin.java @@ -21,6 +21,7 @@ import com.diffplug.common.base.*; import com.diffplug.common.collect.ImmutableMap; import com.diffplug.gradle.FileMisc; +import com.diffplug.gradle.LegacyPlugin; import com.diffplug.gradle.ProjectPlugin; import com.diffplug.gradle.ZipMisc; import java.io.File; @@ -50,7 +51,7 @@ * to tie bnd into both Eclipse PDE and Gradle. Which is what Goomph is for! * * ```groovy - * apply plugin: 'com.diffplug.gradle.osgi.bndmanifest' + * apply plugin: 'com.diffplug.osgi.bndmanifest' * // Pass headers and bnd directives: https://www.aqute.biz/Bnd/Format * jar.manifest.attributes( * '-exportcontents': 'com.diffplug.*', @@ -87,13 +88,19 @@ * features and tighter integrations with IDEs and gradle's resources pipeline. */ public class BndManifestPlugin extends ProjectPlugin { + public static class Legacy extends LegacyPlugin { + public Legacy() { + super(BndManifestPlugin.class, "com.diffplug.osgi.bndmanifest"); + } + } + @Override protected void applyOnce(Project proj) { + proj.getPlugins().apply(Legacy.class); proj.getPlugins().apply(JavaPlugin.class); BndManifestExtension extension = proj.getExtensions().create(BndManifestExtension.NAME, BndManifestExtension.class); proj.afterEvaluate(project -> { - // copyFromTask must be configured if copyTo is used Preconditions.checkArgument(extension.copyTo == null || extension.copyFromTask != null, "copyFromTask can not be null if copyTo is set. Please provide a source task."); diff --git a/src/test/java/com/diffplug/gradle/osgi/BndManifestPluginTest.java b/src/test/java/com/diffplug/gradle/osgi/BndManifestPluginTest.java index 29148b5da..ad129d84e 100644 --- a/src/test/java/com/diffplug/gradle/osgi/BndManifestPluginTest.java +++ b/src/test/java/com/diffplug/gradle/osgi/BndManifestPluginTest.java @@ -180,7 +180,7 @@ private void testCase(String buildscriptAddendum, String expectedManifest, Strin write("build.gradle", "plugins {", " id 'java'", - " id 'com.diffplug.gradle.osgi.bndmanifest'", + " id 'com.diffplug.osgi.bndmanifest'", "}", "repositories { mavenCentral() }", "dependencies { compile 'com.diffplug.durian:durian:3.4.0' }", From 5c220b59e53d5a207b1c3c7e1e1f93861b3eecc4 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 24 Jan 2020 12:39:36 -0800 Subject: [PATCH 10/25] Update `com.diffplug.eclipse.mavencentral` --- .../diffplug/gradle/eclipse/MavenCentralPlugin.java | 10 +++++++++- .../gradle/eclipse/MavenCentralPluginTest.java | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/diffplug/gradle/eclipse/MavenCentralPlugin.java b/src/main/java/com/diffplug/gradle/eclipse/MavenCentralPlugin.java index 777532d11..62835adf7 100644 --- a/src/main/java/com/diffplug/gradle/eclipse/MavenCentralPlugin.java +++ b/src/main/java/com/diffplug/gradle/eclipse/MavenCentralPlugin.java @@ -16,6 +16,7 @@ package com.diffplug.gradle.eclipse; +import com.diffplug.gradle.LegacyPlugin; import com.diffplug.gradle.ProjectPlugin; import org.gradle.api.Project; import org.gradle.api.plugins.JavaPlugin; @@ -33,7 +34,7 @@ * Here is the fix: * * ``` - * apply plugin: 'com.diffplug.gradle.eclipse.mavencentral' + * apply plugin: 'com.diffplug.eclipse.mavencentral' * eclipseMavenCentral { * release '4.7.0', { * // supports the standard java configurations @@ -81,8 +82,15 @@ * */ public class MavenCentralPlugin extends ProjectPlugin { + public static class Legacy extends LegacyPlugin { + public Legacy() { + super(MavenCentralPlugin.class, "com.diffplug.eclipse.mavencentral"); + } + } + @Override protected void applyOnce(Project project) { + project.getPlugins().apply(Legacy.class); project.getPlugins().apply(JavaPlugin.class); project.getExtensions().create(MavenCentralExtension.NAME, MavenCentralExtension.class, project); } diff --git a/src/test/java/com/diffplug/gradle/eclipse/MavenCentralPluginTest.java b/src/test/java/com/diffplug/gradle/eclipse/MavenCentralPluginTest.java index 585fb81cc..a41b79e4d 100644 --- a/src/test/java/com/diffplug/gradle/eclipse/MavenCentralPluginTest.java +++ b/src/test/java/com/diffplug/gradle/eclipse/MavenCentralPluginTest.java @@ -25,7 +25,7 @@ public class MavenCentralPluginTest extends GradleIntegrationTest { public void test() throws IOException { write("build.gradle", "plugins {", - " id 'com.diffplug.gradle.eclipse.mavencentral'", + " id 'com.diffplug.eclipse.mavencentral'", "}", "eclipseMavenCentral {", " release '4.7.0', {", From 6b00c3778ea52d73afe35e050b1bea5c230e2c98 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 24 Jan 2020 12:43:36 -0800 Subject: [PATCH 11/25] Update `com.diffplug.eclipse.buildproperties` --- .../gradle/eclipse/BuildPropertiesPlugin.java | 12 ++++++++++-- .../gradle/eclipse/BuildPropertiesPluginTest.java | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/diffplug/gradle/eclipse/BuildPropertiesPlugin.java b/src/main/java/com/diffplug/gradle/eclipse/BuildPropertiesPlugin.java index 7723d2475..d6e0e3c50 100644 --- a/src/main/java/com/diffplug/gradle/eclipse/BuildPropertiesPlugin.java +++ b/src/main/java/com/diffplug/gradle/eclipse/BuildPropertiesPlugin.java @@ -18,6 +18,7 @@ import com.diffplug.common.base.Suppliers; import com.diffplug.gradle.GroovyCompat; +import com.diffplug.gradle.LegacyPlugin; import com.diffplug.gradle.ProjectPlugin; import groovy.util.Node; import java.io.BufferedInputStream; @@ -50,15 +51,22 @@ * can be the single source of truth for all the binary assets inside your plugin. * * ```groovy - * apply plugin: 'com.diffplug.gradle.eclipse.buildproperties' + * apply plugin: 'com.diffplug.eclipse.buildproperties' * ``` */ public class BuildPropertiesPlugin extends ProjectPlugin { + public static class Legacy extends LegacyPlugin { + public Legacy() { + super(BuildPropertiesPlugin.class, "com.diffplug.eclipse.buildproperties"); + } + } + private Project project; @SuppressWarnings("unchecked") @Override protected void applyOnce(Project project) { + project.getPlugins().apply(Legacy.class); this.project = project; EclipseProjectPlugin.modifyEclipseProject(project, eclipseModel -> { @@ -115,7 +123,7 @@ public List getBinIncludes() { // parse build.properties and put it into binIncludes File buildProperties = project.file("build.properties"); if (!buildProperties.exists()) { - throw new IllegalArgumentException("There is no 'build.properties' file - do not apply 'com.diffplug.gradle.eclipse.buildproperties' to this project"); + throw new IllegalArgumentException("There is no 'build.properties' file - do not apply 'com.diffplug.eclipse.buildproperties' to this project"); } Properties parsedProperties = new Properties(); diff --git a/src/test/java/com/diffplug/gradle/eclipse/BuildPropertiesPluginTest.java b/src/test/java/com/diffplug/gradle/eclipse/BuildPropertiesPluginTest.java index edd496b3b..362657151 100644 --- a/src/test/java/com/diffplug/gradle/eclipse/BuildPropertiesPluginTest.java +++ b/src/test/java/com/diffplug/gradle/eclipse/BuildPropertiesPluginTest.java @@ -29,7 +29,7 @@ public void assertClasspathChanged() throws IOException { // write the normal eclipse file String plainEclipse = testCase("eclipse"); // write the excluded build folder file - String underTestEclipse = testCase("com.diffplug.gradle.eclipse.buildproperties"); + String underTestEclipse = testCase("com.diffplug.eclipse.buildproperties"); // assert the expected thing was added to the .project file Assert.assertEquals(StringPrinter.buildStringFromLines( "INSERT", From 040688962c3a094d0db9457d20b2ac529ed7454f Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 24 Jan 2020 12:47:36 -0800 Subject: [PATCH 12/25] Update `com.diffplug.eclipse.excludebuildfolder` --- .../gradle/eclipse/ExcludeBuildFolderPlugin.java | 10 +++++++++- .../gradle/eclipse/ExcludeBuildFolderPluginTest.java | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/diffplug/gradle/eclipse/ExcludeBuildFolderPlugin.java b/src/main/java/com/diffplug/gradle/eclipse/ExcludeBuildFolderPlugin.java index 9dbfdc704..7e4a8d557 100644 --- a/src/main/java/com/diffplug/gradle/eclipse/ExcludeBuildFolderPlugin.java +++ b/src/main/java/com/diffplug/gradle/eclipse/ExcludeBuildFolderPlugin.java @@ -16,6 +16,7 @@ package com.diffplug.gradle.eclipse; +import com.diffplug.gradle.LegacyPlugin; import com.diffplug.gradle.ProjectPlugin; import org.gradle.api.Project; @@ -29,15 +30,22 @@ * which is usually not desirable. To fix: * * ```groovy - * apply plugin: 'com.diffplug.gradle.eclipse.excludebuildfolder' + * apply plugin: 'com.diffplug.eclipse.excludebuildfolder' * ``` * * If you'd like to exclude more than just the build folder, * you might want to look at the more general {@link ResourceFiltersPlugin}. */ public class ExcludeBuildFolderPlugin extends ProjectPlugin { + public static class Legacy extends LegacyPlugin { + public Legacy() { + super(ExcludeBuildFolderPlugin.class, "com.diffplug.eclipse.excludebuildfolder"); + } + } + @Override protected void applyOnce(Project project) { + project.getPlugins().apply(Legacy.class); ResourceFiltersPlugin resourceFilters = project.getPlugins().apply(ResourceFiltersPlugin.class); resourceFilters.extension.filters.add(ResourceFilter.exclude().folders().name("build")); } diff --git a/src/test/java/com/diffplug/gradle/eclipse/ExcludeBuildFolderPluginTest.java b/src/test/java/com/diffplug/gradle/eclipse/ExcludeBuildFolderPluginTest.java index 9b0176a45..78129e00d 100644 --- a/src/test/java/com/diffplug/gradle/eclipse/ExcludeBuildFolderPluginTest.java +++ b/src/test/java/com/diffplug/gradle/eclipse/ExcludeBuildFolderPluginTest.java @@ -29,7 +29,7 @@ public void assertProjectChanged() throws IOException { // write the normal eclipse file String plainEclipse = testCase("eclipse"); // write the excluded build folder file - String underTestEclipse = testCase("com.diffplug.gradle.eclipse.excludebuildfolder"); + String underTestEclipse = testCase("com.diffplug.eclipse.excludebuildfolder"); // assert the expected thing was added to the .project file Assert.assertEquals(StringPrinter.buildStringFromLines( "DELETE", From 0ccf7bdc0d34505b6157dc2e70e747cb5a8bc4e1 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 24 Jan 2020 15:39:54 -0800 Subject: [PATCH 13/25] Update `com.diffplug.eclipse.projectdeps` --- .../com/diffplug/gradle/eclipse/ProjectDepsPlugin.java | 10 +++++++++- .../diffplug/gradle/eclipse/ProjectDepsPluginTest.java | 6 +++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/diffplug/gradle/eclipse/ProjectDepsPlugin.java b/src/main/java/com/diffplug/gradle/eclipse/ProjectDepsPlugin.java index e51b2d18d..7556a4255 100644 --- a/src/main/java/com/diffplug/gradle/eclipse/ProjectDepsPlugin.java +++ b/src/main/java/com/diffplug/gradle/eclipse/ProjectDepsPlugin.java @@ -18,6 +18,7 @@ import com.diffplug.common.base.Preconditions; import com.diffplug.common.collect.Iterables; +import com.diffplug.gradle.LegacyPlugin; import com.diffplug.gradle.ProjectPlugin; import groovy.util.Node; import java.util.ArrayList; @@ -40,7 +41,7 @@ * the workspace aren't always resolved correctly within Eclipse. * * ```groovy - * apply plugin: 'com.diffplug.gradle.eclipse.projectdeps' + * apply plugin: 'com.diffplug.eclipse.projectdeps' * ``` * * Can also be configured to replace binary dependencies with @@ -54,8 +55,15 @@ * ``` */ public class ProjectDepsPlugin extends ProjectPlugin { + public static class Legacy extends LegacyPlugin { + public Legacy() { + super(ProjectDepsPlugin.class, "com.diffplug.eclipse.projectdeps"); + } + } + @Override protected void applyOnce(Project project) { + project.getPlugins().apply(Legacy.class); ProjectDepsExtension extension = project.getExtensions().create(ProjectDepsExtension.NAME, ProjectDepsExtension.class); EclipseProjectPlugin.modifyEclipseProject(project, eclipseModel -> { // find the project's referenced projects and reference them explicitly in the eclipse model diff --git a/src/test/java/com/diffplug/gradle/eclipse/ProjectDepsPluginTest.java b/src/test/java/com/diffplug/gradle/eclipse/ProjectDepsPluginTest.java index 9b2c88220..98cb8ace3 100644 --- a/src/test/java/com/diffplug/gradle/eclipse/ProjectDepsPluginTest.java +++ b/src/test/java/com/diffplug/gradle/eclipse/ProjectDepsPluginTest.java @@ -29,7 +29,7 @@ public void assertClasspathChangedPre2_14() throws IOException { // write the normal eclipse file String plainEclipse = testCase("eclipse", "2.13"); // write the excluded build folder file - String underTestEclipse = testCase("com.diffplug.gradle.eclipse.projectdeps", "2.13"); + String underTestEclipse = testCase("com.diffplug.eclipse.projectdeps", "2.13"); // assert the expected thing was added to the .project file Assert.assertEquals(StringPrinter.buildStringFromLines( "DELETE", @@ -43,7 +43,7 @@ public void assertClasspathChangedPost2_14() throws IOException { // write the normal eclipse file String plainEclipse = testCase("eclipse", "2.14-rc-4"); // write the excluded build folder file - String underTestEclipse = testCase("com.diffplug.gradle.eclipse.projectdeps", "2.14-rc-4"); + String underTestEclipse = testCase("com.diffplug.eclipse.projectdeps", "2.14-rc-4"); // assert the expected thing was added to the .project file Assert.assertEquals(StringPrinter.buildStringFromLines( "INSERT", @@ -75,7 +75,7 @@ private String testCase(String pluginId, String version) throws IOException { @Test public void testReplaceWithProject() throws IOException { write("build.gradle", - "plugins { id 'com.diffplug.gradle.eclipse.projectdeps' }", + "plugins { id 'com.diffplug.eclipse.projectdeps' }", "apply plugin: 'java'", "repositories { mavenCentral() }", "dependencies {", From f1e4138b0b30b031447307523008ddae5afaa507 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 24 Jan 2020 15:42:11 -0800 Subject: [PATCH 14/25] Update `com.diffplug.eclipse.resourcefilters` --- .../diffplug/gradle/eclipse/ResourceFiltersPlugin.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/diffplug/gradle/eclipse/ResourceFiltersPlugin.java b/src/main/java/com/diffplug/gradle/eclipse/ResourceFiltersPlugin.java index ead6b31b9..0a57fe753 100644 --- a/src/main/java/com/diffplug/gradle/eclipse/ResourceFiltersPlugin.java +++ b/src/main/java/com/diffplug/gradle/eclipse/ResourceFiltersPlugin.java @@ -16,6 +16,7 @@ package com.diffplug.gradle.eclipse; +import com.diffplug.gradle.LegacyPlugin; import com.diffplug.gradle.ProjectPlugin; import groovy.util.Node; import java.util.List; @@ -32,7 +33,7 @@ * This plugin allows you to easily configure these settings. * * ```groovy - * apply plugin: 'com.diffplug.gradle.eclipse.resourcefilters' + * apply plugin: 'com.diffplug.eclipse.resourcefilters' * eclipseResourceFilters { * exclude().folders().name('build') * include().folders().projectRelativePath('main/src/*') @@ -43,11 +44,18 @@ * For full details on what filters you can create, see {@link ResourceFilter}. */ public class ResourceFiltersPlugin extends ProjectPlugin { + public static class Legacy extends LegacyPlugin { + public Legacy() { + super(ResourceFiltersPlugin.class, "com.diffplug.eclipse.resourcefilters"); + } + } + ResourceFiltersExtension extension; @SuppressWarnings("unchecked") @Override protected void applyOnce(Project project) { + project.getPlugins().apply(Legacy.class); extension = project.getExtensions().create(ResourceFiltersExtension.NAME, ResourceFiltersExtension.class); EclipseProjectPlugin.modifyEclipseProject(project, eclipseModel -> { eclipseModel.getProject().getFile().getXmlTransformer().addAction(xmlProvider -> { From 4a375d6d4274eb6df3677842198a2adfb1ae9796 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 24 Jan 2020 15:42:55 -0800 Subject: [PATCH 15/25] Finished all the `.eclipse` plugins. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c1b1c9f67..bd13c3e63 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ Below is an index of Goomph's capabilities, along with links to the javadoc wher * [`bndmanifest`](https://javadoc.io/static/com.diffplug.gradle/goomph/3.20.0/com/diffplug/gradle/osgi/BndManifestPlugin.html) generates a manifest using purely bnd, and outputs it for IDE consumption. * [`OsgiExecable`](https://javadoc.io/static/com.diffplug.gradle/goomph/3.20.0/com/diffplug/gradle/osgi/OsgiExecable.html) makes it easy to run a chunk of code within an OSGi container, and get the result from outside the container. -**`com.diffplug.gradle.eclipse` Plugins for handling eclipse' maven central artifacts and creating and manipulating eclipse project files.** +**`com.diffplug.eclipse` Plugins for handling eclipse' maven central artifacts and creating and manipulating eclipse project files.** * [`mavencentral`](https://javadoc.io/static/com.diffplug.gradle/goomph/3.20.0/com/diffplug/gradle/eclipse/MavenCentralPlugin.html) makes it easy to add dependency jars from an eclipse release. * [`buildproperties`](https://javadoc.io/static/com.diffplug.gradle/goomph/3.20.0/com/diffplug/gradle/eclipse/BuildPropertiesPlugin.html) uses [`build.properties`](https://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.pde.doc.user%2Fguide%2Ftools%2Feditors%2Fmanifest_editor%2Fbuild.htm) to control a gradle build, and fixes eclipse project classpath to include binary assets specified in `build.properties`. From e9af19c3f3a29e2cb49acd6f38511af4cf4a3ebe Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 24 Jan 2020 15:45:15 -0800 Subject: [PATCH 16/25] Update `com.diffplug.p2.asmaven` --- README.md | 2 +- .../java/com/diffplug/gradle/p2/AsMavenPlugin.java | 10 +++++++++- .../java/com/diffplug/gradle/p2/AsMavenPluginTest.java | 4 ++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index bd13c3e63..2a64c95fd 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ Below is an index of Goomph's capabilities, along with links to the javadoc wher * [`projectdeps`](https://javadoc.io/static/com.diffplug.gradle/goomph/3.20.0/com/diffplug/gradle/eclipse/ProjectDepsPlugin.html) fixes an intermittent problem where dependencies on other projects within the workspace aren't always resolved correctly within Eclipse. * [`resourcefilters`](https://javadoc.io/static/com.diffplug.gradle/goomph/3.20.0/com/diffplug/gradle/eclipse/ResourceFiltersPlugin.html) adds resource filters to the eclipse project. -**`com.diffplug.gradle.p2` Tasks and plugins for manipulating p2 data.** +**`com.diffplug.p2` Tasks and plugins for manipulating p2 data.** * [`asmaven`](https://javadoc.io/static/com.diffplug.gradle/goomph/3.20.0/com/diffplug/gradle/p2/AsMavenPlugin.html) downloads dependencies from a p2 repository and makes them available in a local maven repository. * [`P2Model`](https://javadoc.io/static/com.diffplug.gradle/goomph/3.20.0/com/diffplug/gradle/p2/P2Model.html) models a set of p2 repositories and IUs, and provides convenience methods for running p2-director or the p2.mirror ant task against these. diff --git a/src/main/java/com/diffplug/gradle/p2/AsMavenPlugin.java b/src/main/java/com/diffplug/gradle/p2/AsMavenPlugin.java index 9277554f4..922c7f34a 100644 --- a/src/main/java/com/diffplug/gradle/p2/AsMavenPlugin.java +++ b/src/main/java/com/diffplug/gradle/p2/AsMavenPlugin.java @@ -17,6 +17,7 @@ import com.diffplug.common.base.Errors; +import com.diffplug.gradle.LegacyPlugin; import com.diffplug.gradle.ProjectPlugin; import org.gradle.api.Project; @@ -27,7 +28,7 @@ * to the project. * * ```groovy - * apply plugin: 'com.diffplug.gradle.p2.asmaven' + * apply plugin: 'com.diffplug.p2.asmaven' * p2AsMaven { * // the maven group they shall have * group 'eclipse-deps', { @@ -179,10 +180,17 @@ * gradle and p2, we will only use public APIs in both products. */ public class AsMavenPlugin extends ProjectPlugin { + public static class Legacy extends LegacyPlugin { + public Legacy() { + super(AsMavenPlugin.class, "com.diffplug.p2.asmaven"); + } + } + AsMavenExtension extension; @Override protected void applyOnce(Project project) { + project.getPlugins().apply(Legacy.class); extension = project.getExtensions().create(AsMavenExtension.NAME, AsMavenExtension.class, project); project.afterEvaluate(proj -> { // reload diff --git a/src/test/java/com/diffplug/gradle/p2/AsMavenPluginTest.java b/src/test/java/com/diffplug/gradle/p2/AsMavenPluginTest.java index e8b15c4ae..e24a4e2ef 100644 --- a/src/test/java/com/diffplug/gradle/p2/AsMavenPluginTest.java +++ b/src/test/java/com/diffplug/gradle/p2/AsMavenPluginTest.java @@ -26,7 +26,7 @@ public class AsMavenPluginTest extends GradleIntegrationTest { public void simpleTestCase() throws IOException, InterruptedException { write("build.gradle", "plugins {", - " id 'com.diffplug.gradle.p2.asmaven'", + " id 'com.diffplug.p2.asmaven'", "}", "p2AsMaven {", " group 'eclipse-deps', {", @@ -47,7 +47,7 @@ public void simpleTestCase() throws IOException, InterruptedException { public void complexTestCase() throws IOException, InterruptedException { write("build.gradle", "plugins {", - " id 'com.diffplug.gradle.p2.asmaven'", + " id 'com.diffplug.p2.asmaven'", "}", "def SUPPORTED_VERSIONS = ['4.4.0', '4.5.0', '4.6.0']", "p2AsMaven {", From 16276d75fe755ba0ccafb0e708536d19e840f907 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 24 Jan 2020 15:47:13 -0800 Subject: [PATCH 17/25] Update `com.diffplug.swt.nativedeps` --- README.md | 2 +- .../java/com/diffplug/gradle/swt/NativeDepsPlugin.java | 10 +++++++++- .../com/diffplug/gradle/swt/NativeDepsPluginTest.java | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 2a64c95fd..f50130459 100644 --- a/README.md +++ b/README.md @@ -93,7 +93,7 @@ Below is an index of Goomph's capabilities, along with links to the javadoc wher * [`PdeBuildTask`](https://javadoc.io/static/com.diffplug.gradle/goomph/3.20.0/com/diffplug/gradle/pde/PdeBuildTask.html) runs PDE build to build an RCP product. * [`PdeAntBuildTask`](https://javadoc.io/static/com.diffplug.gradle/goomph/3.20.0/com/diffplug/gradle/pde/PdeAntBuildTask.html) runs PDE on an ant file. -**`com.diffplug.gradle.swt` Plugins for working with SWT in Gradle.** +**`com.diffplug.swt` Plugins for working with SWT in Gradle.** * [`nativedeps`](https://javadoc.io/static/com.diffplug.gradle/goomph/3.20.0/com/diffplug/gradle/swt/NativeDepsPlugin.html) adds the platform-specific SWT jars to the runtime classpath so that SWT code can run. diff --git a/src/main/java/com/diffplug/gradle/swt/NativeDepsPlugin.java b/src/main/java/com/diffplug/gradle/swt/NativeDepsPlugin.java index 25aa9cd56..4d0ab0f65 100644 --- a/src/main/java/com/diffplug/gradle/swt/NativeDepsPlugin.java +++ b/src/main/java/com/diffplug/gradle/swt/NativeDepsPlugin.java @@ -18,6 +18,7 @@ import com.diffplug.common.collect.ImmutableList; import com.diffplug.common.swt.os.SwtPlatform; +import com.diffplug.gradle.LegacyPlugin; import com.diffplug.gradle.ProjectPlugin; import com.diffplug.gradle.p2.AsMavenPlugin; import com.diffplug.gradle.pde.EclipseRelease; @@ -38,7 +39,7 @@ * * `org.eclipse.equinox.common` * * ```groovy - * apply plugin: 'com.diffplug.gradle.swt.nativedeps' + * apply plugin: 'com.diffplug.swt.nativedeps' * ``` * * * Property `SWT_VERSION` sets the eclipse version from which to get SWT (e.g. `4.6.0`). @@ -52,6 +53,12 @@ * */ public class NativeDepsPlugin extends ProjectPlugin { + public static class Legacy extends LegacyPlugin { + public Legacy() { + super(NativeDepsPlugin.class, "com.diffplug.swt.nativedeps"); + } + } + static final String PROP_VERSION = "SWT_VERSION"; static final String PROP_REPO = "SWT_P2_REPO"; static final String PROP_GROUP = "SWT_P2_GROUP"; @@ -77,6 +84,7 @@ static String getRepo(Project project) { @Override protected void applyOnce(Project project) { + project.getPlugins().apply(Legacy.class); String swtGroup = getGroup(project); // add the p2 repo and its dependencies diff --git a/src/test/java/com/diffplug/gradle/swt/NativeDepsPluginTest.java b/src/test/java/com/diffplug/gradle/swt/NativeDepsPluginTest.java index 85be3c1c9..d5ee35179 100644 --- a/src/test/java/com/diffplug/gradle/swt/NativeDepsPluginTest.java +++ b/src/test/java/com/diffplug/gradle/swt/NativeDepsPluginTest.java @@ -26,7 +26,7 @@ public void assertPluginWorks() throws IOException { write("build.gradle", "plugins {", " id 'java'", - " id 'com.diffplug.gradle.swt.nativedeps'", + " id 'com.diffplug.swt.nativedeps'", "}", "repositories { mavenCentral() }", "dependencies { testCompile 'junit:junit:4.12' }"); From 88104fc546e41bd1a82bd33e7aa3512da6474740 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 24 Jan 2020 15:52:07 -0800 Subject: [PATCH 18/25] Update `com.diffplug.osgi.equinoxlaunch` --- README.md | 4 ++-- .../gradle/eclipserunner/EquinoxLaunchPlugin.java | 12 ++++++++++-- .../eclipserunner/EquinoxLaunchPluginTest.java | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index f50130459..6dde9989f 100644 --- a/README.md +++ b/README.md @@ -67,9 +67,10 @@ Real world Eclipse software built with Goomph: Below is an index of Goomph's capabilities, along with links to the javadoc where you can find usage examples. -**`com.diffplug.osgi` Plugin for generating OSGi metadata.** +**`com.diffplug.osgi` Plugins for working with OSGi.** * [`bndmanifest`](https://javadoc.io/static/com.diffplug.gradle/goomph/3.20.0/com/diffplug/gradle/osgi/BndManifestPlugin.html) generates a manifest using purely bnd, and outputs it for IDE consumption. +* [`equinoxlaunch`](https://javadoc.io/static/com.diffplug.gradle/goomph/3.20.0/com/diffplug/gradle/eclipserunner/EquinoxLaunchPlugin.html) can configure and run equinox applications as part of the build, such as a code generator. * [`OsgiExecable`](https://javadoc.io/static/com.diffplug.gradle/goomph/3.20.0/com/diffplug/gradle/osgi/OsgiExecable.html) makes it easy to run a chunk of code within an OSGi container, and get the result from outside the container. **`com.diffplug.eclipse` Plugins for handling eclipse' maven central artifacts and creating and manipulating eclipse project files.** @@ -106,7 +107,6 @@ Below is an index of Goomph's capabilities, along with links to the javadoc wher **`com.diffplug.gradle.eclipserunner` Infrastructure for running headless eclipse applications.** * Used to power the infrastructure above. -* [`com.diffplug.gradle.equinoxlaunch`](https://javadoc.io/static/com.diffplug.gradle/goomph/3.20.0/com/diffplug/gradle/eclipserunner/EquinoxLaunchPlugin.html) can configure and run equinox applications as part of the build, such as a code generator. diff --git a/src/main/java/com/diffplug/gradle/eclipserunner/EquinoxLaunchPlugin.java b/src/main/java/com/diffplug/gradle/eclipserunner/EquinoxLaunchPlugin.java index 52730240a..3aa4e6de0 100644 --- a/src/main/java/com/diffplug/gradle/eclipserunner/EquinoxLaunchPlugin.java +++ b/src/main/java/com/diffplug/gradle/eclipserunner/EquinoxLaunchPlugin.java @@ -16,6 +16,7 @@ package com.diffplug.gradle.eclipserunner; +import com.diffplug.gradle.LegacyPlugin; import com.diffplug.gradle.ProjectPlugin; import java.io.File; import org.gradle.api.NamedDomainObjectFactory; @@ -27,7 +28,7 @@ * Here is a simple example: * * ```groovy - * apply plugin: 'com.diffplug.gradle.equinoxlaunch' + * apply plugin: 'com.diffplug.osgi.equinoxlaunch' * equinoxLaunch { * // creates an EquinoxLaunchSetupTask named 'headlessAppSetup' * headlessAppSetup { @@ -45,7 +46,7 @@ * And a more complex example: * * ```groovy - * apply plugin: 'com.diffplug.gradle.equinoxlaunch' + * apply plugin: 'com.diffplug.osgi.equinoxlaunch' * equinoxLaunch { * // creates an EquinoxLaunchSetupTask named 'equinoxSetup' * equinoxSetup { @@ -82,8 +83,15 @@ public class EquinoxLaunchPlugin extends ProjectPlugin { public static final String NAME = "equinoxLaunch"; + public static class Legacy extends LegacyPlugin { + public Legacy() { + super(EquinoxLaunchPlugin.class, "com.diffplug.osgi.equinoxlaunch"); + } + } + @Override protected void applyOnce(Project project) { + project.getPlugins().apply(Legacy.class); project.getExtensions().add(NAME, project.container(EquinoxLaunchSetupTask.class, new NamedDomainObjectFactory() { @Override public EquinoxLaunchSetupTask create(String name) { diff --git a/src/test/java/com/diffplug/gradle/eclipserunner/EquinoxLaunchPluginTest.java b/src/test/java/com/diffplug/gradle/eclipserunner/EquinoxLaunchPluginTest.java index ce9f8aa04..110983ff4 100644 --- a/src/test/java/com/diffplug/gradle/eclipserunner/EquinoxLaunchPluginTest.java +++ b/src/test/java/com/diffplug/gradle/eclipserunner/EquinoxLaunchPluginTest.java @@ -26,7 +26,7 @@ public class EquinoxLaunchPluginTest extends GradleIntegrationTest { public void simpleTestCase() throws IOException, InterruptedException { write("build.gradle", "plugins {", - " id 'com.diffplug.gradle.equinoxlaunch'", + " id 'com.diffplug.osgi.equinoxlaunch'", "}", "apply plugin: 'java'", "repositories { mavenCentral() }", From 0d9cd117508610017d09667544f89feabc65df61 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 24 Jan 2020 20:02:28 -0800 Subject: [PATCH 19/25] Update `com.diffplug.oomph.ide` --- README.md | 2 +- build.gradle | 2 +- .../java/com/diffplug/gradle/oomph/OomphIdePlugin.java | 9 ++++++++- .../gradle/GoomphCacheLocationInitFromProjectTest.java | 2 +- .../com/diffplug/gradle/oomph/OomphIdePluginTest.java | 2 +- 5 files changed, 12 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 6dde9989f..ad7e79d4e 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ It is possible to have many installations of the Eclipse IDE share a common set When you run `gradlew ide`, it builds and downloads an IDE into `build/oomphIde` with just the features you need. Takes ~15 seconds and 1MB of disk space once all the common artifacts have been cached at `~/.goomph`. ```groovy -apply plugin: 'com.diffplug.gradle.oomph.ide' +apply plugin: 'com.diffplug.oomph.ide' oomphIde { repoEclipseLatest() jdt {} diff --git a/build.gradle b/build.gradle index 9082d311d..93f3649dc 100644 --- a/build.gradle +++ b/build.gradle @@ -112,7 +112,7 @@ javadoc { ///////////////////////////// // LEGACY REDIRECT PLUGINS // ///////////////////////////// -// deprecated plugins +// plugin ids that we are migrating def old_plugins = 'eclipseBuildProperties eclipseExcludeBuildFolder eclipseMavenCentral eclipseProjectDeps eclipseResourceFilters equinoxLaunch oomphIde p2AsMaven osgiBndManifest swtNativeDeps'.split() gradlePlugin { plugins { diff --git a/src/main/java/com/diffplug/gradle/oomph/OomphIdePlugin.java b/src/main/java/com/diffplug/gradle/oomph/OomphIdePlugin.java index 949563b61..3800ebc93 100644 --- a/src/main/java/com/diffplug/gradle/oomph/OomphIdePlugin.java +++ b/src/main/java/com/diffplug/gradle/oomph/OomphIdePlugin.java @@ -18,6 +18,7 @@ import com.diffplug.common.base.Errors; import com.diffplug.gradle.GoomphCacheLocations; +import com.diffplug.gradle.LegacyPlugin; import com.diffplug.gradle.ProjectPlugin; import org.gradle.api.Project; import org.gradle.api.Task; @@ -34,7 +35,7 @@ * To create an IDE for java projects (see {@link ConventionJdt} for more JDT options). * * ```groovy - * apply plugin: 'com.diffplug.gradle.oomph.ide' + * apply plugin: 'com.diffplug.oomph.ide' * oomphIde { * repoEclipseLatest() * jdt {} @@ -161,6 +162,12 @@ public class OomphIdePlugin extends ProjectPlugin { private static final String IDE_DESC = "Launches a preconfigured IDE, downloading if necessary."; private static final String IDE_CLEAN_DESC = "Cleans the preconfigured IDE, so that the next call to " + IDE + " will provision a fresh IDE."; + public static class Legacy extends LegacyPlugin { + public Legacy() { + super(OomphIdePlugin.class, "com.diffplug.oomph.ide"); + } + } + @Override protected void applyOnce(Project project) { OomphIdeExtension extension = project.getExtensions().create(OomphIdeExtension.NAME, OomphIdeExtension.class, project); diff --git a/src/test/java/com/diffplug/gradle/GoomphCacheLocationInitFromProjectTest.java b/src/test/java/com/diffplug/gradle/GoomphCacheLocationInitFromProjectTest.java index ddfc7ed04..b641cc8ce 100644 --- a/src/test/java/com/diffplug/gradle/GoomphCacheLocationInitFromProjectTest.java +++ b/src/test/java/com/diffplug/gradle/GoomphCacheLocationInitFromProjectTest.java @@ -26,7 +26,7 @@ public class GoomphCacheLocationInitFromProjectTest extends GradleIntegrationTes public void ensureOverrideWorks() throws IOException { write("build.gradle", "plugins {", - " id 'com.diffplug.gradle.oomph.ide'", + " id 'com.diffplug.oomph.ide'", "}", "ext.goomph_override_p2bootstrapUrl='somewhere'", "com.diffplug.gradle.GoomphCacheLocations.initFromProject(project)", diff --git a/src/test/java/com/diffplug/gradle/oomph/OomphIdePluginTest.java b/src/test/java/com/diffplug/gradle/oomph/OomphIdePluginTest.java index 351759895..740989519 100644 --- a/src/test/java/com/diffplug/gradle/oomph/OomphIdePluginTest.java +++ b/src/test/java/com/diffplug/gradle/oomph/OomphIdePluginTest.java @@ -38,7 +38,7 @@ public class OomphIdePluginTest extends GradleIntegrationTest { public void assertReadmeExampleWorks() throws IOException { write("build.gradle", "plugins {", - " id 'com.diffplug.gradle.oomph.ide'", + " id 'com.diffplug.oomph.ide'", "}", "", "oomphIde {", From 9a30a4a42e49f00f52d397b7eec2a88ca78e5c03 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 24 Jan 2020 20:53:17 -0800 Subject: [PATCH 20/25] The case of equinoxLaunch is a but more complicated than the others. --- build.gradle | 10 ++++++++-- src/main/java/com/diffplug/gradle/LegacyPlugin.java | 7 ++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 93f3649dc..a9f580018 100644 --- a/build.gradle +++ b/build.gradle @@ -118,9 +118,15 @@ gradlePlugin { plugins { for (plugin in old_plugins) { register "${plugin}Legacy", { - String newId = 干.proj("plugin_${plugin}_id", "for ${plugin}: apply plugin: 'id'") + String newId = 干.proj("plugin_${plugin}_id", "for ${plugin}: apply plugin: 'id'") String newImpl = 干.proj("plugin_${plugin}_impl", "for ${plugin}: implementationClass") - id = newId.replace('com.diffplug.', 'com.diffplug.gradle.') + String oldId; + if (newId.equals("com.diffplug.gradle.equinoxlaunch")) { + oldId = "com.diffplug.osgi.equinoxlaunch"; + } else { + oldId = newId.replace("com.diffplug.", "com.diffplug.gradle."); + } + id = oldId implementationClass = "${newImpl}\$Legacy" displayName = "Back-compat alias to $newId" description = "Back-compat alias to $newId" diff --git a/src/main/java/com/diffplug/gradle/LegacyPlugin.java b/src/main/java/com/diffplug/gradle/LegacyPlugin.java index 91a172b3e..2eaedd867 100644 --- a/src/main/java/com/diffplug/gradle/LegacyPlugin.java +++ b/src/main/java/com/diffplug/gradle/LegacyPlugin.java @@ -31,7 +31,12 @@ protected LegacyPlugin(Class> newPlugin, String newPlu @Override public void apply(Project proj) { proj.getPlugins().apply(newPlugin); - String oldId = newId.replace("com.diffplug.", "com.diffplug.gradle."); + String oldId; + if (newId.equals("com.diffplug.gradle.equinoxlaunch")) { + oldId = "com.diffplug.osgi.equinoxlaunch"; + } else { + oldId = newId.replace("com.diffplug.", "com.diffplug.gradle."); + } System.out.println(" plugin id '" + oldId + "' has been deprecated"); System.out.println("replaced by '" + newId + "'"); System.out.println("A simple find-replace will fix it. Here is why we moved: https://dev.to/nedtwigg/names-in-java-maven-and-gradle-2fm2#gradle-plugin-id"); From 7014a93fe9e337c13b628454cddc8b6d1af574f1 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 24 Jan 2020 21:04:52 -0800 Subject: [PATCH 21/25] Update changelog. --- CHANGES.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index 7775328b3..28081e749 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,12 @@ # Goomph releases ## [Unreleased] +### Changed +- All plugin ids (not classes) have moved, from `plugins { id 'com.diffplug.gradle.blah' }` to `com.diffplug.blah` ([#115](https://github.com/diffplug/goomph/pull/115)) + - The old ids will keep working, but they'll print a warning advising a switch to the new id. + - One exception: `com.diffplug.gradle.equinoxlaunch` -> `com.diffplug.osgi.equinoxlaunch` (it should have been in OSGi category all along) + - This is annoying, but the deprecation warnings include an easy regex fix, and it's better to fix this now than later. + - [More detail on the reasoning](https://dev.to/nedtwigg/names-in-java-maven-and-gradle-2fm2) if you're curious. ## [3.20.0] - 2020-01-11 ### Added From b5b4d8bdaa6b6980552012ec9def473b3ddabf5e Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 24 Jan 2020 21:06:48 -0800 Subject: [PATCH 22/25] Fix the equinoxLaunch case. --- build.gradle | 4 ++-- src/main/java/com/diffplug/gradle/LegacyPlugin.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build.gradle b/build.gradle index a9f580018..973425c99 100644 --- a/build.gradle +++ b/build.gradle @@ -121,8 +121,8 @@ gradlePlugin { String newId = 干.proj("plugin_${plugin}_id", "for ${plugin}: apply plugin: 'id'") String newImpl = 干.proj("plugin_${plugin}_impl", "for ${plugin}: implementationClass") String oldId; - if (newId.equals("com.diffplug.gradle.equinoxlaunch")) { - oldId = "com.diffplug.osgi.equinoxlaunch"; + if (newId.equals("com.diffplug.osgi.equinoxlaunch")) { + oldId = "com.diffplug.gradle.equinoxlaunch"; } else { oldId = newId.replace("com.diffplug.", "com.diffplug.gradle."); } diff --git a/src/main/java/com/diffplug/gradle/LegacyPlugin.java b/src/main/java/com/diffplug/gradle/LegacyPlugin.java index 2eaedd867..97bb1b475 100644 --- a/src/main/java/com/diffplug/gradle/LegacyPlugin.java +++ b/src/main/java/com/diffplug/gradle/LegacyPlugin.java @@ -32,8 +32,8 @@ protected LegacyPlugin(Class> newPlugin, String newPlu public void apply(Project proj) { proj.getPlugins().apply(newPlugin); String oldId; - if (newId.equals("com.diffplug.gradle.equinoxlaunch")) { - oldId = "com.diffplug.osgi.equinoxlaunch"; + if (newId.equals("com.diffplug.osgi.equinoxlaunch")) { + oldId = "com.diffplug.gradle.equinoxlaunch"; } else { oldId = newId.replace("com.diffplug.", "com.diffplug.gradle."); } From 03d5b9b99a3e1f4c2ac14c129f697e17c098ee3f Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 24 Jan 2020 21:09:20 -0800 Subject: [PATCH 23/25] Small changelog improvement. --- CHANGES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 28081e749..c823f304b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,7 +2,7 @@ ## [Unreleased] ### Changed -- All plugin ids (not classes) have moved, from `plugins { id 'com.diffplug.gradle.blah' }` to `com.diffplug.blah` ([#115](https://github.com/diffplug/goomph/pull/115)) +- All plugin ids (not classes) have [moved, from `plugins { id 'com.diffplug.gradle.blah' }` to `com.diffplug.blah`](https://github.com/diffplug/goomph/pull/115/files#diff-503f218d646c10f484fdc9d6315bf2e3)) ([#115](https://github.com/diffplug/goomph/pull/115)) - The old ids will keep working, but they'll print a warning advising a switch to the new id. - One exception: `com.diffplug.gradle.equinoxlaunch` -> `com.diffplug.osgi.equinoxlaunch` (it should have been in OSGi category all along) - This is annoying, but the deprecation warnings include an easy regex fix, and it's better to fix this now than later. From 0d0cd35b68a280272da768f2a664a31033d92e1c Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 24 Jan 2020 21:13:04 -0800 Subject: [PATCH 24/25] Another fix for the equinoxLaunch oddball. --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 1e6b0c80a..b64bebd10 100644 --- a/gradle.properties +++ b/gradle.properties @@ -47,7 +47,7 @@ plugin_eclipseResourceFilters_impl=com.diffplug.gradle.eclipse.ResourceFiltersPl plugin_eclipseResourceFilters_name=Goomph eclipseResourceFilters plugin_eclipseResourceFilters_desc=Adds filters to an eclipse project which exclude or include specific resources. -plugin_equinoxLaunch_id=com.diffplug.equinoxlaunch +plugin_equinoxLaunch_id=com.diffplug.osgi.equinoxlaunch plugin_equinoxLaunch_impl=com.diffplug.gradle.eclipserunner.EquinoxLaunchPlugin plugin_equinoxLaunch_name=Goomph equinoxLaunch plugin_equinoxLaunch_desc=Launches an equinox application with whatever set of plugins the user specifies From 36be6b070cf023f92b89a468936bc369649d7041 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Fri, 24 Jan 2020 21:45:57 -0800 Subject: [PATCH 25/25] Note the bndlib bump. --- CHANGES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.md b/CHANGES.md index c823f304b..4a65eee61 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -7,6 +7,7 @@ - One exception: `com.diffplug.gradle.equinoxlaunch` -> `com.diffplug.osgi.equinoxlaunch` (it should have been in OSGi category all along) - This is annoying, but the deprecation warnings include an easy regex fix, and it's better to fix this now than later. - [More detail on the reasoning](https://dev.to/nedtwigg/names-in-java-maven-and-gradle-2fm2) if you're curious. +- Bump `bndlib` from `4.2.0` to `5.0.0`. ## [3.20.0] - 2020-01-11 ### Added