diff options
author | Tor Norbye <tnorbye@google.com> | 2014-07-16 19:12:10 -0700 |
---|---|---|
committer | Tor Norbye <tnorbye@google.com> | 2014-07-16 19:12:10 -0700 |
commit | a8218d5392f624b0497645a14c978e8faa946a31 (patch) | |
tree | 8b11c743aa1cc0ab2caca62c4f8b73d393b43ea6 /build | |
parent | 3827bb9f227f90806560251c7dd048d30c081c25 (diff) | |
parent | 65f60eb9011bb2c549a6d83ae31257480368ddc5 (diff) | |
download | idea-a8218d5392f624b0497645a14c978e8faa946a31.tar.gz |
Merge remote-tracking branch 'aosp/upstream-master' into merge
Conflicts:
.idea/modules.xml
build/scripts/common_tests.gant
build/scripts/dist.gant
build/scripts/layouts.gant
build/scripts/utils.gant
Change-Id: I2bdcfaa02c8c63585eb6a56020dd3dbe0be90119
Diffstat (limited to 'build')
-rw-r--r-- | build/build.iml | 2 | ||||
-rw-r--r-- | build/conf/mac/Contents/Info.plist | 4 | ||||
-rwxr-xr-x | build/conf/mac/Contents/MacOS/idea | bin | 85548 -> 85564 bytes | |||
-rw-r--r-- | build/conf/mac/Contents/_CodeSignature/CodeResources | 21 | ||||
-rw-r--r-- | build/conf/nsis/idea.nsi | 99 | ||||
-rw-r--r-- | build/gant.xml | 2 | ||||
-rw-r--r-- | build/lib/jps/antlayout.jar | bin | 22226 -> 22248 bytes | |||
-rw-r--r-- | build/lib/jps/groovy-jps-plugin.jar | bin | 37122 -> 37218 bytes | |||
-rw-r--r-- | build/lib/jps/groovy_rt.jar | bin | 33228 -> 33243 bytes | |||
-rw-r--r-- | build/lib/jps/jps-builders.jar | bin | 1496212 -> 1500322 bytes | |||
-rw-r--r-- | build/lib/jps/jps-model.jar | bin | 430385 -> 431932 bytes | |||
-rw-r--r-- | build/lib/jps/ui-designer-jps-plugin.jar | bin | 32656 -> 32685 bytes | |||
-rw-r--r-- | build/lib/jps/util.jar | bin | 2183123 -> 2189527 bytes | |||
-rw-r--r-- | build/scripts/common_tests.gant | 60 | ||||
-rw-r--r-- | build/scripts/dist.gant | 4 | ||||
-rw-r--r-- | build/scripts/layouts.gant | 71 | ||||
-rw-r--r-- | build/scripts/libLicenses.gant | 13 | ||||
-rw-r--r-- | build/scripts/utils.gant | 55 |
18 files changed, 234 insertions, 97 deletions
diff --git a/build/build.iml b/build/build.iml index db115fb3dc9e..7486cf38b75d 100644 --- a/build/build.iml +++ b/build/build.iml @@ -10,7 +10,7 @@ <orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="library" exported="" name="Groovy" level="project" /> <orderEntry type="library" exported="" name="Ant" level="project" /> - <orderEntry type="library" scope="RUNTIME" name="asm4" level="project" /> + <orderEntry type="library" scope="RUNTIME" name="asm5" level="project" /> <orderEntry type="library" exported="" scope="RUNTIME" name="cli-parser" level="project" /> <orderEntry type="library" scope="RUNTIME" name="JDOM" level="project" /> <orderEntry type="library" scope="RUNTIME" name="Netty" level="project" /> diff --git a/build/conf/mac/Contents/Info.plist b/build/conf/mac/Contents/Info.plist index eb5a13153c05..4a9c7d117dce 100644 --- a/build/conf/mac/Contents/Info.plist +++ b/build/conf/mac/Contents/Info.plist @@ -79,13 +79,15 @@ <key>idea.java.redist</key> <string>NoJavaDistribution</string> + <key>idea.home.path</key> + <string>$APP_PACKAGE/Contents</string> </dict> <key>VMOptions</key> <string>@@vmoptions@@ -Xbootclasspath/a:../lib/boot.jar</string> <key>WorkingDirectory</key> - <string>$APP_PACKAGE/bin</string> + <string>$APP_PACKAGE/Contents/bin</string> </dict> </dict> </plist> diff --git a/build/conf/mac/Contents/MacOS/idea b/build/conf/mac/Contents/MacOS/idea Binary files differindex 3f5d2c46a401..6ba553f866fd 100755 --- a/build/conf/mac/Contents/MacOS/idea +++ b/build/conf/mac/Contents/MacOS/idea diff --git a/build/conf/mac/Contents/_CodeSignature/CodeResources b/build/conf/mac/Contents/_CodeSignature/CodeResources new file mode 100644 index 000000000000..54901395f893 --- /dev/null +++ b/build/conf/mac/Contents/_CodeSignature/CodeResources @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> + <dict> + <key>rules</key> + <dict> + <key>^bin/</key> + <true/> + <key>^lib/</key> + <true/> + <key>^license/</key> + <true/> + <key>^MacOS/</key> + <true/> + <key>^plugins/</key> + <true/> + <key>^Resources/</key> + <true/> + </dict> + </dict> +</plist>
\ No newline at end of file diff --git a/build/conf/nsis/idea.nsi b/build/conf/nsis/idea.nsi index 850ac4b305f5..145d61d0624b 100644 --- a/build/conf/nsis/idea.nsi +++ b/build/conf/nsis/idea.nsi @@ -531,36 +531,36 @@ Function leaveUninstallOldVersionDialog !insertmacro INSTALLOPTIONS_READ $2 "UninstallOldVersions.ini" "Settings" "State" StrCmp $2 2 enable_disable Goto done - + enable_disable: - !insertmacro INSTALLOPTIONS_READ $0 "UninstallOldVersions.ini" "Field 2" "State" - StrCmp $0 1 enable disable + !insertmacro INSTALLOPTIONS_READ $0 "UninstallOldVersions.ini" "Field 2" "State" + StrCmp $0 1 enable disable enable: StrCpy $1 "" Goto setFlag disable: - Call setState + Call setState StrCpy $1 "DISABLED" -setFlag: +setFlag: Push $1 Call setFlags -done: +done: Pop $4 - Pop $1 + Pop $1 StrCmp $2 0 skip_abort Pop $2 Abort -skip_abort: +skip_abort: StrCpy $2 "OK" FunctionEnd Function setFlags - Pop $1 + Pop $1 !insertmacro INSTALLOPTIONS_READ $max_fields "UninstallOldVersions.ini" "Settings" "NumFields" StrCpy $4 3 - ; change flags of fields in according of master checkbox -loop: + ; change flags of fields in according of master checkbox +loop: !insertmacro INSTALLOPTIONS_READ $1 "UninstallOldVersions.ini" "Field $4" "HWND" EnableWindow $1 $0 !insertmacro INSTALLOPTIONS_WRITE "UninstallOldVersions.ini" "Field $4" "Flags" "$1" @@ -573,7 +573,7 @@ FunctionEnd Function setState !insertmacro INSTALLOPTIONS_READ $max_fields "UninstallOldVersions.ini" "Settings" "NumFields" StrCpy $4 3 - ; change state of fields in according of master checkbox + ; change state of fields in according of master checkbox loop: !insertmacro INSTALLOPTIONS_READ $1 "UninstallOldVersions.ini" "Field $4" "HWND" SendMessage $1 ${BM_SETCHECK} 0 "0" @@ -750,21 +750,28 @@ skip_quicklaunch_shortcut: "${Index}-Skip:" WriteRegStr HKCR "IntelliJIdeaProjectFile\shell\open\command" "" \ '$INSTDIR\bin\${PRODUCT_EXE_FILE} "%1"' - - ; back up old value of .java - StrCmp "${PRODUCT_FULL_NAME}" "IntelliJ IDEA Community Edition" java_association - StrCmp "${PRODUCT_FULL_NAME}" "IntelliJ IDEA" 0 skip_ipr -java_association: - ReadRegStr $1 HKCR ".java" "" - StrCmp $1 "" skip_backup - StrCmp $1 "IntelliJIdeaProjectFile" skip_backup - WriteRegStr HKCR ".java" "backup_val" $1 -skip_backup: - WriteRegStr HKCR ".java" "" "IntelliJIdeaProjectFile" !undef Index skip_ipr: +StrCmp "${ASSOCIATION}" "NoAssociation" skip_association + ; back up old value of an association + ReadRegStr $1 HKCR ${ASSOCIATION} "" + StrCmp $1 "" skip_backup + StrCmp $1 ${PRODUCT_PATHS_SELECTOR} skip_backup + WriteRegStr HKCR ${ASSOCIATION} "backup_val" $1 +skip_backup: + WriteRegStr HKCR ${ASSOCIATION} "" "${PRODUCT_PATHS_SELECTOR}" + ReadRegStr $0 HKCR ${PRODUCT_PATHS_SELECTOR} "" + StrCmp $0 "" 0 command_exists + WriteRegStr HKCR ${PRODUCT_PATHS_SELECTOR} "" "${PRODUCT_FULL_NAME}" + WriteRegStr HKCR "${PRODUCT_PATHS_SELECTOR}\shell" "" "open" + WriteRegStr HKCR "${PRODUCT_PATHS_SELECTOR}\DefaultIcon" "" "$INSTDIR\bin\${PRODUCT_EXE_FILE},0" +command_exists: + WriteRegStr HKCR "${PRODUCT_PATHS_SELECTOR}\shell\open\command" "" \ + '$INSTDIR\bin\${PRODUCT_EXE_FILE} "%1"' + +skip_association: ; Rest of script @@ -772,7 +779,7 @@ skip_ipr: SectionIn RO !include "idea_win.nsh" - IntCmp $IS_UPGRADE_60 1 skip_properties + IntCmp $IS_UPGRADE_60 1 skip_properties SetOutPath $INSTDIR\bin File "${PRODUCT_PROPERTIES_FILE}" File "${PRODUCT_VM_OPTIONS_FILE}" @@ -851,6 +858,44 @@ FunctionEnd ;------------------------------------------------------------------------------ Function un.onInit + ;admin perm. is required to uninstall? + ${UnStrStr} $R0 $INSTDIR $PROGRAMFILES + StrCmp $R0 $INSTDIR requred_admin_perm UAC_Done + +requred_admin_perm: + ;the user has admin rights? + UserInfo::GetAccountType + Pop $R2 + StrCmp $R2 "Admin" UAC_Admin uninstall_location + +uninstall_location: + ;check if the uninstallation is running from the product location + IfFileExists $APPDATA\${PRODUCT_PATHS_SELECTOR}_${VER_BUILD}_Uninstall.exe UAC_Elevate copy_uninstall + +copy_uninstall: + ;do copy for unistall.exe + CopyFiles "$OUTDIR\Uninstall.exe" "$APPDATA\${PRODUCT_PATHS_SELECTOR}_${VER_BUILD}_Uninstall.exe" + ExecWait '"$APPDATA\${PRODUCT_PATHS_SELECTOR}_${VER_BUILD}_Uninstall.exe" _?=$INSTDIR' + Delete "$APPDATA\${PRODUCT_PATHS_SELECTOR}_${VER_BUILD}_Uninstall.exe" + Quit + +UAC_Elevate: + !insertmacro UAC_RunElevated + StrCmp 1223 $0 UAC_ElevationAborted ; UAC dialog aborted by user? - continue install under user + StrCmp 0 $0 0 UAC_Err ; Error? + StrCmp 1 $1 0 UAC_Success ;Are we the real deal or just the wrapper? + Quit +UAC_ElevationAborted: +UAC_Err: + Abort +UAC_Success: + StrCmp 1 $3 UAC_Admin ;Admin? + StrCmp 3 $1 0 UAC_ElevationAborted ;Try again? + goto UAC_Elevate +UAC_Admin: + SetShellVarContext all + StrCpy $baseRegKey "HKLM" +UAC_Done: !insertmacro MUI_UNGETLANGUAGE !insertmacro INSTALLOPTIONS_EXTRACT "DeleteSettings.ini" FunctionEnd @@ -1094,10 +1139,8 @@ clear_Registry: StrCpy $2 "MenuFolder" Call un.OMDeleteRegValue - StrCmp "${PRODUCT_FULL_NAME}" "IntelliJ IDEA Community Edition" restore_java_association - StrCmp "${PRODUCT_FULL_NAME}" "IntelliJ IDEA" 0 finish_uninstall -restore_java_association: - StrCpy $1 ".java" + StrCmp "${ASSOCIATION}" "NoAssociation" finish_uninstall + StrCpy $1 "${ASSOCIATION}" StrCpy $2 "backup_val" Call un.ReturnBackupRegValue diff --git a/build/gant.xml b/build/gant.xml index 672896d31364..416440b6aebd 100644 --- a/build/gant.xml +++ b/build/gant.xml @@ -22,7 +22,7 @@ <include name="groovy-all-*.jar"/> <include name="protobuf*.jar"/> <include name="netty*.jar"/> - <include name="asm4-all.jar"/> + <include name="asm-all.jar"/> <include name="asm-commons.jar"/> <include name="jgoodies-forms.jar"/> <include name="guava*.jar"/> diff --git a/build/lib/jps/antlayout.jar b/build/lib/jps/antlayout.jar Binary files differindex 8f6554dc67f3..ead2a804df0a 100644 --- a/build/lib/jps/antlayout.jar +++ b/build/lib/jps/antlayout.jar diff --git a/build/lib/jps/groovy-jps-plugin.jar b/build/lib/jps/groovy-jps-plugin.jar Binary files differindex 5166341eb156..43bac2049446 100644 --- a/build/lib/jps/groovy-jps-plugin.jar +++ b/build/lib/jps/groovy-jps-plugin.jar diff --git a/build/lib/jps/groovy_rt.jar b/build/lib/jps/groovy_rt.jar Binary files differindex 43d418bfe294..ea656c580ce2 100644 --- a/build/lib/jps/groovy_rt.jar +++ b/build/lib/jps/groovy_rt.jar diff --git a/build/lib/jps/jps-builders.jar b/build/lib/jps/jps-builders.jar Binary files differindex b02ac27bc085..05c199bfbb85 100644 --- a/build/lib/jps/jps-builders.jar +++ b/build/lib/jps/jps-builders.jar diff --git a/build/lib/jps/jps-model.jar b/build/lib/jps/jps-model.jar Binary files differindex e56a781f9006..0c57c42c6abc 100644 --- a/build/lib/jps/jps-model.jar +++ b/build/lib/jps/jps-model.jar diff --git a/build/lib/jps/ui-designer-jps-plugin.jar b/build/lib/jps/ui-designer-jps-plugin.jar Binary files differindex 69d7e02232b7..0050493f9385 100644 --- a/build/lib/jps/ui-designer-jps-plugin.jar +++ b/build/lib/jps/ui-designer-jps-plugin.jar diff --git a/build/lib/jps/util.jar b/build/lib/jps/util.jar Binary files differindex adef8f02bc9c..fad7e614bb49 100644 --- a/build/lib/jps/util.jar +++ b/build/lib/jps/util.jar diff --git a/build/scripts/common_tests.gant b/build/scripts/common_tests.gant index f13c342dd23b..a74f7d43a0b3 100644 --- a/build/scripts/common_tests.gant +++ b/build/scripts/common_tests.gant @@ -45,41 +45,43 @@ private pass(String prop) { target('run_tests': 'Run java tests') { depends([check, compile]) - ant.junit(fork: "yes", showoutput: "true", logfailedtests:false, printsummary: "true") { - pass("idea.test.group") - pass("idea.test.patterns") - pass("idea.fast.only") - pass("teamcity.build.tempDir") - pass("teamcity.tests.recentlyFailedTests.file") - jvmarg (value: "-Didea.platform.prefix=Idea") - jvmarg (value: "-Djava.system.class.loader=com.intellij.util.lang.UrlClassLoader") - - System.getProperties().entrySet().each { - if (it.key.startsWith("pass.")) { - def trimmed = it.key.substring("pass.".length()); - jvmarg(value: "-D${trimmed}=${it.value}"); - }; - } - - commonJvmArgs().each { jvmarg(value: it) } + def classpathFile = "$home/junit.classpath" + List<String> testRuntimeClasspath = projectBuilder.moduleRuntimeClasspath(findModule("community-main"), true) + new File(classpathFile).text = testRuntimeClasspath.findAll({ new File((String)it).exists() }).join('\n') + + testcases.each { testCase -> + ant.junit(fork: "yes", showoutput: "true", logfailedtests: false) { + jvmarg(value: "-Dclasspath.file=${classpathFile}") + pass("idea.test.group") + pass("idea.test.patterns") + pass("idea.fast.only") + pass("teamcity.build.tempDir") + pass("teamcity.tests.recentlyFailedTests.file") + jvmarg(value: "-Didea.platform.prefix=Idea") + + System.getProperties().entrySet().each { + if (it.key.startsWith("pass.")) { + def trimmed = it.key.substring("pass.".length()); + jvmarg(value: "-D${trimmed}=${it.value}"); + }; + } + commonJvmArgs().each { jvmarg(value: it) } - if (isDefined("jvm_args")) { - jvm_args.each { jvmarg(value: it) } - } + jvmarg(value: "-Dbootstrap.testcases=$testCase") - classpath { - projectBuilder.moduleRuntimeClasspath(findModule("community-main"), true).each { - pathelement(location: it) + if (isDefined("jvm_args")) { + jvm_args.each { jvmarg(value: it) } } - pathelement(location: "${jdkHome}/lib/tools.jar") - } - formatter(type: "plain") - formatter(type: "xml") + classpath { + projectBuilder.moduleRuntimeClasspath(findModule("tests_bootstrap"), false).each { + pathelement(location: it) + } + pathelement(location: "${jdkHome}/lib/tools.jar") + } - testcases.each { - test (name: it) + test(name: 'com.intellij.tests.BootstrapTests') } } } diff --git a/build/scripts/dist.gant b/build/scripts/dist.gant index 17b20d79196c..a31b66f5a654 100644 --- a/build/scripts/dist.gant +++ b/build/scripts/dist.gant @@ -144,8 +144,8 @@ def layoutAll(Map args, String home, String out, Paths _paths = null, buildJps = androidBuildNumber = p("buildNumber") //def macAppRoot = isEap() ? - // "IntelliJ IDEA ${p("component.version.major")} CE EAP.app" : - // "IntelliJ IDEA ${p("component.version.major")} CE.app" + // "IntelliJ IDEA ${p("component.version.major")} CE EAP.app/Contents" : + // "IntelliJ IDEA ${p("component.version.major")} CE.app/Contents" def winZip = "$paths.artifacts/android-studio-${androidBuildNumber}.win.zip" def macZip = "$paths.artifacts/android-studio-${androidBuildNumber}.mac.zip" diff --git a/build/scripts/layouts.gant b/build/scripts/layouts.gant index 3d4a54fc8c93..7e17eedc4335 100644 --- a/build/scripts/layouts.gant +++ b/build/scripts/layouts.gant @@ -73,6 +73,7 @@ def layoutFull(String home, String targetDirectory, String patchedDescriptorDir "compiler-impl", "debugger-impl", "dom-impl", + "duplicates-analysis", "execution-impl", "external-system-impl", "idea-ui", @@ -242,7 +243,6 @@ def layoutFull(String home, String targetDirectory, String patchedDescriptorDir module("IntelliLang") module("IntelliLang-java") module("IntelliLang-xml") - module("IntelliLang-javaee") } jar("intellilang-jps-plugin.jar") { module("intellilang-jps-plugin") @@ -262,7 +262,7 @@ public def layoutCommunityPlugins(String home) { layoutCloud() dir("plugins") { - def simplePlugins = ["commander", "copyright", "java-i18n", "hg4idea", "github"] //, "tasks-time-tracking"] + def simplePlugins = ["commander", "copyright", "java-i18n", "hg4idea", "github", "typeMigration"] //, "tasks-time-tracking"] simplePlugins.each { layoutPlugin it @@ -342,10 +342,6 @@ public def layoutCommunityPlugins(String home) { } layoutPlugin("gradle") { - jar("gradle.jar") { - module("gradle") - } - jar("gradle-tooling-extension-api.jar") { module("gradle-tooling-extension-api") } @@ -370,10 +366,6 @@ public def layoutCommunityPlugins(String home) { include(name: "ini4j*.jar") exclude(name: "ini4j*sources.jar") } - fileset(dir: "$home/plugins/git4idea/lib/jgit") { - include(name: "org.eclipse.jgit*.jar") - exclude(name: "*.zip") - } } layoutPlugin("svn4idea") { @@ -463,6 +455,7 @@ public def layoutCommunityPlugins(String home) { module("groovy-psi") { exclude(name: "standardDsls/**") } + module("structuralsearch-groovy") } //layout of groovy jars must be consistent with GroovyBuilder.getGroovyRtRoot method jar("groovy-jps-plugin.jar") { @@ -521,14 +514,58 @@ public def layoutCommunityPlugins(String home) { // } layoutPlugin("terminal") { - jar("terminal.jar") { - module("terminal") - } fileset(dir: "$home/plugins/terminal/lib") { include(name: "*.jar") include(name: "*.in") } } + + pluginDir("coverage") { + dir("lib") { + jar("coverage.jar") { + noResources("coverage-common") + noResources("coverage") + } + + jar("coverage_rt.jar") { + noResources("coverage_rt") + } + + jar("resources_en.jar") { + module("coverage-common") { + patternset(refid: "resources.included") + } + module("coverage") { + patternset(refid: "resources.included") + } + } + + fileset(dir: "${home}/plugins/coverage-common/lib") { + exclude(name: "finder.jar") + exclude(name: "**/coverage-src.zip") + } + + fileset(dir: "${home}/plugins/coverage/lib", excludes: "**/jacoco_src.zip") + } + } + + pluginDir("structuralsearch") { + dir("lib") { + jar("structuralsearch.jar") { + module("structuralsearch") + module("structuralsearch-java") + } + } + } + + pluginDir("java-decompiler") { + dir("lib") { + jar("java-decompiler.jar") { + module("java-decompiler") + } + fileset(file: "$home/plugins/java-decompiler/lib/fernflower.jar") + } + } } } @@ -816,7 +853,7 @@ def layoutJps(String home, String targetDir, String buildNumber, Closure additio include(name: "jdom.jar") include(name: "jna.jar") include(name: "trove4j.jar") - include(name: "asm4-all.jar") + include(name: "asm-all.jar") include(name: "nanoxml-*.jar") include(name: "protobuf-*.jar") include(name: "cli-parser-*.jar") @@ -856,8 +893,12 @@ def layout_core(String home, String target) { module("annotations") } + jar("intellij-core-analysis-api.jar") { + analysisApiModules.each { module it; } + } + fileset(dir: "$home/lib") { - include(name: "guava-14.0.1.jar") + include(name: "guava-17.0.jar") include(name: "picocontainer.jar") include(name: "trove4j.jar") include(name: "asm.jar") diff --git a/build/scripts/libLicenses.gant b/build/scripts/libLicenses.gant index 2e9691ea10f3..eaeb82e1c4b4 100644 --- a/build/scripts/libLicenses.gant +++ b/build/scripts/libLicenses.gant @@ -1,5 +1,5 @@ /* - * Copyright 2000-2013 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -152,7 +152,7 @@ libraryLicense(name: "Alloy L&F", libraryName: "alloy.jar", version: "1.4.4", li libraryLicense(name: "Ant", version: "1.7", license: "Apache 2.0", url: "http://ant.apache.org/", licenseUrl: "http://ant.apache.org/license.html") libraryLicense(name: "ASM Bytecode Manipulation Framework", libraryName: "asm", version: "3.3", license: "BSD", url: "http://asm.objectweb.org/", licenseUrl: "http://asm.objectweb.org/license.html") libraryLicense(name: "ASM Bytecode Manipulation Framework", libraryName: "asm4", version: "4.0", license: "BSD", url: "http://asm.objectweb.org/", licenseUrl: "http://asm.objectweb.org/license.html") -libraryLicense(name: "ASM Bytecode Manipulation Framework", libraryName: "asm5", version: "5.0.1", license: "BSD", url: "http://asm.objectweb.org/", licenseUrl: "http://asm.objectweb.org/license.html") +libraryLicense(name: "ASM Bytecode Manipulation Framework", libraryName: "asm5", version: "5.0.3 (with patches by JetBrains)", license: "BSD", url: "http://asm.objectweb.org/", licenseUrl: "http://asm.objectweb.org/license.html") libraryLicense(name: "ASM Bytecode Manipulation Framework", libraryName: "asm-tools", version: "4.0", license: "BSD", url: "http://asm.objectweb.org/", licenseUrl: "http://asm.objectweb.org/license.html") libraryLicense(name: "Axis", libraryName: "axis-1.4", version: "1.4", license: "Apache 2.0", url: "http://ws.apache.org/axis/", licenseUrl: "http://svn.jetbrains.org/idea/Trunk/bundled/WebServices/resources/lib/axis-1.4.0/axis.LICENSE") libraryLicense(name: "CGLib", libraryName: "CGLIB", version: "2.2.2", license: "Apache", url: "http://cglib.sourceforge.net/", licenseUrl: "http://www.apache.org/foundation/licence-FAQ.html") @@ -177,9 +177,8 @@ libraryLicense(name: "DTDParser", version: "1.13", license: "LGPL", url: "http:/ libraryLicense(name: "Gant", version: "1.9.8", libraryName: "gant_groovy2.0-1.9.8.jar", license: "Apache 2.0", url: "http://gant.codehaus.org/", licenseUrl: "http://gant.codehaus.org/Licence") libraryLicense(name: "sqljet", version: "bundled with SVNKit", libraryName: "sqljet.jar", license: "link (commercial license)", url: "http://sqljet.com", licenseUrl: "http://svnkit.com/license.html") libraryLicense(name: "svnkit-javahl", version: "bundled with SVNKit", libraryName: "svnkit-javahl.jar", license: "link (commercial license)", url: "http://www.svnkit.com/", licenseUrl: "http://svnkit.com/license.html") -libraryLicense(name: "javahl", version: "1.7.2", libraryName: "javahl.jar", license: "Apache", url: "http://subversion.apache.org", licenseUrl: "http://www.apache.org/licenses/LICENSE-2.0") libraryLicense(name: "Antlr", libraryName: "antlr.jar", version: "3.4", license: "BSD", url: "http://www.antlr.org", licenseUrl: "http://www.antlr.org/license.html") -libraryLicense(name: "Guava", version: "14.0.1", license: "Apache 2.0", url: "http://code.google.com/p/guava-libraries/", licenseUrl: "http://ant.apache.org/license.html") +libraryLicense(name: "Guava", version: "17.0", license: "Apache 2.0", url: "http://code.google.com/p/guava-libraries/", licenseUrl: "http://ant.apache.org/license.html") libraryLicense(name: "Guava", libraryName: "guava-tools", version: "14.0.1", license: "Apache 2.0", url: "http://code.google.com/p/guava-libraries/", licenseUrl: "http://ant.apache.org/license.html") libraryLicense(name: "Groovy", version: "2.2.1", license: "Apache 2.0", url: "http://groovy.codehaus.org/") libraryLicense(name: "Gson", version: "2.2.4", libraryName: "gson", license: "Apache 2.0", url: "http://code.google.com/p/google-gson/") @@ -191,7 +190,6 @@ libraryLicense(name: "Jaxen", version: "", license: "modified Apache", url: "htt libraryLicense(name: "JavaHelp", version: "2.0_02", license: "included as license/javahelp_license.html in IntelliJ IDEA distribution", url: "http://java.sun.com/products/javahelp/") libraryLicense(name: "JCIP Annotations", libraryName: "jcip", license: "Creative Commons Attribution License", url: "http://www.jcip.net", licenseUrl: "http://creativecommons.org/licenses/by/2.5") libraryLicense(name: "JDOM", version: "1.1 (with patches by JetBrains)", license: "modified Apache", url: "http://www.jdom.org/", licenseUrl: "http://www.jdom.org/docs/faq.html#a0030") -libraryLicense(name: "jgit-2.1.0", version: "2.1.0.201209190230", license: "EDL/BSD", url: "http://www.eclipse.org/jgit/", licenseUrl: "http://www.eclipse.org/org/documents/edl-v10.php", attachedTo: "git4idea") libraryLicense(name: "javawriter", libraryName: "javawriter", license: "Apache 2.0", url: "https://github.com/square/javawriter") libraryLicense(name: "JGoodies Forms", libraryName: "jgoodies-forms", version: "1.1-preview 2006-05-04 11:55:37", license: "BSD ", url: "http://www.jgoodies.com/freeware/forms/", licenseUrl: "http://www.jgoodies.com/downloads/libraries.html") libraryLicense(name: "JGoodies Looks", libraryName: "jgoodies-looks", version: "2.4.2", license: "BSD ", url: "http://www.jgoodies.com/freeware/looks/", licenseUrl: "http://www.jgoodies.com/downloads/libraries.html") @@ -252,7 +250,7 @@ libraryLicense(name: "XML-RPC", libraryName: "XmlRPC", version: "2.0", license: libraryLicense(name: "XStream", version: "1.4.3", license: "BSD", url: "http://xstream.codehaus.org/", licenseUrl: "http://xstream.codehaus.org/license.html") libraryLicense(name: "YourKit Java Profiler", libraryName: "yjp-controller-api-redist.jar", version: "8.0.x", license: "link (commercial license)", url: "http://yourkit.com/", licenseUrl: "http://www.yourkit.com/purchase/license.html") libraryLicense(name: "protobuf", version: "2.5.0", license: "New BSD", url: "http://code.google.com/p/protobuf/", licenseUrl: "http://code.google.com/p/protobuf/source/browse/trunk/COPYING.txt?r=367") -libraryLicense(name: "Netty", libraryName: "Netty", version: "4.1.0.Alpha2", license: "Apache 2.0", url: "http://netty.io", licenseUrl: "http://www.apache.org/licenses/LICENSE-2.0") +libraryLicense(name: "Netty", libraryName: "Netty", version: "4.1.0.Beta1", license: "Apache 2.0", url: "http://netty.io", licenseUrl: "http://www.apache.org/licenses/LICENSE-2.0") libraryLicense(name: "Kryo", libraryName: "Kryo", version: "2.22", license: "New BSD License", url: "https://github.com/EsotericSoftware/kryo", licenseUrl: "https://github.com/EsotericSoftware/kryo/blob/master/license.txt") libraryLicense(name: "Snappy-Java", libraryName: "Snappy-Java", version: "0.3", license: "Apache 2.0", url: "https://github.com/dain/snappy", licenseUrl: "http://www.apache.org/licenses/LICENSE-2.0") libraryLicense(name: "Cucumber-Java", libraryName: "cucumber-java", version: "1.0.14", license: "MIT License", url: "https://github.com/cucumber/cucumber-jvm/", licenseUrl: "http://www.opensource.org/licenses/mit-license.html") @@ -278,7 +276,10 @@ libraryLicense(name: "ANTLR 4 Runtime", libraryName: "antlr-runtime-4.1.jar", ve libraryLicense(name: "minlog", libraryName: "minlog-1.2.jar", version: "1.2", license: "BSD", url: "https://github.com/EsotericSoftware/minlog", licenseUrl: "http://opensource.org/licenses/BSD-3-Clause") libraryLicense(name: "ReflectASM", libraryName: "reflectasm-1.0.7.jar", version: "1.0.7", license: "BSD", url: "https://github.com/EsotericSoftware/reflectasm", licenseUrl: "http://opensource.org/licenses/BSD-3-Clause") libraryLicense(name: "Objenesis", libraryName: "objenesis-1.2.jar", version: "1.2", license: "Apache 2.0", url: "http://objenesis.org/", licenseUrl: "http://apache.org/licenses/LICENSE-2.0") +jetbrainsLibrary("Coverage") +jetbrainsLibrary("CoverageReport") jetbrainsLibrary("JPS") jetbrainsLibrary("Maven Embedder") jetbrainsLibrary("tcServiceMessages") jetbrainsLibrary("optimizedFileManager.jar") +jetbrainsLibrary("fernflower.jar") diff --git a/build/scripts/utils.gant b/build/scripts/utils.gant index 5853eaeea32a..580d63d0bb53 100644 --- a/build/scripts/utils.gant +++ b/build/scripts/utils.gant @@ -231,6 +231,7 @@ binding.setVariable("wireBuildDate", { String buildNumber, String appInfoFile -> binding.setVariable("commonJvmArgs", { return [ "-ea", + "-server", "-Didea.home.path=$home", "-Xbootclasspath/p:${projectBuilder.moduleOutput(findModule("boot"))}", "-XX:+HeapDumpOnOutOfMemoryError", @@ -316,7 +317,7 @@ binding.setVariable("layoutMacApp", { String path, String ch, Map args -> } ant.copy(todir: path) { - fileset(dir: "$ch/build/conf/mac") + fileset(dir: "$ch/build/conf/mac/Contents") } ant.tstamp() { @@ -326,22 +327,19 @@ binding.setVariable("layoutMacApp", { String path, String ch, Map args -> String executable = args.executable != null ? args.executable : p("component.names.product").toLowerCase() String helpId = args.help_id != null ? args.help_id : "IJ" String icns = "idea.icns" - String helpIcns = "$path/Contents/Resources/${helpId}.help/Contents/Resources/Shared/product.icns" + String helpIcns = "$path/Resources/${helpId}.help/Contents/Resources/Shared/product.icns" if (args.icns != null) { - ant.delete(file: "$path/Contents/Resources/idea.icns") - ant.copy(file: args.icns, todir: "$path/Contents/Resources") + ant.delete(file: "$path/Resources/idea.icns") + ant.copy(file: args.icns, todir: "$path/Resources") ant.copy(file: args.icns, tofile: helpIcns) icns = new File((String)args.icns).getName(); } else { - ant.copy(file: "$path/Contents/Resources/idea.icns", tofile: helpIcns) + ant.copy(file: "$path/Resources/idea.icns", tofile: helpIcns) } String fullName = args.fullName != null ? args.fullName : p("component.names.fullname") String vmOptions = "-Dfile.encoding=UTF-8 ${vmOptions()} -Xverify:none" - if (isEap() && !args.mac_no_yjp) { - vmOptions += " ${yjpOptions(args.system_selector)}" - } String minor = p("component.version.minor") String version = isEap() && !minor.contains("RC") && !minor.contains("Beta") ? "EAP $args.buildNumber" : "${p("component.version.major")}.${minor}" @@ -360,9 +358,13 @@ binding.setVariable("layoutMacApp", { String path, String ch, Map args -> } new File("$path/bin/idea.properties").text = effectiveProperties.toString() - new File("$path/bin/idea.vmoptions").text = "$mem64 -XX:+UseCompressedOops".split(" ").join("\n") + String ideaVmOptions = "$mem64 -XX:+UseCompressedOops".split(" ").join("\n") + if (isEap() && !args.mac_no_yjp) { + ideaVmOptions += " ${yjpOptions(args.system_selector)}" + } + new File("$path/bin/idea.vmoptions").text = ideaVmOptions - String classPath = classPathLibs.collect {"\$APP_PACKAGE/lib/${it}" }.join(":") + String classPath = classPathLibs.collect {"\$APP_PACKAGE/Contents/lib/${it}" }.join(":") String archs = """ <key>LSArchitecturePriority</key> @@ -395,7 +397,7 @@ binding.setVariable("layoutMacApp", { String path, String ch, Map args -> """ } - ant.replace(file: "$path/Contents/Info.plist") { + ant.replace(file: "$path/Info.plist") { replacefilter(token: "@@build@@", value: args.buildNumber) replacefilter(token: "@@doc_types@@", value: ifNull(args.doc_types, "")) replacefilter(token: "@@executable@@", value: executable) @@ -417,7 +419,7 @@ binding.setVariable("layoutMacApp", { String path, String ch, Map args -> } if (executable != "idea") { - ant.move(file: "$path/Contents/MacOS/idea", tofile: "$path/Contents/MacOS/$executable") + ant.move(file: "$path/MacOS/idea", tofile: "$path/MacOS/$executable") } ant.replace(file: "$path/bin/inspect.sh") { @@ -725,7 +727,7 @@ binding.setVariable("buildMacZip", { String zipRoot, String zipPath, List paths, exclude(name: "bin/*.py") exclude(name: "bin/fsnotifier") exclude(name: "bin/restarter") - exclude(name: "Contents/MacOS/*") + exclude(name: "MacOS/*") extraBins.each { exclude(name: it) } @@ -739,7 +741,7 @@ binding.setVariable("buildMacZip", { String zipRoot, String zipPath, List paths, include(name: "bin/*.py") include(name: "bin/fsnotifier") include(name: "bin/restarter") - include(name: "Contents/MacOS/*") + include(name: "MacOS/*") extraBins.each { include(name: it) } @@ -914,3 +916,28 @@ binding.setVariable("reassignAltClickToMultipleCarets", {String communityHome -> patchedKeymapFile = new File("${paths.sandbox}/classes/production/platform-resources/idea/Keymap_Default.xml") patchedKeymapFile.write(defaultKeymapContent) }) + +// modules used in Upsource and in Kotlin as an API to IDEA +binding.setVariable("analysisApiModules", [ + "analysis-api", + "boot", + "core-api", + "duplicates-analysis", + "editor-ui-api", + "editor-ui-ex", + "extensions", + "indexing-api", + "java-analysis-api", + "java-indexing-api", + "java-psi-api", + "java-structure-view", + "jps-model-api", + "jps-model-serialization", + "projectModel-api", + "structure-view-api", + "util", + "util-rt", + "xml-analysis-api", + "xml-psi-api", + "xml-structure-view-api", +]) |