diff --git a/edu/idea/build/groovy/org/jetbrains/intellij/build/IdeaEduProperties.groovy b/edu/idea/build/groovy/org/jetbrains/intellij/build/IdeaEduProperties.groovy index 878c94d8ebb7..1612538c40f0 100644 --- a/edu/idea/build/groovy/org/jetbrains/intellij/build/IdeaEduProperties.groovy +++ b/edu/idea/build/groovy/org/jetbrains/intellij/build/IdeaEduProperties.groovy @@ -36,13 +36,84 @@ class IdeaEduProperties extends IdeaCommunityProperties { } @Override - String getOutputDirectoryName(ApplicationInfoProperties applicationInfo) { "idea-edu" } + WindowsDistributionCustomizer createWindowsCustomizer(String projectHome) { + WindowsDistributionCustomizer base = super.createWindowsCustomizer(projectHome) + + return new WindowsDistributionCustomizer() { + { + icoPath = base.icoPath + icoPathForEAP = base.icoPathForEAP + installerImagesPath = base.installerImagesPath + fileAssociations = base.fileAssociations + } + + @Override + String getFullNameIncludingEdition(ApplicationInfoProperties applicationInfo) { "IntelliJ IDEA Educational Edition" } + + @Override + String getFullNameIncludingEditionAndVendor(ApplicationInfoProperties applicationInfo) { "IntelliJ IDEA Educational Edition" } + + @Override + String getUninstallFeedbackPageUrl(ApplicationInfoProperties applicationInfo) { + "https://www.jetbrains.com/idea/uninstall/?edition=IE-${applicationInfo.majorVersion}.${applicationInfo.minorVersion}" + } + + @Override + String getBaseDownloadUrlForJre() { "https://download.jetbrains.com/idea" } + } + } @Override LinuxDistributionCustomizer createLinuxCustomizer(String projectHome) { LinuxDistributionCustomizer base = super.createLinuxCustomizer(projectHome) - base.snapName = "intellij-idea-educational" - return base + + return new LinuxDistributionCustomizer() { + { + iconPngPath = base.iconPngPath + iconPngPathForEAP = base.iconPngPathForEAP + snapName = "intellij-idea-educational" + snapDescription = + "IDEA Edu combines interactive learning with a powerful real-world professional development tool to provide " + + "a platform for the most effective learning and teaching experience." + } + + @Override + String getRootDirectoryName(ApplicationInfoProperties applicationInfo, String buildNumber) { "idea-IE-$buildNumber" } + } } + @Override + MacDistributionCustomizer createMacCustomizer(String projectHome) { + MacDistributionCustomizer base = super.createMacCustomizer(projectHome) + + return new MacDistributionCustomizer() { + { + icnsPath = base.icnsPath + urlSchemes = base.urlSchemes + associateIpr = base.associateIpr + fileAssociations = base.fileAssociations + enableYourkitAgentInEAP = base.enableYourkitAgentInEAP + bundleIdentifier = "com.jetbrains.intellij.ie" + dmgImagePath = base.dmgImagePath + icnsPathForEAP = base.icnsPathForEAP + } + + @Override + String getRootDirectoryName(ApplicationInfoProperties applicationInfo, String buildNumber) { + applicationInfo.isEAP ? "IntelliJ IDEA ${applicationInfo.majorVersion}.${applicationInfo.minorVersionMainPart} EDU EAP.app" : + "IntelliJ IDEA EDU.app" + } + } + } + + @Override + String getSystemSelector(ApplicationInfoProperties applicationInfo) { + "IdeaIE${applicationInfo.majorVersion}.${applicationInfo.minorVersionMainPart}" + } + + @Override + String getBaseArtifactName(ApplicationInfoProperties applicationInfo, String buildNumber) { "ideaIE-$buildNumber" } + + @Override + String getOutputDirectoryName(ApplicationInfoProperties applicationInfo) { "idea-edu" } } \ No newline at end of file