diff --git a/build/groovy/org/jetbrains/intellij/build/ApplicationInfoProperties.groovy b/build/groovy/org/jetbrains/intellij/build/ApplicationInfoProperties.groovy index cb305c8a5eb0..1aaeeb46d5c0 100644 --- a/build/groovy/org/jetbrains/intellij/build/ApplicationInfoProperties.groovy +++ b/build/groovy/org/jetbrains/intellij/build/ApplicationInfoProperties.groovy @@ -48,7 +48,7 @@ class ApplicationInfoProperties { companyName = root.company.first().@name minorVersionMainPart = minorVersion.takeWhile { it != '.' } isEAP = Boolean.parseBoolean(root.version.first().@eap) - shortCompanyName = StringUtil.trimEnd(companyName, "s.r.o.").trim() + shortCompanyName = root.company.first().@shortName ?: shortenCompanyName(companyName) } public String getUpperCaseProductName() { shortProductName.toUpperCase() } @@ -56,4 +56,9 @@ class ApplicationInfoProperties { public String getFullVersion() { MessageFormat.format(fullVersionFormat, majorVersion, minorVersion, microVersion, patchVersion) } + + //copy of ApplicationInfoImpl.shortenCompanyName + private static String shortenCompanyName(String name) { + return StringUtil.trimEnd(StringUtil.trimEnd(name, " s.r.o."), " Inc."); + } } \ No newline at end of file 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 2b1d076af620..294b18f4e4f5 100644 --- a/platform/core-api/src/com/intellij/openapi/application/ApplicationInfo.java +++ b/platform/core-api/src/com/intellij/openapi/application/ApplicationInfo.java @@ -31,7 +31,20 @@ public abstract class ApplicationInfo { public abstract String getPatchVersion(); public abstract String getVersionName(); public abstract String getHelpURL(); + + /** + * Use this method to refer to the company in official contexts where it may have any legal implications. + * @see #getShortCompanyName() + * @return full name of the product vendor, e.g. 'JetBrains s.r.o.' for JetBrains products + */ public abstract String getCompanyName(); + + /** + * Use this method to refer to the company in a less formal way, e.g. in UI messages or directory names. + * @see #getCompanyName() + * @return shortened name of the product vendor without 'Inc.' or similar suffixes, e.g. 'JetBrains' for JetBrains products + */ + public abstract String getShortCompanyName(); public abstract String getCompanyURL(); public abstract String getThirdPartySoftwareURL(); public abstract String getJetbrainsTvUrl(); diff --git a/platform/core-api/src/com/intellij/util/PlatformUtils.java b/platform/core-api/src/com/intellij/util/PlatformUtils.java index ca2c1d02e81f..430e216d51dd 100644 --- a/platform/core-api/src/com/intellij/util/PlatformUtils.java +++ b/platform/core-api/src/com/intellij/util/PlatformUtils.java @@ -48,7 +48,7 @@ public class PlatformUtils { public static boolean isJetBrainsProduct() { final ApplicationInfo appInfo = ApplicationInfo.getInstance(); - return appInfo != null && appInfo.getCompanyName().contains("JetBrains"); + return appInfo != null && appInfo.getShortCompanyName().equals("JetBrains"); } public static boolean isIntelliJ() { 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 043bb30db4fc..2d3d334467e3 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 @@ -57,6 +57,7 @@ public class ApplicationInfoImpl extends ApplicationInfoEx { private String myBuildNumber; private String myApiVersion; private String myCompanyName = "JetBrains s.r.o."; + private String myShortCompanyName; private String myCompanyUrl = "https://www.jetbrains.com/"; private Color myProgressColor; private Color myCopyrightForeground = JBColor.BLACK; @@ -320,6 +321,11 @@ public class ApplicationInfoImpl extends ApplicationInfoEx { return "jar:file:///" + getHelpJarPath() + "!/" + myHelpRootName; } + @Override + public String getShortCompanyName() { + return myShortCompanyName; + } + @Override public String getCompanyName() { return myCompanyName; @@ -635,6 +641,7 @@ public class ApplicationInfoImpl extends ApplicationInfoEx { Element companyElement = parentNode.getChild(ELEMENT_COMPANY); if (companyElement != null) { myCompanyName = companyElement.getAttributeValue(ATTRIBUTE_NAME, myCompanyName); + myShortCompanyName = companyElement.getAttributeValue("shortName", shortenCompanyName(myCompanyName)); myCompanyUrl = companyElement.getAttributeValue(ATTRIBUTE_URL, myCompanyUrl); } @@ -924,6 +931,11 @@ public class ApplicationInfoImpl extends ApplicationInfoEx { } } + //copy of ApplicationInfoProperties.shortenCompanyName + private static String shortenCompanyName(String name) { + return StringUtil.trimEnd(StringUtil.trimEnd(name, " s.r.o."), " Inc."); + } + private static void setBuildNumber(String apiVersion, String buildNumber) { PluginManagerCore.BUILD_NUMBER = apiVersion != null ? apiVersion : buildNumber; }