diff --git a/mps/build/intellij.mps.resources/src/idea/MPSApplicationInfo.xml b/mps/build/intellij.mps.resources/src/idea/MPSApplicationInfo.xml
index b38a184c443c..e1e8be5b2b22 100644
--- a/mps/build/intellij.mps.resources/src/idea/MPSApplicationInfo.xml
+++ b/mps/build/intellij.mps.resources/src/idea/MPSApplicationInfo.xml
@@ -10,5 +10,5 @@
com.intellij.java
com.intellij.java.ide
-
+
diff --git a/platform/core-api/api-dump-unreviewed.txt b/platform/core-api/api-dump-unreviewed.txt
index 6e0efc4b8286..11bfe05dd37b 100644
--- a/platform/core-api/api-dump-unreviewed.txt
+++ b/platform/core-api/api-dump-unreviewed.txt
@@ -584,8 +584,6 @@ a:com.intellij.openapi.application.ApplicationInfo
- getSplashImageUrl():java.lang.String
- a:getStrictVersion():java.lang.String
- a:getVersionName():java.lang.String
-- a:hasContextHelp():Z
-- a:hasHelp():Z
- s:helpAvailable():Z
- isEAP():Z
c:com.intellij.openapi.application.ApplicationManager
diff --git a/platform/core-api/api-dump.txt b/platform/core-api/api-dump.txt
index b68db44cf260..314514b98e83 100644
--- a/platform/core-api/api-dump.txt
+++ b/platform/core-api/api-dump.txt
@@ -433,6 +433,9 @@ com.intellij.openapi.application.Application
- a:runWriteAction(com.intellij.openapi.util.ThrowableComputable):java.lang.Object
- a:runWriteAction(java.lang.Runnable):V
- a:saveSettings():V
+a:com.intellij.openapi.application.ApplicationInfo
+- hasContextHelp():Z
+- hasHelp():Z
com.intellij.openapi.application.ApplicationListener
- java.util.EventListener
- afterWriteActionFinished(java.lang.Object):V
diff --git a/platform/core-api/src/com/intellij/openapi/application/ApplicationInfo.java b/platform/core-api/src/com/intellij/openapi/application/ApplicationInfo.java
index 40043b688495..97b27f7b50a3 100644
--- a/platform/core-api/src/com/intellij/openapi/application/ApplicationInfo.java
+++ b/platform/core-api/src/com/intellij/openapi/application/ApplicationInfo.java
@@ -1,7 +1,6 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.openapi.application;
-import com.intellij.diagnostic.LoadingState;
import com.intellij.openapi.extensions.PluginId;
import com.intellij.openapi.util.BuildNumber;
import com.intellij.openapi.util.NlsSafe;
@@ -87,9 +86,19 @@ public abstract class ApplicationInfo {
public abstract String getCompanyURL();
- public abstract boolean hasHelp();
+ /** @deprecated always {@code true} */
+ @Deprecated
+ @ApiStatus.ScheduledForRemoval
+ public boolean hasHelp() {
+ return true;
+ }
- public abstract boolean hasContextHelp();
+ /** @deprecated always {@code true} */
+ @Deprecated
+ @ApiStatus.ScheduledForRemoval
+ public boolean hasContextHelp() {
+ return true;
+ }
public abstract @NlsSafe @NotNull String getFullVersion();
@@ -102,20 +111,18 @@ public abstract class ApplicationInfo {
public abstract @NlsSafe @NotNull String getStrictVersion();
+ /** @deprecated always {@code true} */
+ @Deprecated
+ @ApiStatus.ScheduledForRemoval
public static boolean helpAvailable() {
- if (!LoadingState.COMPONENTS_LOADED.isOccurred()) {
- return false;
- }
- ApplicationInfo info = getInstance();
- return info != null && info.hasHelp();
+ return true;
}
+ /** @deprecated always {@code true} */
+ @Deprecated
+ @ApiStatus.ScheduledForRemoval
public static boolean contextHelpAvailable() {
- if (!LoadingState.COMPONENTS_LOADED.isOccurred()) {
- return false;
- }
- ApplicationInfo info = getInstance();
- return info != null && info.hasContextHelp();
+ return true;
}
public boolean isEAP() {
diff --git a/platform/core-impl/src/com/intellij/openapi/application/ex/ApplicationInfoEx.java b/platform/core-impl/src/com/intellij/openapi/application/ex/ApplicationInfoEx.java
index 935ba630e040..d3470028dd1a 100644
--- a/platform/core-impl/src/com/intellij/openapi/application/ex/ApplicationInfoEx.java
+++ b/platform/core-impl/src/com/intellij/openapi/application/ex/ApplicationInfoEx.java
@@ -48,82 +48,6 @@ public abstract class ApplicationInfoEx extends ApplicationInfo {
@ApiStatus.Internal
public abstract @Nullable String getFullIdeProductCode();
- /**
- * @deprecated use {@link com.intellij.platform.ide.customization.ExternalProductResourceUrls#getDownloadPageUrl()} instead
- */
- @ApiStatus.Internal
- @ApiStatus.ScheduledForRemoval
- @Deprecated
- public final @Nullable String getDownloadUrl() {
- String productUrl = getProductUrl();
- return productUrl != null ? productUrl + "download/" : null;
- }
-
- /**
- * @deprecated use properties from {@link com.intellij.platform.ide.customization.ExternalProductResourceUrls} instead
- */
- @ApiStatus.Internal
- @ApiStatus.ScheduledForRemoval
- @Deprecated
- public @Nullable String getProductUrl() {
- return null;
- }
-
- /**
- * @deprecated use {@link com.intellij.platform.ide.customization.ExternalProductResourceUrls#getYouTubeChannelUrl()} instead
- */
- @ApiStatus.Internal
- @ApiStatus.ScheduledForRemoval
- @Deprecated
- public @Nullable String getJetBrainsTvUrl() {
- return null;
- }
-
- @ApiStatus.Internal
- public @Nullable UpdateUrls getUpdateUrls() {
- return null;
- }
-
- /**
- * @deprecated use {@link com.intellij.platform.ide.customization.ExternalProductResourceUrls#getGettingStartedPageUrl()} instead
- */
- @ApiStatus.Internal
- @ApiStatus.ScheduledForRemoval
- @Deprecated
- public @Nullable String getDocumentationUrl() {
- return null;
- }
-
- /**
- * @deprecated use {@link com.intellij.platform.ide.customization.ExternalProductResourceUrls#getTechnicalSupportUrl()} instead
- */
- @ApiStatus.Internal
- @ApiStatus.ScheduledForRemoval
- @Deprecated
- public @Nullable String getSupportUrl() {
- return null;
- }
-
- /**
- * @deprecated use {@link com.intellij.platform.ide.customization.ExternalProductResourceUrls#getBugReportUrl()} instead
- */
- @ApiStatus.Internal
- @ApiStatus.ScheduledForRemoval
- @Deprecated
- public @Nullable String getYoutrackUrl() {
- return null;
- }
-
- /**
- * @deprecated use {@link com.intellij.platform.ide.customization.ExternalProductResourceUrls#getFeedbackReporter()} instead
- */
- @ApiStatus.Internal
- @ApiStatus.ScheduledForRemoval
- @Deprecated
- public @Nullable String getFeedbackUrl() {
- return null;
- }
-
/**
* Returns URL to plugins repository without a trailing slash.
*/
@@ -135,85 +59,6 @@ public abstract class ApplicationInfoEx extends ApplicationInfo {
public abstract @NotNull String getPluginDownloadUrl();
- /**
- * @deprecated use {@link com.intellij.ide.plugins.RepositoryHelper#CUSTOM_BUILT_IN_PLUGIN_REPOSITORY_PROPERTY} system property to pass
- * URL of the built-in custom plugin repository instead
- */
- @SuppressWarnings("DeprecatedIsStillUsed")
- @ApiStatus.Internal
- @ApiStatus.ScheduledForRemoval
- @Deprecated
- public @Nullable String getBuiltinPluginsUrl() {
- return null;
- }
-
- /**
- * @deprecated use {@link com.intellij.platform.ide.customization.ExternalProductResourceUrls#getHelpPageUrl()} instead
- */
- @ApiStatus.Internal
- @ApiStatus.ScheduledForRemoval
- @Deprecated
- public @Nullable String getWebHelpUrl() {
- return null;
- }
-
- /**
- * @deprecated use {@link com.intellij.platform.ide.customization.ExternalProductResourceUrls#getWhatIsNewPageUrl()} instead
- */
- @ApiStatus.Internal
- @ApiStatus.ScheduledForRemoval
- @Deprecated
- public @Nullable String getWhatsNewUrl() {
- return null;
- }
-
- /**
- * @deprecated use {@link com.intellij.ide.actions.WhatsNewUtil#isWhatsNewAvailable()} instead
- */
- @ApiStatus.Internal
- @ApiStatus.ScheduledForRemoval
- @Deprecated
- public boolean isShowWhatsNewOnUpdate() {
- return false;
- }
-
- /**
- * @deprecated use {@link com.intellij.platform.ide.customization.ExternalProductResourceUrls#getKeyboardShortcutsPdfUrl()} instead
- */
- @ApiStatus.Internal
- @ApiStatus.ScheduledForRemoval
- @Deprecated
- public @Nullable String getWinKeymapUrl() {
- return null;
- }
-
- /**
- * @deprecated use {@link com.intellij.platform.ide.customization.ExternalProductResourceUrls#getKeyboardShortcutsPdfUrl()} instead
- */
- @ApiStatus.Internal
- @ApiStatus.ScheduledForRemoval
- @Deprecated
- public @Nullable String getMacKeymapUrl() {
- return null;
- }
-
- @ApiStatus.Internal
- public interface UpdateUrls {
- /**
- * @deprecated use {@link com.intellij.platform.ide.customization.ExternalProductResourceUrls#getUpdateMetadataUrl()} instead
- */
- @ApiStatus.ScheduledForRemoval
- @Deprecated
- String getCheckingUrl();
-
- /**
- * @deprecated use {@link com.intellij.platform.ide.customization.ExternalProductResourceUrls#computePatchUrl} instead
- */
- @ApiStatus.ScheduledForRemoval
- @Deprecated
- String getPatchesUrl();
- }
-
public abstract String getSubscriptionFormId();
public abstract boolean areSubscriptionTipsAvailable();
diff --git a/platform/core-impl/src/com/intellij/openapi/application/impl/ApplicationInfoImpl.java b/platform/core-impl/src/com/intellij/openapi/application/impl/ApplicationInfoImpl.java
index 70b5efb9cad7..d67c6dc9e579 100644
--- a/platform/core-impl/src/com/intellij/openapi/application/impl/ApplicationInfoImpl.java
+++ b/platform/core-impl/src/com/intellij/openapi/application/impl/ApplicationInfoImpl.java
@@ -32,7 +32,8 @@ import java.util.Calendar;
import java.util.Collections;
import java.util.GregorianCalendar;
import java.util.List;
-import java.util.Objects;
+
+import static java.util.Objects.requireNonNull;
/**
* Provides access to content of *ApplicationInfo.xml file.
@@ -81,26 +82,11 @@ public final class ApplicationInfoImpl extends ApplicationInfoEx {
private ZonedDateTime buildTime;
private ZonedDateTime majorReleaseBuildDate;
- private String myProductUrl;
- private UpdateUrls myUpdateUrls;
- private String myDocumentationUrl;
- private String mySupportUrl;
- private String myYoutrackUrl;
- private String myFeedbackUrl;
private String myPluginManagerUrl;
private String myPluginsListUrl;
private String pluginDownloadUrl;
- private String myBuiltinPluginsUrl;
- private String myWhatsNewUrl;
- private boolean myShowWhatsNewOnUpdate;
- private String myWinKeymapUrl;
- private String myMacKeymapUrl;
private boolean isEap;
- private boolean myHasHelp = true;
- private boolean myHasContextHelp = true;
- private String myWebHelpUrl = "https://www.jetbrains.com/idea/webhelp/";
private final List essentialPluginIds = new ArrayList<>();
- private String myJetBrainsTvUrl;
private String mySubscriptionFormId;
private boolean mySubscriptionTipsAvailable;
@@ -182,67 +168,11 @@ public final class ApplicationInfoImpl extends ApplicationInfoEx {
}
break;
- case "productUrl": {
- myProductUrl = child.getAttributeValue("url");
- }
- break;
-
- case "help": {
- String webHelpUrl = getAttributeValue(child, "webhelp-url");
- if (webHelpUrl != null) {
- myWebHelpUrl = webHelpUrl;
- }
-
- String attValue = child.getAttributeValue("has-help");
- myHasHelp = attValue == null || Boolean.parseBoolean(attValue); // Default is true
-
- attValue = child.getAttributeValue("has-context-help");
- myHasContextHelp = attValue == null || Boolean.parseBoolean(attValue); // Default is true
- }
- break;
-
- case "update-urls": {
- myUpdateUrls = new UpdateUrlsImpl(child);
- }
- break;
-
- case "documentation": {
- myDocumentationUrl = child.getAttributeValue("url");
- }
- break;
-
- case "support": {
- mySupportUrl = child.getAttributeValue("url");
- }
- break;
-
- case "youtrack": {
- myYoutrackUrl = child.getAttributeValue("url");
- }
- break;
-
- case "feedback": {
- myFeedbackUrl = child.getAttributeValue("url");
- }
- break;
-
- case "whatsnew": {
- myWhatsNewUrl = child.getAttributeValue("url");
- myShowWhatsNewOnUpdate = Boolean.parseBoolean(child.getAttributeValue("show-on-update"));
- }
- break;
-
case "plugins": {
readPluginInfo(child);
}
break;
- case "keymap": {
- myWinKeymapUrl = child.getAttributeValue("win");
- myMacKeymapUrl = child.getAttributeValue("mac");
- }
- break;
-
case "essential-plugin": {
String id = child.content;
if (id != null && !id.isEmpty()) {
@@ -251,11 +181,6 @@ public final class ApplicationInfoImpl extends ApplicationInfoEx {
}
break;
- case "jetbrains-tv": {
- myJetBrainsTvUrl = child.getAttributeValue("url");
- }
- break;
-
case "subscriptions": {
//noinspection SpellCheckingInspection
mySubscriptionFormId = child.getAttributeValue("formid");
@@ -293,21 +218,12 @@ public final class ApplicationInfoImpl extends ApplicationInfoEx {
readPluginInfo(null);
}
- Objects.requireNonNull(svgIconUrl, "Missing attribute: //icon@svg");
- Objects.requireNonNull(mySmallSvgIconUrl, "Missing attribute: //icon@svg-small");
-
- overrideFromProperties();
+ requireNonNull(svgIconUrl, "Missing attribute: //icon@svg");
+ requireNonNull(mySmallSvgIconUrl, "Missing attribute: //icon@svg-small");
essentialPluginIds.sort(null);
}
- private void overrideFromProperties() {
- String youTrackUrlOverride = System.getProperty("application.info.youtrack.url");
- if (youTrackUrlOverride != null) {
- myYoutrackUrl = youTrackUrlOverride;
- }
- }
-
public static @NotNull ApplicationInfoEx getShadowInstance() {
return getShadowInstanceImpl();
}
@@ -366,7 +282,7 @@ public final class ApplicationInfoImpl extends ApplicationInfoEx {
@Override
public @NotNull BuildNumber getBuild() {
- return Objects.requireNonNull(BuildNumber.fromString(myBuildNumber));
+ return requireNonNull(BuildNumber.fromString(myBuildNumber));
}
@Override
@@ -382,17 +298,9 @@ public final class ApplicationInfoImpl extends ApplicationInfoEx {
@Override
public @NotNull BuildNumber getApiVersionAsNumber() {
BuildNumber build = getBuild();
- if (LOG.isDebugEnabled()) {
- LOG.debug("getApiVersionAsNumber: build=" + build.asString());
- }
if (myApiVersion != null) {
- if (LOG.isDebugEnabled()) {
- LOG.debug("getApiVersionAsNumber: myApiVersion=" + build.asString());
- }
BuildNumber api = BuildNumber.fromStringWithProductCode(myApiVersion, build.getProductCode());
- if (api != null) {
- return api;
- }
+ if (api != null) return api;
}
return build;
}
@@ -527,36 +435,6 @@ public final class ApplicationInfoImpl extends ApplicationInfoEx {
return System.getProperty("intellij.platform.full.ide.product.code");
}
- @Override
- public String getProductUrl() {
- return myProductUrl;
- }
-
- @Override
- public @Nullable UpdateUrls getUpdateUrls() {
- return myUpdateUrls;
- }
-
- @Override
- public String getDocumentationUrl() {
- return myDocumentationUrl;
- }
-
- @Override
- public String getSupportUrl() {
- return mySupportUrl;
- }
-
- @Override
- public String getYoutrackUrl() {
- return myYoutrackUrl;
- }
-
- @Override
- public String getFeedbackUrl() {
- return myFeedbackUrl;
- }
-
@Override
public @NotNull String getPluginManagerUrl() {
return myPluginManagerUrl;
@@ -577,46 +455,6 @@ public final class ApplicationInfoImpl extends ApplicationInfoEx {
return pluginDownloadUrl;
}
- @Override
- public String getBuiltinPluginsUrl() {
- return myBuiltinPluginsUrl;
- }
-
- @Override
- public String getWebHelpUrl() {
- return myWebHelpUrl;
- }
-
- @Override
- public boolean hasHelp() {
- return myHasHelp;
- }
-
- @Override
- public boolean hasContextHelp() {
- return myHasContextHelp;
- }
-
- @Override
- public String getWhatsNewUrl() {
- return myWhatsNewUrl;
- }
-
- @Override
- public boolean isShowWhatsNewOnUpdate() {
- return myShowWhatsNewOnUpdate;
- }
-
- @Override
- public String getWinKeymapUrl() {
- return myWinKeymapUrl;
- }
-
- @Override
- public String getMacKeymapUrl() {
- return myMacKeymapUrl;
- }
-
@Override
public String getFullApplicationName() {
return getVersionName() + " " + getFullVersion();
@@ -627,11 +465,6 @@ public final class ApplicationInfoImpl extends ApplicationInfoEx {
return myCopyrightStart;
}
- @Override
- public String getJetBrainsTvUrl() {
- return myJetBrainsTvUrl;
- }
-
@Override
public String getSubscriptionFormId() {
return mySubscriptionFormId;
@@ -656,7 +489,7 @@ public final class ApplicationInfoImpl extends ApplicationInfoEx {
LOG.debug("getPluginsCompatibleBuildAsNumber: version=" + version.asString());
}
BuildNumber buildNumber = BuildNumber.fromStringWithProductCode(version.asString(), getBuild().getProductCode());
- return Objects.requireNonNull(buildNumber);
+ return requireNonNull(buildNumber);
}
private static @Nullable String getAttributeValue(XmlElement element, String name) {
@@ -700,11 +533,6 @@ public final class ApplicationInfoImpl extends ApplicationInfoEx {
if (downloadUrl != null) {
pluginDownloadUrl = downloadUrl;
}
-
- String builtinPluginsUrl = element.getAttributeValue("builtin-url");
- if (builtinPluginsUrl != null && !builtinPluginsUrl.isEmpty()) {
- myBuiltinPluginsUrl = builtinPluginsUrl;
- }
}
String pluginHost = System.getProperty(IDEA_PLUGINS_HOST_PROPERTY);
@@ -721,7 +549,6 @@ public final class ApplicationInfoImpl extends ApplicationInfoEx {
}
// copy of ApplicationInfoProperties.shortenCompanyName
- @SuppressWarnings("SSBasedInspection")
private static String shortenCompanyName(String name) {
if (name.endsWith(" s.r.o.")) name = name.substring(0, name.length() - " s.r.o.".length());
if (name.endsWith(" Inc.")) name = name.substring(0, name.length() - " Inc.".length());
@@ -800,26 +627,6 @@ public final class ApplicationInfoImpl extends ApplicationInfoEx {
return simplifiedSplashImageUrl != null;
}
- private static final class UpdateUrlsImpl implements UpdateUrls {
- private final String myCheckingUrl;
- private final String myPatchesUrl;
-
- private UpdateUrlsImpl(XmlElement element) {
- myCheckingUrl = element.getAttributeValue("check");
- myPatchesUrl = element.getAttributeValue("patches");
- }
-
- @Override
- public String getCheckingUrl() {
- return myCheckingUrl;
- }
-
- @Override
- public String getPatchesUrl() {
- return myPatchesUrl;
- }
- }
-
/** @deprecated Use {@link ApplicationManagerEx#isInStressTest} */
@Deprecated
@ApiStatus.ScheduledForRemoval
diff --git a/platform/platform-impl/src/com/intellij/ide/actions/WhatsNewUtil.java b/platform/platform-impl/src/com/intellij/ide/actions/WhatsNewUtil.java
index e555541f9db0..a68d0aac7932 100644
--- a/platform/platform-impl/src/com/intellij/ide/actions/WhatsNewUtil.java
+++ b/platform/platform-impl/src/com/intellij/ide/actions/WhatsNewUtil.java
@@ -2,7 +2,6 @@
package com.intellij.ide.actions;
import com.intellij.idea.AppMode;
-import com.intellij.openapi.application.ex.ApplicationInfoEx;
import com.intellij.openapi.updateSettings.UpdateStrategyCustomization;
import com.intellij.platform.ide.customization.ExternalProductResourceUrls;
import org.jetbrains.annotations.ApiStatus;
@@ -11,8 +10,8 @@ import org.jetbrains.annotations.ApiStatus;
public final class WhatsNewUtil {
@ApiStatus.Internal
public static boolean isWhatsNewAvailable() {
- return (UpdateStrategyCustomization.getInstance().getShowWhatIsNewPageAfterUpdate() || ApplicationInfoEx.getInstanceEx().isShowWhatsNewOnUpdate())
+ return UpdateStrategyCustomization.getInstance().getShowWhatIsNewPageAfterUpdate()
&& ExternalProductResourceUrls.getInstance().getWhatIsNewPageUrl() != null
&& !AppMode.isRemoteDevHost();
}
-}
\ No newline at end of file
+}
diff --git a/platform/platform-impl/src/com/intellij/ide/plugins/RepositoryHelper.java b/platform/platform-impl/src/com/intellij/ide/plugins/RepositoryHelper.java
index c922ea67498d..d8a04a1a29d8 100644
--- a/platform/platform-impl/src/com/intellij/ide/plugins/RepositoryHelper.java
+++ b/platform/platform-impl/src/com/intellij/ide/plugins/RepositoryHelper.java
@@ -10,7 +10,6 @@ import com.intellij.ide.plugins.newui.PluginUiModel;
import com.intellij.ide.plugins.newui.PluginUiModelAdapter;
import com.intellij.ide.plugins.newui.PluginUiModelBuilderFactory;
import com.intellij.openapi.application.PathManager;
-import com.intellij.openapi.application.ex.ApplicationInfoEx;
import com.intellij.openapi.application.impl.ApplicationInfoImpl;
import com.intellij.openapi.components.impl.stores.ComponentStorageUtil;
import com.intellij.openapi.diagnostic.Logger;
@@ -55,7 +54,7 @@ public final class RepositoryHelper {
/** Duplicates VmOptionsGenerator.CUSTOM_BUILT_IN_PLUGIN_REPOSITORY_PROPERTY */
private static final String CUSTOM_BUILT_IN_PLUGIN_REPOSITORY_PROPERTY = "intellij.plugins.custom.built.in.repository.url";
- @SuppressWarnings("SpellCheckingInspection") private static final String PLUGIN_LIST_FILE = "availables.xml";
+ private static final String PLUGIN_LIST_FILE = "availables.xml";
/**
* Returns a list of configured custom plugin repository hosts.
@@ -70,12 +69,7 @@ public final class RepositoryHelper {
hosts.addAll(UpdateSettingsProvider.getRepositoriesFromProviders());
- @SuppressWarnings("deprecation") var pluginsUrl = ApplicationInfoEx.getInstanceEx().getBuiltinPluginsUrl();
- if (pluginsUrl != null && !"__BUILTIN_PLUGINS_URL__".equals(pluginsUrl)) {
- hosts.add(pluginsUrl);
- }
-
- pluginsUrl = System.getProperty(CUSTOM_BUILT_IN_PLUGIN_REPOSITORY_PROPERTY);
+ var pluginsUrl = System.getProperty(CUSTOM_BUILT_IN_PLUGIN_REPOSITORY_PROPERTY);
if (pluginsUrl != null) {
hosts.addAll(Arrays.asList(pluginsUrl.split(",")));
}
@@ -197,7 +191,9 @@ public final class RepositoryHelper {
if (model.getName() == null) {
var url = model.getDownloadUrl();
- model.setName(FileUtilRt.getNameWithoutExtension(url.substring(url.lastIndexOf('/') + 1)));
+ if (url != null) {
+ model.setName(FileUtilRt.getNameWithoutExtension(url.substring(url.lastIndexOf('/') + 1)));
+ }
}
var previous = result.get(pluginId);
@@ -235,6 +231,7 @@ public final class RepositoryHelper {
@ApiStatus.Internal
@Deprecated(forRemoval = true)
+ @SuppressWarnings("DeprecatedIsStillUsed")
public static @NotNull Collection mergePluginsFromRepositories(
@NotNull List marketplacePlugins,
@NotNull List customPlugins,
@@ -305,7 +302,7 @@ public final class RepositoryHelper {
* Looks for the given plugins in the Marketplace and custom repositories. Only compatible plugins are returned.
*/
public static @NotNull Collection loadPlugins(@NotNull Set pluginIds) {
- var mpPlugins = MarketplaceRequests.loadLastCompatiblePluginDescriptors(pluginIds);
+ @SuppressWarnings("deprecation") var mpPlugins = MarketplaceRequests.loadLastCompatiblePluginDescriptors(pluginIds);
var customPlugins = loadPluginsFromCustomRepositories(null).stream().filter(p -> pluginIds.contains(p.getPluginId())).toList();
return mergePluginsFromRepositories(mpPlugins, customPlugins, true);
}
diff --git a/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationInfoServiceDelegate.kt b/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationInfoServiceDelegate.kt
index 8a0d7ec0fd2c..4eabe49f6398 100644
--- a/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationInfoServiceDelegate.kt
+++ b/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationInfoServiceDelegate.kt
@@ -24,10 +24,6 @@ internal class ApplicationInfoServiceDelegate : ApplicationInfoEx() {
override fun getCompanyName(): String? = delegate.companyName
override fun getShortCompanyName(): String? = delegate.shortCompanyName
override fun getCompanyURL(): String? = delegate.companyURL
- override fun getProductUrl(): String? = delegate.productUrl
- override fun getJetBrainsTvUrl(): String? = delegate.jetBrainsTvUrl
- override fun hasHelp(): Boolean = delegate.hasHelp()
- override fun hasContextHelp(): Boolean = delegate.hasContextHelp()
override fun getFullVersion(): String = delegate.fullVersion
override fun getStrictVersion(): String = delegate.strictVersion
override fun getFullApplicationName(): String? = delegate.fullApplicationName
@@ -38,21 +34,10 @@ internal class ApplicationInfoServiceDelegate : ApplicationInfoEx() {
override fun isMajorEAP(): Boolean = delegate.isMajorEAP()
override fun isPreview(): Boolean = delegate.isPreview()
override fun getFullIdeProductCode(): String? = delegate.fullIdeProductCode
- override fun getUpdateUrls(): UpdateUrls? = delegate.updateUrls
- override fun getDocumentationUrl(): String? = delegate.documentationUrl
- override fun getSupportUrl(): String? = delegate.supportUrl
- override fun getYoutrackUrl(): String? = delegate.youtrackUrl
- override fun getFeedbackUrl(): String? = delegate.feedbackUrl
override fun getPluginManagerUrl(): String = delegate.pluginManagerUrl
override fun usesJetBrainsPluginRepository(): Boolean = delegate.usesJetBrainsPluginRepository()
override fun getPluginsListUrl(): String = delegate.pluginsListUrl
override fun getPluginDownloadUrl(): String = delegate.pluginDownloadUrl
- override fun getBuiltinPluginsUrl(): String? = delegate.builtinPluginsUrl
- override fun getWebHelpUrl(): String? = delegate.webHelpUrl
- override fun getWhatsNewUrl(): String? = delegate.whatsNewUrl
- override fun isShowWhatsNewOnUpdate(): Boolean = delegate.isShowWhatsNewOnUpdate()
- override fun getWinKeymapUrl(): String? = delegate.winKeymapUrl
- override fun getMacKeymapUrl(): String? = delegate.macKeymapUrl
override fun isEssentialPlugin(pluginId: String): Boolean = delegate.isEssentialPlugin(pluginId)
override fun isEssentialPlugin(pluginId: PluginId): Boolean = delegate.isEssentialPlugin(pluginId)
override fun getSubscriptionFormId(): String? = delegate.subscriptionFormId
@@ -66,4 +51,4 @@ internal class ApplicationInfoServiceDelegate : ApplicationInfoEx() {
override fun isEAP(): Boolean = delegate.isEAP
override fun getSplashImageUrl(): String? = delegate.splashImageUrl
override fun isSimplifiedSplashSupported(): Boolean = delegate.isSimplifiedSplashSupported
-}
\ No newline at end of file
+}
diff --git a/platform/platform-impl/src/com/intellij/platform/ide/impl/customization/LegacyExternalProductResourceUrls.kt b/platform/platform-impl/src/com/intellij/platform/ide/impl/customization/LegacyExternalProductResourceUrls.kt
index d5532bb09e08..b94854d450eb 100644
--- a/platform/platform-impl/src/com/intellij/platform/ide/impl/customization/LegacyExternalProductResourceUrls.kt
+++ b/platform/platform-impl/src/com/intellij/platform/ide/impl/customization/LegacyExternalProductResourceUrls.kt
@@ -1,20 +1,11 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.platform.ide.impl.customization
-import com.intellij.openapi.application.ApplicationInfo
-import com.intellij.openapi.application.ex.ApplicationInfoEx
import com.intellij.openapi.diagnostic.thisLogger
-import com.intellij.openapi.updateSettings.impl.UpdateRequestParametersProvider
import com.intellij.openapi.util.BuildNumber
-import com.intellij.openapi.util.SystemInfo
import com.intellij.platform.ide.customization.ExternalProductResourceUrls
-import com.intellij.platform.ide.customization.FeedbackReporter
-import com.intellij.ui.LicensingFacade
import com.intellij.util.Url
-import com.intellij.util.Urls
-import com.intellij.util.io.URLUtil
import org.jetbrains.annotations.ApiStatus
-import java.util.regex.Pattern
@ApiStatus.Internal
@Suppress("DEPRECATION")
@@ -28,94 +19,6 @@ class LegacyExternalProductResourceUrls : ExternalProductResourceUrls {
|""".trimMargin())
}
- override val updateMetadataUrl: Url?
- get() {
- val customUrl = System.getProperty("idea.updates.url")
- if (customUrl != null) {
- return Urls.newFromEncoded(customUrl)
- }
- val baseUrl = ApplicationInfoEx.getInstanceEx().updateUrls?.checkingUrl ?: return null
- return UpdateRequestParametersProvider.passUpdateParameters(Urls.newFromEncoded(baseUrl))
- }
-
- override fun computePatchUrl(from: BuildNumber, to: BuildNumber): Url? {
- val customUrl = computeCustomPatchDownloadUrl(from, to)
- if (customUrl != null) {
- return customUrl
- }
- val baseUrl = ApplicationInfoEx.getInstanceEx().updateUrls?.patchesUrl ?: return null
- return Urls.newFromEncoded(baseUrl).resolve(computePatchFileName(from, to))
- }
-
- override val bugReportUrl: ((String) -> Url)?
- get() {
- val youtrackUrl = ApplicationInfoEx.getInstanceEx().youtrackUrl ?: return null
- return { description -> Urls.newFromEncoded(youtrackUrl.replace("\$DESCR", URLUtil.encodeURIComponent(description))) }
- }
-
- override val technicalSupportUrl: ((description: String) -> Url)?
- get() {
- val urlTemplate = ApplicationInfoEx.getInstanceEx().supportUrl ?: return null
- return { _ ->
- val url = urlTemplate
- .replace("\$BUILD", ApplicationInfo.getInstance().getBuild().asStringWithoutProductCode())
- .replace("\$OS", currentOsNameForIntelliJSupport())
- .replace("\$TIMEZONE", System.getProperty("user.timezone"))
- Urls.newFromEncoded(url)
- }
- }
-
- override val feedbackReporter: FeedbackReporter?
- get() {
- val urlTemplate = ApplicationInfoEx.getInstanceEx().feedbackUrl ?: return null
- return object : FeedbackReporter {
- override val destinationDescription: String
- get() {
- val uriPattern = Pattern.compile("[^:/?#]+://(?:www\\.)?([^/?#]*).*", Pattern.DOTALL)
- val matcher = uriPattern.matcher(urlTemplate)
- return if (matcher.matches()) matcher.group(1) else ApplicationInfo.getInstance().companyName
- }
-
- override fun feedbackFormUrl(description: String): Url {
- val appInfo = ApplicationInfoEx.getInstanceEx()
- val build = appInfo.getBuild()
- val url = urlTemplate
- .replace("\$BUILD", URLUtil.encodeURIComponent(if (appInfo.isEAP) build.asStringWithoutProductCode() else build.asString()))
- .replace("\$TIMEZONE", URLUtil.encodeURIComponent(System.getProperty("user.timezone", "")))
- .replace("\$VERSION", URLUtil.encodeURIComponent(appInfo.getFullVersion()))
- .replace("\$EVAL", URLUtil.encodeURIComponent((LicensingFacade.getInstance()?.isEvaluationLicense == true).toString()))
- .replace("\$DESCR", URLUtil.encodeURIComponent(description))
- return Urls.newFromEncoded(url)
- }
- }
- }
-
- override val downloadPageUrl: Url?
- get() = ApplicationInfoEx.getInstanceEx().downloadUrl?.let { Urls.newFromEncoded(it) }
-
- override val youTubeChannelUrl: Url?
- get() = ApplicationInfoEx.getInstanceEx().jetBrainsTvUrl?.let { Urls.newFromEncoded(it) }
-
- override val keyboardShortcutsPdfUrl: Url?
- get() {
- val appInfo = ApplicationInfoEx.getInstanceEx()
- val url = if (SystemInfo.isMac) appInfo.getMacKeymapUrl() else appInfo.getWinKeymapUrl()
- return url?.let { Urls.newFromEncoded(url) }
- }
-
- override val whatIsNewPageUrl: Url?
- get() = ApplicationInfoEx.getInstanceEx().whatsNewUrl?.let { Urls.newFromEncoded(it) }
-
- override val gettingStartedPageUrl: Url?
- get() = ApplicationInfoEx.getInstanceEx().documentationUrl?.let { Urls.newFromEncoded(it) }
-
- override val helpPageUrl: ((topicId: String) -> Url)?
- get() {
- val baseHelpUrl = ApplicationInfoEx.getInstanceEx().webHelpUrl ?: return null
- return { topicId ->
- Urls.newFromEncoded(baseHelpUrl).resolve("${ApplicationInfo.getInstance().shortVersion}/").addParameters(mapOf(
- topicId to ""
- ))
- }
- }
-}
\ No newline at end of file
+ override val updateMetadataUrl: Url? = null
+ override fun computePatchUrl(from: BuildNumber, to: BuildNumber): Url? = null
+}
diff --git a/platform/platform-resources/src/idea/ApplicationInfo.xsd b/platform/platform-resources/src/idea/ApplicationInfo.xsd
index 96802b62ddbe..f6922c3a18de 100644
--- a/platform/platform-resources/src/idea/ApplicationInfo.xsd
+++ b/platform/platform-resources/src/idea/ApplicationInfo.xsd
@@ -14,13 +14,6 @@
-
-
-
- Deprecated: override ExternalProductResourceUrls.downloadPageUrl instead.
-
-
-
@@ -30,45 +23,6 @@
-
-
-
-
-
- Deprecated: override ExternalProductResourceUrls.gettingStartedPageUrl instead.
-
-
-
-
-
-
- Deprecated: override ExternalProductResourceUrls.technicalSupportUrl instead.
-
-
-
-
-
-
- Deprecated: override ExternalProductResourceUrls.bugReportUrl instead.
-
-
-
-
-
-
-
-
- Deprecated: override ExternalProductResourceUrls.keyboardShortcutsPdfUrl instead.
-
-
-
-
-
-
- Deprecated: override ExternalProductResourceUrls.youTubeChannelUrl instead.
-
-
-
@@ -134,9 +88,6 @@
-
-
-
@@ -267,52 +218,9 @@
-
-
-
-
- Deprecated: override ExternalProductResourceUrls.helpPageUrl instead.
-
-
-
-
-
-
-
-
-
-
- Deprecated: override ExternalProductResourceUrls.updateMetadataUrl instead.
-
-
-
-
-
-
- Deprecated: override ExternalProductResourceUrls.computePatchUrl instead.
-
-
-
-
-
-
-
-
- Deprecated: override ExternalProductResourceUrls.whatIsNewPageUrl instead.
-
-
-
-
-
-
- Deprecated: override UpdateStrategyCustomization.showWhatIsNewPageAfterUpdate instead.
-
-
-
-
@@ -323,18 +231,6 @@
-
-
-
- Deprecated since 2023.3.
- Use 'intellij.plugins.custom.built.in.repository.url' system property to pass URL of built-in custom plugin repository instead.
-
-
-
-
-
-
-
@@ -346,18 +242,4 @@
-
-
-
-
- Deprecated: override FeedbackReporter.feedbackFormUrl instead.
-
-
-
-
-
-
-
-
-
diff --git a/platform/whatsNew/src/com/intellij/platform/whatsNew/WhatsNewShowOnStartCheckService.kt b/platform/whatsNew/src/com/intellij/platform/whatsNew/WhatsNewShowOnStartCheckService.kt
index 329ded33a87e..1020b8406b16 100644
--- a/platform/whatsNew/src/com/intellij/platform/whatsNew/WhatsNewShowOnStartCheckService.kt
+++ b/platform/whatsNew/src/com/intellij/platform/whatsNew/WhatsNewShowOnStartCheckService.kt
@@ -7,7 +7,6 @@ import com.intellij.ide.actions.WhatsNewUtil
import com.intellij.idea.AppMode
import com.intellij.internal.performanceTests.ProjectInitializationDiagnosticService
import com.intellij.openapi.actionSystem.ActionManager
-import com.intellij.openapi.application.ex.ApplicationInfoEx
import com.intellij.openapi.client.ClientKind
import com.intellij.openapi.client.ClientSessionsManager
import com.intellij.openapi.components.Service
@@ -51,17 +50,10 @@ private class WhatsNewEnvironmentAccessorImpl : WhatsNewEnvironmentAccessor {
override fun isDefaultWhatsNewEnabledAndReadyToShow(): Boolean {
val updateStrategyCustomization = UpdateStrategyCustomization.getInstance()
val enabledModernWay = updateStrategyCustomization.showWhatIsNewPageAfterUpdate
- @Suppress("DEPRECATION") val enabledLegacyWay = ApplicationInfoEx.getInstanceEx().isShowWhatsNewOnUpdate
- if (enabledModernWay || enabledLegacyWay) {
+ if (enabledModernWay) {
val problem = "This could lead to issues with the Vision-based What's New. Mixing of web-based and Vision-based What's New is not supported."
- if (enabledModernWay) {
- logger.error("${updateStrategyCustomization.javaClass}'s showWhatIsNewPageAfterUpdate is overridden to true. $problem")
- }
-
- if (enabledLegacyWay) {
- logger.error("show-on-update attribute on the element in the application info XML is set. $problem")
- }
+ logger.error("${updateStrategyCustomization.javaClass}'s showWhatIsNewPageAfterUpdate is overridden to true. $problem")
if (WhatsNewUtil.isWhatsNewAvailable()) { // if we are really able to show old What's New here, then terminate.
return true