From b3215efb286c1f43e6aafca89a1af369b4353690 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 ++++- .../OSGI-INF/.gitignore | 1 - .../.project | 5 +++++ .../org.eclipse.pde.ds.annotations.prefs | 7 +++++++ .../META-INF/MANIFEST.MF | 17 ++++++++--------- .../build.properties | 1 + .../plugin.xml | 5 ----- .../sdk/scheduler/AutomaticUpdateScheduler.java | 12 +++++++++--- 8 files changed, 34 insertions(+), 19 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 74484d40d3..ab507597ad 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,7 @@ bin/ .META-INF_* pom.tycho .tycho-consumer-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 e3b9b4aa87..eea32efb4d 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,24 +8,23 @@ 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, - org.eclipse.core.runtime, +Require-Bundle: org.eclipse.core.runtime, org.eclipse.equinox.p2.updatechecker, org.eclipse.equinox.p2.ui, - 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-17 Bundle-ActivationPolicy: lazy Import-Package: org.eclipse.equinox.internal.p2.core.helpers, org.eclipse.equinox.internal.p2.engine, - org.eclipse.equinox.internal.p2.engine.phases, org.eclipse.equinox.internal.p2.garbagecollector, org.eclipse.equinox.internal.p2.metadata.query, org.eclipse.equinox.internal.p2.touchpoint.eclipse;version="2.0.0", org.eclipse.equinox.internal.p2.ui, - org.eclipse.equinox.internal.p2.ui.actions, - org.eclipse.equinox.internal.p2.ui.query, org.eclipse.equinox.internal.provisional.p2.core.eventbus, - org.eclipse.equinox.internal.provisional.p2.repository, org.eclipse.equinox.internal.provisional.p2.updatechecker, org.eclipse.equinox.p2.core;version="[2.0.0,3.0.0)", org.eclipse.equinox.p2.engine;version="[2.0.0,3.0.0)", @@ -34,8 +33,8 @@ Import-Package: org.eclipse.equinox.internal.p2.core.helpers, org.eclipse.equinox.p2.operations;version="[2.0.0,3.0.0)", 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.service.resolver;version="1.1.0", org.eclipse.osgi.util;version="1.1.0", org.osgi.framework;version="1.6.0", - org.osgi.service.packageadmin;version="1.2.0" + org.osgi.service.event;version="[1.4.0,2.0.0)", + org.osgi.service.event.propertytypes;version="1.4.0" Automatic-Module-Name: org.eclipse.equinox.p2.ui.sdk.scheduler 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"> - - - -