From 39aee07194cc76d2b662bdaa6a0d6a1b327ab37d Mon Sep 17 00:00:00 2001 From: Hannes Wellmann Date: Sat, 9 Dec 2023 14:40:18 +0100 Subject: [PATCH] Migrate AutomaticUpdateScheduler from IStartup to OSGi EventHandler ... for the UIEvents.UILifeCycle.APP_STARTUP_COMPLETE event. This is a less Eclipse specific approach and also prevents the user from disabling the start-up task. The automatic search for updates can still be disabled. --- .gitignore | 5 ++++- .../org.eclipse.equinox.p2.core/OSGI-INF/.gitignore | 1 - .../.project | 5 +++++ .../.settings/org.eclipse.pde.ds.annotations.prefs | 7 +++++++ .../META-INF/MANIFEST.MF | 13 +++++++++---- .../build.properties | 1 + .../plugin.xml | 5 ----- .../ui/sdk/scheduler/AutomaticUpdateScheduler.java | 12 +++++++++--- 8 files changed, 35 insertions(+), 14 deletions(-) delete mode 100644 bundles/org.eclipse.equinox.p2.core/OSGI-INF/.gitignore create mode 100644 bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.settings/org.eclipse.pde.ds.annotations.prefs diff --git a/.gitignore b/.gitignore index 4fdf5c5632..c2b02e96b2 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,7 @@ bin/ pom.tycho .tycho-consumer-pom.xml .flattened-pom.xml -apiAnalyzer-workspace/ \ No newline at end of file +apiAnalyzer-workspace/ + +#Generated OSGi declarative service files +**/OSGI-INF/org.eclipse.*.xml diff --git a/bundles/org.eclipse.equinox.p2.core/OSGI-INF/.gitignore b/bundles/org.eclipse.equinox.p2.core/OSGI-INF/.gitignore deleted file mode 100644 index 0017bbb386..0000000000 --- a/bundles/org.eclipse.equinox.p2.core/OSGI-INF/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/org.eclipse.equinox.*.xml diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.project b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.project index 4f60938092..84a744fe91 100644 --- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.project +++ b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.project @@ -25,6 +25,11 @@ + + org.eclipse.pde.ds.core.builder + + + org.eclipse.pde.PluginNature diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.settings/org.eclipse.pde.ds.annotations.prefs new file mode 100644 index 0000000000..5faf08b7d5 --- /dev/null +++ b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/.settings/org.eclipse.pde.ds.annotations.prefs @@ -0,0 +1,7 @@ +dsVersion=V1_4 +eclipse.preferences.version=1 +enabled=true +generateBundleActivationPolicyLazy=true +path=OSGI-INF +validationErrorLevel=error +validationErrorLevel.missingImplicitUnbindMethod=error diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/META-INF/MANIFEST.MF index 6101c10196..0bb668af96 100644 --- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/META-INF/MANIFEST.MF +++ b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/META-INF/MANIFEST.MF @@ -8,11 +8,14 @@ Bundle-Vendor: %providerName Bundle-Localization: plugin Export-Package: org.eclipse.equinox.internal.p2.ui.sdk.scheduler;x-internal:=true, org.eclipse.equinox.internal.p2.ui.sdk.scheduler.migration;x-internal:=true -Require-Bundle: org.eclipse.ui;bundle-version="3.208.0", - org.eclipse.core.runtime;bundle-version="[3.34.200,4)", +Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.34.200,4)", org.eclipse.equinox.p2.updatechecker;bundle-version="[1.4.300,2)", org.eclipse.equinox.p2.ui;bundle-version="[2.5.0,3)", - org.eclipse.equinox.p2.repository;bundle-version="2.3.0" + org.eclipse.equinox.p2.repository;bundle-version="2.3.0", + org.eclipse.e4.ui.workbench;bundle-version="[1.15.0,2.0.0)", + org.eclipse.ui.workbench;bundle-version="[3.131.0,4.0.0)", + org.eclipse.jface;bundle-version="[3.33.0,4.0.0)" +Service-Component: OSGI-INF/org.eclipse.equinox.internal.p2.ui.sdk.scheduler.AutomaticUpdateScheduler.xml Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-ActivationPolicy: lazy Import-Package: org.eclipse.equinox.internal.p2.core.helpers, @@ -31,6 +34,8 @@ Import-Package: org.eclipse.equinox.internal.p2.core.helpers, org.eclipse.equinox.p2.query;version="[2.0.0,3.0.0)", org.eclipse.equinox.p2.ui;version="[2.0.0,3.0.0)", org.eclipse.osgi.util;version="1.1.0", - org.osgi.framework;version="1.6.0" + org.osgi.framework;version="1.6.0", + org.osgi.service.event;version="[1.4.0,2.0.0)", + org.osgi.service.event.propertytypes;version="[1.4.0,2.0.0)" Automatic-Module-Name: org.eclipse.equinox.p2.ui.sdk.scheduler Require-Capability: eclipse.swt;filter:="(image.format=svg)" diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/build.properties b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/build.properties index 2e731c87a9..6f52d24f05 100644 --- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/build.properties +++ b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/build.properties @@ -14,6 +14,7 @@ bin.includes = plugin.properties,\ icons/,\ .,\ + OSGI-INF/,\ about.html,\ META-INF/,\ plugin.xml diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/plugin.xml b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/plugin.xml index 3072ef78b2..5d54a12b64 100644 --- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/plugin.xml +++ b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/plugin.xml @@ -5,11 +5,6 @@ id="preferences" point="org.eclipse.core.runtime.preferences" name="%automaticUpdatesPrefPage"> - - - -