summaryrefslogtreecommitdiff
path: root/jps
diff options
context:
space:
mode:
authorTor Norbye <tnorbye@google.com>2013-10-08 09:48:09 -0700
committerTor Norbye <tnorbye@google.com>2013-10-08 09:48:16 -0700
commit32218cc024d27dc92563b5b45007c94057c1c423 (patch)
tree9bdbdb8406d9fb31f1823893eaf0f9e8061be647 /jps
parentf7998d05c40c24ae66d1972abfcb070552b1d7b5 (diff)
downloadidea-32218cc024d27dc92563b5b45007c94057c1c423.tar.gz
Snapshot c91c9f73422a21e0a6d3020198ecc65cf2353de1 from idea/132.556 of git://git.jetbrains.org/idea/community.git
c91c9f7: let indices do intersection, avoid manual VirtualFile enumeration 6eb1cec: Added formatter on/off tags to Eclipse code style settings importer 72c2188: fix JavaDocCommentFixer now that most javadoc problems are highlighted on the first child of the comment instead of on the comment owner 63fc393: FinderRecPanel update a3946ec: merge list model on update 6bc070a: typo e99c26d: Live templates enhancement: do not use psi for dummy inserting 370a9e7: plugin installation: show sticky balloon 3fa8497: disable interval selection for expr chooser (IDEA-114510) 80c1fc4: fix JavadocInspectionQuickFixTest a0163c7: fix test data 67a770c: CR-IC-2646 54bcee3: revert suggestions to create plain file until they're not so silly (create a.html or HTML file?) e8c8835: xdebugger: method renamed 5d1ace4: Merge remote-tracking branch 'origin/master' 46a5f0e: IDEA-113546 Suggest to create a plain file when creating a Java class with a suspicious name c674398: IDEA-74901 Fold simple property accessors inline a39b55a: Fix localhost problem on Mac OSX Lion (see Serge's comment in PY-7070). 2080f83: Fix ISE (PY-10880). faaea76: do not unnecessarily write inspection settings 617824b: IDEA-113940 Enter in comment leads to inconsistent caret position b21a51b: fix test data 0138fec: don't suggest Math methods inside a Math method call (IDEA-114408) 7b4ed13: AppCode: initial folding tests + tests for OC-8400 fix + correctly merge @import and #import in one block e7a8a0d: Github: use prefix for @TestOnly functions f00f1e9: Github: rename setting a8695ad: IDEA-114069 (Add 'no package Javadoc' inspection) 18e8e7f: Merge remote-tracking branch 'origin/master' c039781: fix popup flickering under Darcula 7b3d333: javadoc tag completion in package-info.java 38c2b90: Merge remote-tracking branch 'origin/master' 33c6f68: new inference: tweaks to order additional constraints 2350ee1: fix tests 8cb52c8: replace conditional with if else: fix with variable and array initializer ddeea16: new inference: infer from type pair with PsiType.NULL when not enough data is provided ad4eead: new inference: prefer no vararg methods 818c2d0: more diagnostics for JavaChainLookupElement insertion assertion (EA-50180) 1ed5700: diagnostics instead of SIOOBE when checking completion copy consistency (EA-48732) 5978891: diagnostics instead of NPE when accessing disposed lookup (EA-48887) 7fdd985: let lookup iself hide when the editor is hidden (EA-40772) cfdef3a: don't let rendering exceptions spoil completion state (EA-30289) e1295ab: if type's class is invalid, display its invalidity diagnostics (EA-49843) 32b3b70: more diagnostics for TypeConversionUtil.getSuperClassSubstitutor (EA-49926) 36845f0: cleanup a53e0ea: a bit more diagnostics for getText inconsistencies (EA-49937) 24bb290: use ensureValid (EA-50088) e9066a6: Tooltip Error message added for incorrect directory mappings in HgWorkingCopyRevisionsCommand b6d6615: IDEA-114428 Clear-text Mercurial passwords in idea.log 94cc8b6: (EA-50303) - fixed. d3cb622: IDEA-113936 Dependency autocompletion causes confusing behaviour when editing POMs 930727b: don't call exception-throwing equals in RecursionManager cleanup (EA-42400) d3d8615: possible fix for testNonFinishedParameterComma 6b8a5fe: some params for RollingFileAppender 5dda4ae: fixed memory leak in Disposer in tests a40cf24: RUBY-14125: fixed NPE in jsch. See jsch-ruby-14125.pch for changes d096aec: Better topmost window evaluation, ModalityHelper is extracted in a separate class. Some warnings have been eliminated. 2c4d4ee: change resulting message level from "warning" to "information" 9bce39d: Internal actions for manual mac messages and modality testing. 6761eca: cleanup 119fcb0: javadoc f4e2842: IDEA-114241 detect fileType when document is fetched cd454f2: cleanup 51bd5d3: memory: manually cleanup files retained by java.io.DeleteOnExitHook.files b28887a: cleanup aaa74f2: Cleanup (typo; description added) 308c457: Merge remote-tracking branch 'origin/master' 4b3647c: fixed PY-10995 properly, fixed broken test e922738: IDEA-113483 (go to link target action) cc6752d: categories added 82579d1: wording 2d67f77: tests: ignore sub-selections in tree view (IDEA-114301) d02832e: plugins: always check filtered plugins as well as shown (IDEA-114393) ea902b7: filter default methods on implement even if language level is less than 1.8 (IDEA-114157) 56ab3ce: Merge remote-tracking branch 'origin/master' 08456cc: let's use rolling log file to prevent OOME in tests cf608f8: Gradle: plugin-ext package updated 41e6639: Gradle: plugin-ext package updated 9eb98b3: Add boldness for keywords in completion list for YouTrack queries 24a4fec: CR-IC-2619 (test fixed) 6403ffa2: IDEA-114316 (Problem with "replace StringBuilder with String" refactoring) ad5345b: IDEA-88958: Allow to mark directories as Excluded inside external libraries - committed again, NPE fixed 6d28206: toolbar toggle DumbAware b9403aa: break words in complex identifiers when indexing (needed for CLJ-243) 95ae574: IDEA-113944: Make Jira version number matching more permissive f719906: Update prefix extracting and inclusion logic in YouTrack completion 05a5e6e: realistic isIdeaProject() impl f689a57: detailed diagnostic 0a6c97d: Merge remote-tracking branch 'origin/master' dc19395: revert Nik 30796da: Optimization: build(File, ProjectBuildingRequest) does not use cache. We need to call build(List<File>, boolean, ProjectBuildingRequest) instead. 9ef1ca7: cleanup 4361717: project leak 4a63408: Github: move function e7e8d02: IDEA-114228 Github: allow to specify http connection timeout f79d3ac: Github: fix tests 0161f7d: IDEA-114253 Github: fix json parse encoding dcaa5bf: init WEB-9343 nodejs debugging hangs on rerun 76cf96a: myShouldKillProcessSoftly 89e3763: Use Messages.YES +review CR-IC-2621 ef1d96d: Remove all debug-specific code from annotator c536400: Use shortcutsById(IdeActions.ACTION_DELETE) as shortcat set instead of CommonShortcuts.DELETE +review CR-IC-2620 8ff402f: allow to assign different shortcuts to SearchEverywhere 5f45530: AppCode: more custom icons, removed unnecessary file types b077166: positioning and less classes and files to show f5e4020: IDEA-113053 Gradle: Quick Documentation for standard gradle plugins is not shown if invoked from Code Completion popup 1b14b9e: activate editor if it is created in background (e.g. in settings dialog) ba36d39: Platform: do not show unnecessary items in NavBar for single-module single-root projects 520e2f7: IDEA-111700 (Add inspection to check for unclosed resources) 1123eb0: OC-8394 Documentation not found 76c5679: [git] ignore tests until fixed. bd31e27: [git] IDEA-114363 Remove AbstractHash implementation with HashImpl. 7f094c9: [git] remove unused methods & unused parameter cef6103: IDEA-88958: Allow to mark directories as Excluded inside external libraries 651dd75: autotest delay is customizable now default is back to 3 seconds #RUBY-10517 fixed #PY-10711 fixed db62af1: YesNo message — ability to pass project and doNotAskOption +review 2f241d3: Platform: patch updater fixed on Mac - UI hung due to out-ot-AWT LaF installation 93021c7: IDEA-113930 External System: please rename 'Refresh external project' action in Keymap (currently it is named just 'Refresh') 9b42e98: IDEA-56995 Disable code formatting per region using comments 16bc69c: Platform: obsolete welcome screen code removed 61d5d93: Merge remote-tracking branch 'origin/master' 96011e5: Platform: unified frame background painting + avoid background blinking on frame initialization AppCode: disable lining background in AppCode cb834be: Gradle: plugin-ext package updated 87daa77: commons-io license added to libLicenses.gant files c6e5be2: IDEA-113938 "Submit feedback" should pre-fill project and affected version 2edca81: IDEA-114360 Github: remove double borders for TextArea inside ScrollPane 307c6cc: run configurations: accept configuration creation over multi selection in project view (IDEA-114259) 4caf5f0: IDEA-114361 Github: use wrapper for error messages everywhere 7e453ed: Merge remote-tracking branch 'origin/master' 417e906: test data fixed 69c2310: CR-IC-2619 (custom shell environment loader) f88239e: CR-IC-2619 (custom shell environment loader) 80da277: make file writable before dfa replace fix (EA-47299) 952fb2d: prevent debugger fragment psi to be gc-ed and a plain java file recreated instead (EA-47504) d7c0e64: diagnostics for malformed canonical text (EA-47528) 6ae92c8: cancel autopopup completion on injected editor invalidation (EA-47977) 23f2246: resource root replaced by source root to fix opening IDEA project in IDEA 12 3267a0f: Merge remote-tracking branch 'origin/master' 2c28bab: Add more robust prefix matching in YouTrack queries 141ea45: Add check that repository was configured in annotator ee4c57c: save default visibility for method extracted from public one (IDEA-114292) 0edb272: restart infer nullity procedure after library addition (IDEA-114163) 7bf6e77: warn about usages of final fields in another fields even if they appear after constructor where it would be definitely assigned (IDEA-114280) 6d6b73b: attempt to fix compilation 337b019: Overrides f5ed92d: Overrides 651d279: io.netty.handler.codec.TooLongFrameException: HTTP content length exceeded 1048576 bytes. 1347fde: EA-50505 catch any exception 623ae2f: fixed PY-10995 Wrapping on right margin deletes code with slashes at the end of miltiline statements. 2a7d34e: out-of-process build: handle caches corruption in compile tasks run in IDEA 6ca2151: cleanup 97ad974: moved container extension point to platform 717785e: Merge remote-tracking branch 'origin/master' 777c319: IDEA-113874 Gradle tool window: horizontal scrollbar is incorrectly displayed 420e6f7: cleanup 6126ecb: CR-IC-2522 BeforeCommitDialogHandler 1f81a14: Overrides, cleanup javadoc 58f4563: fix parameter info after generics (IDEA-114245) 99ab7e9: convert to vararg: avoid parameter change as long as possible (IDEA-114314) a4eba61: new inference: take first equals bound b8f2889: new inference: accept lambda expression as assignment context when implicit expression return is used 16c7eee: new inference: accept implicitly typed lambdas with already inferred param types as pertinent to applicability e966dfe: avoid creation of same stubindexkeys more than once to fix assertion in ID.java:74 1991c30: Add custom insert handler for completion items suggested by YouTrack intellisense f670acd: IDEA-114317 Can't word-complete inside a string literal 2987cac: IDEA-114015 Scrollbar preview is twice as big as it should be +Exception fix f0a5ba1: library roots tree: simplified 59efb8d: make GroovyIconProvider non dumb-aware to avoid costly non-cancellable resolve during indexing 8542da1: prevent NPE after stub-ast mismatch cleanup (EA-38568) 0a02886: EA-50000 diagnostics a51b052: drop griffon cache on root change aede353: IDEA-113935 Gradle: Import Gradle Project adds a new module to the last imported project 70ba178: new project wizard: project type tree 8888a07: add setOriginalFile call for WI-20127 0137c4d: safe delete dead code 27910e0: IDEA-114216 Can not uncheck breakpoint in breakpoints popup and impossible to close this popup 6cf369e: Use Messages instead of JOptionPane. 1b4d85e: Register shortcuts of Remove/Edit Maven run configuration on Maven Tool Window, non global. 95189d7: Add possibility to install completion provider on TextFieldWithAutoCompletion after its instantiation e4e5451: ExternalToolPass#doApplyInformationToEditor uses ModalityState.stateForComponent() for highlighting in modal dialogs f1061e2: Add support of YouTrack queries completion and highlighting (via external annotator) in its connector f8ea705: Bug fix. Disable action if Run configuration is not selected. f928f11: debugging unresponsive p4 server in tests cfdc1c3: EA-50446 (code fixed; test coverage increased) 2271277: memory leak fixed d129223: revert assertion 4d98880: Find usages optimisation to get first usages faster. When searching for usages of 'm', first scan files which contain the name of the container of 'm' (e.g. 'PsiManager' if we are searching for PsiManager.getInstance() usages), and then all the remaining files. This optimisation relies on the correct implementation of com.intellij.codeInsight.ContainerProvider for particular language. dd87e23: cleanup, tiny optimisation 4329d27: NPE 092bd7f: cleanup 5f5ca20: cleanup, tiny optimisation 1bbf4a7: fix test data d40723c: fix test data f1b431a: swap ifs for theoretical performance increase cd25ef3: add language="JAVA" for PackageInfoWithoutPackageInspection eb2b5af: platform: loading multi-line env variables [by dennis]; tests added 3625b6f: IDEA-114294 BackSpace key doesn't work in GoTo Class/File/Action 287b7fd: memory leak in tests fixed 317c863: IDEA-114309 Groovy: Pull Members Up: references to super class members accessed via 'super' keyword are incorrectly updated - dot is left 84cb062: IDEA-114264 more accurate script checking 155c0af: make a request instead of bombed test 27df426: extract jdk8-specific dfa test 4542fe6: restored API of MultiMap bc51077: xdebugger: some usages of impl methods replace by API calls 1386870: darcula inactive selection 1b2f06c: identifier under caret colors 06b1117: IDEA-114332 Dotted line looks ugly under Retina (7u40) 093f634: rollback lense mode bdb25c1: fix yellow code producing by CommonDataKeys f50b856: fix yellow code producing by CommonDataKeys 99d87f1: fix yellow code producing by CommonDataKeys 465d7df: fix yellow code producing by CommonDataKeys 95f058b: fix yellow code producing by CommonDataKeys e0ad5ac: fix yellow code producing by CommonDataKeys 9ecde9f: fix yellow code producing by CommonDataKeys 10c7d44: platform: disk space monitor moved into dedicated component 2bb5b35: ignore enum vals references from switch statements? a0bd7a0: forbid Object == primitive comparison for java 8; flipped fc4466e: new inference: allow to infer from return type with wildcard substitution a1cf88f: forbid Object == primitive comparison for java 8 e6ea7bc: accept type arguments on raw types for > 1.6 javac 52fea51: new inference: retrieve return type from containing lambda 88e5617: new inference: find current method 340cae7: Lense mode "EAP" preview 4724515: CE module path fixed 78ec20b: CE project files updated by IDEA 91b97ed: IDEA-113594 (OpenJDK notification refined) f3cc029: new "'package-info.java' without 'package' statement" inspection ffe104b: ignore case 16f14ae: Minor optimization (empty map creation avoided) 56a5a31: IDEA-114283 (diagnostic) 7c39901: Cleanup (system dir write-ability is checked earlier) 14b9a63: platform: path manager update aa8b642: correct path to module c11b33d: moving jps-launcher.iml under module content root adc2749: missing optimized file manager diagnostic 5172410: spelling fixed 08bc0b6: GetFileNameInTargetRevision updated bc10696: (IDEA-114096) Adding file to mercurial is slow - try to fixed. d11cbd9: IdeaTestAssistant: fix nullable issues 9fa9303: IdeaTestAssistant: rationalize static fields 4089c01: cleanup 0149092: use ProjectFileIndex service directly fb9275d: language level pushers can skip individual directories in order to allow e.g. JavaLanguageLevelPusher to avoid nonsource roots 86b4fd1: Merge remote-tracking branch 'origin/master' 730fae3: check canceled a46d585: Platform: NativeIconProvider -> NPE fix + dumb-aware +review @fokin d32e9c8: Gradle: update bundled gradle version to '1.8' cf911a5: Groovy: disable pulling members up to java class 5835e6a: IDEA-114289 Groovy: Pull Members Up: 'implements library interface' clause is not suggested it 'Members to be pulled up' list 614f4b4: synthetic reference list for type definitions e08dc40: IDEA-74140 Improve support for large screens: Better Docking framework 6891652: hot keys removed 0b17509: Use DbPsiFacade everywhere in order to support LocalDataSources from different DbPsiManagers 4d1399c: [log] remove obsolete icon record 1846b5c: 'stringify' added 0378563: fix yet another AIOOBE caused by finally dfa 3a1ab0f: IDEA-114256 Completion popup should prefer option without prefix f21968a: extend query names for java 8 (IDEA-113826) 8465d67: scopes: show java files without classes as file nodes in scopes view (IDEA-114223) ad91fda: alternative id for javadoc inspection (IDEA-114198) 56cd851: IDEA-114273 "restore old layout" tip is misleading for new users and for those, who had tool window stripes hidden c230007: IDEA-114288 New search button in toolbar doesn't behave like rest of the buttons 2cf8516: add git log icon ce04652: + plain find icon bfa4ff5: cleanup: stop spreading new empty arrays d1e442c: removed java-psi on xml-psi dependency e0bf519: cleanup 069d172: cancel find usages on usage view close ded351b: SHA1 checksum fixed 079c20b: EA-49910 - AIOOBE: OrderByInJavaInjector.getLanguagesToInject 217ecd5: cleanup 0f3c17d: [log] Remove the obsolete icon 264acfb: [log] Fix a misprint in postponed refreshing of the hidden log. 50fe606: [log] cleanup ce60cb6: IDEA-114160 (Inspection "Class with too many methods" may ignore overridden methods) eb1101f: IDEA-114283 (diagnostic) 522ef99: Cleanup (single usage inlined) be00f8e: remove obsolete dependent facet from module (jsf) 7ee2bba: jps-launcher module added 8619f20: IDEA-114287 Search control in toolbar disappears when second project is open 0306a23: don't add action if it's not defined 83d630c: Gradle: default daemon vm xmx option removed 566b4b3: Gradle: project imports changed ee5c78f: fix table header (better font + force AA) 07ec5a9: IDEA-114130: class loader that loads annotation processors should have access to classes from tools.jar, but not to libraries used by jps build itself 5c158b7: Merge remote-tracking branch 'origin/master' c27c595: AllIcons: re-generate for proper sorting 0c02763: revert simplification 2a2b8a9: new inference: avoid resolve when possible fe71df6: new inference: SOE prevention c56a2a6: new inference: from default constructors eb63e34: new inference: dirty fixes for wildcards dfedfd4: new inference: more precise potentially applicable method detection a2f6e65: CodeInsightTestFixtureImpl: reset caret position and selection on 'configure...' 9084737: Show goals as hint for Maven Run Configuration node. 1517564: Add "Edit Run Configuration" action to Maven Tool Window. 2d9eee2: reuse EditorImpl instance: one per JTable b67f670: More CPU hogging fixes 83591d0: reuse DelegateColorScheme & improve color scheme change handling 3d10fc8: Arrangement: grouping panel visibility (cherry picked from commit 5b4776f) c780a00: IDEA-108831 Display Maven configurations inside maven project window Update tree when run configuration has added. 78c3769: a bit faster dfa state merging by using identity set 582a31b: dfa: flush code block variables when leaving it via break/continue route a28701a: IDEA-114190 Navigation bar font too small 3973423: + Search Everywhere ad 7c97806: enable Search Everywhere and disable toolbar a8b2e8a: gaps in actions w/o location string 9919d05: IDEA-108831 Display Maven configurations inside maven project window Add "Remove Run Configuration Action" b4a054f: Merge branch 'sudo-escaping' 82bfba2: correct title on Windows 692bc39: IDEA-114125 Groovy: Pull Members Up: an implements clause should not be available for selection if a target to pull it up is an interface in the clause 3c7ea2b: format annotation methods a7eedf4: IDEA-112250 'remove unnecessary semicolons' in class body e0d6c56: RUBY-14069 Expand template does not work properly match back to method delim in ruby 2dba3de: @Nullable 42f82c6: Fix ConfigurablesModifiedTest.testSearchableConfigurables 7215b82: Add missing @TestDataFile annotations 234eeaf: IdeaTestAssistant: do not suggest create files if both of it exists 7274df7: IdeaTestAssistant: fix test data path calculation 9211e8c: Emmet: fix OOBE 0746ee3: IDEA-65114 "Add Maven projects" cannot be undone Fix spelling in the error message. c315931: IDEA-108831 Display Maven configurations inside maven project window Show icon for template configuration, use ProgramRunUtil to run the run configuration. 39e5e20: IDEA-114169 (false positive for non-intersecting throwers) 335436e: Cleanup (formatting) cebb5b8: fix dfa offset management when handling possible exceptions in finally 25961fc: Gradle: resolve.contributor order fix 0a1a130: jps model serialization: use default (java) module source root type if type isn't registered ea46a65: 15 files limit 0ecbbf7: Merge remote-tracking branch 'origin/master' 1805aa2: dumb aware 80c5fc8: empty project type 447cdad: tests fixed 9929e0f: fix gaps in renderer in case of file colors enabled 3da1368: Merge remote-tracking branch 'origin/master' 47c6c92: different layout algorithm in case of toolbar fb0d106: Groovy: conflict detecting for pull members up 5498d8e: IDEA-114152 Groovy: Pull Members Up: it is not always detected that there are items in a pulled method that will be not available after the refactoring 21ac285: IDEA-114137 Groovy: Pull Members Up: JavaDocs are never moved 1250b91: IDEA-114124 Groovy: Pull Members Up: pulling declaration of multiple implementation up results in invalid code (comma is not removed) 43f86fc: IDEA-114036 empty gstring-contents in GStrings 03e1eed: cleanup closure completer 21dbd35: Merge branch 'svn1_8_new' 56fefb8: Merge remote-tracking branch 'origin/master' 7351197: better font sizes + fix all warnings 62434c5: svn: Refactored "upgrade" for command line client - parse output in parallel with command execution 47979c3: Gradle: NPE fixed 82c6722: svn: Refactored revert client for command line - use utility method for event creation 9196b27: svn: Implemented "Change" (upgrade) action for command line client 34de171: extract method: suggest correctly capitalized name (IDEA-114102) 21c1306: new inference: simplification f3063e6: dfa: don't merge by type states which have different eq states 1500c8e: dfa: merge states differing in one variable nullability ee9b1f8: fix typo 5f8e1c8: [git] fix RefParserTest 4cb85d53: [log] Fix parser test: implement equals for SimpleCommit 7c38e36: [log] Fix graph tests: implement SimpleHash#equals 8a94a08: BeforeCommitDialogHandler +review CR-IC e0b7636: cleanup 3abedac: cleanup e018581: cleanup PropertyUtil 82f005c: register "Missing 'package-info.java'" inspection b545c62: use the proper API in rename (IDEA-113698 Getter code generation removing "is" from getter method name) ae5e145: [log] revert accidental commit aa9bfa0: Use ExtendsListFix instead of custom "Make class 'Cloneable'" quick fix 061518a: Use ExtendsListFix instead of custom "Make class 'Serializable'" quick fix b283d86: [log] Let GraphBuilder tests skip check leaf nodes for references ba4cf8d: [log] create SimpleHash & SimpleCommit for tests to run w/o platform e7404d5: [log] Disable VcsLogJoinerTest until date-order is supported d6f768c: disable roaming for CachedDictionaryState, cleanup 16b2e10: [log] Optimize ref searching in GraphBuilder.append 94c7a41: Github: ask if host is trusted on checking credentials 5b7f0fc: Github: select 'Host' part of url for list of trusted hosts 64d03a1: Github: fix URL function names 8850c09: Github: add missing testGitExecutable c4cb6bb: dfa: when merging states by instanceof, don't forget null equivalence 08b715b: IDEA-113710 Complete Current Statement broken for generic methods b0af590: IDEA-113698 Getter code generation removing "is" from getter method name 6b0b1bc: unknown variables should not be nullable-enabled after instanceof f32fb52: [log] Don't draw all references on the branches panel: limit by width 8f23cf0: [log] Fix module dependencies 9c50041: [log] Remove tests on the CommitParser, because it is a test-only parser 2387dc6: Merge remote-tracking branch 'origin/master' into loki/newlog a0a4290: IDEA-114112 Pinned Database Tabs do not Survive "Close Others" 8a451e7: Add menu with Run, Debug, etc... items b6db127: init AddToIcs action ef5a356: cleanup 61bc344: cleanup 1559b62: Optimize updating of uplugin node. cb83b48: IDEA-108831 Display Maven configurations inside maven project window Add Run Configuration node a0a211b: new "Missing 'package-info.java'" inspection (first part of fix for IDEA-114069) e69eff0: Fix utils.gant to build modules vcs-log-api/graph/impl a7deb9a: [log] Split CommitParents into api & impl, and rename 22d743e: Better way of handling null (EA-50434) 7a7ac8b: IDEA-93868 No option to zoom in editor with keyboard c0aa98d: cleanup 87513de: revert 657aca1: [log] Split VcsRef to api and impl cc3137a: [log] Refactor VcsRefType: get ref types from log providers f346cb2: correct order of prefixes in autodetection 5c65333: generalized implementation of platform prefix autodetection 403ea4e: Merge remote-tracking branch 'origin/master' d3c3cbf: EA-50430 - NPE: RefactoringConflictsUtil.analyzeModuleConflicts 95714d6: new inference: check for more specific only exact method refs 0af0ef5: new inference: isExact method reference fixed f409c8c: do not log PCE 47e3a52: EA-50401 - CME: ElementBase.createLayeredIcon 261b854: EA-50388 - assert: PsiDocumentManagerBase.doCommit a03acbd: EA-49729 - assert: MarkupModelImpl.dispose 2383e90: assertion for EA-50103 - AIOOBE: PersistentHashMapValueStorage.readBytes 5af81c2: cleanup e6e84d3: synchronization 3f1d6b1: cleanup cfb4463: restore old constructor e6c352d: cleanup 2d5039f: Config file type icon dc997b3: PY-10901 (support for pkexec added) 2b41af8: IDEA-113983 Fixed infinite loading on checkout working copy format dialog (if SVNKit is used) - use ModalityState.any() 527f077: [log] Refactor VcsCommitDetails 4784831: PY-10901 (premature deletion of entry file fixed) 7fc149e: leave language empty to get inspection to warn on empty files b58ae8f: IDEA-114143 Sometimes tool window widget popup stays visible even if mouse is out of the window add39bd: cleanup f5a2a41: new X JavaBreakpoint works (except filters). Right now via adapter, it is enough for http://youtrack.jetbrains.com/issue/WEB-4429 and it is not hack (well, actually, it is hack because we use adapters, but in any case our JS Debug process (and Ruby in the future and any other clients) can work via XDebugger API and all low-level details are hidden. a2dfb54: getBreakpoints 465b6ba: cleanup d281b64: BreakpointManager as PersistentStateComponent<Element> 1c82611: cleanup c9a4879: cleanup b3b32c4: better matching for settings 3c4a806: disposing b370bc5: dfa: don't forget variable instanceof info when merging states 083da84: use identity map for more efficient dfa state copy lookup c5e4339: cache eq pairs in StateMerger 81f4dd4: reuse StateMerger with its cache 3a8ab75: WEB-9383 Hide Emmet's CSS options when CSS file type is not registered WEB-9369 Enable/disable Emmet based on language 46f0330: simplification: DirectoryInfo are created for all directories recursively so it doesn't make sense to check parents in ProjectFileIndex b3dd860: IDEA-113983 Fixed checkout from welcome screen (default project) 667c800: dfa: fix subroutine offsets when leaving finally via exception route 35af984: svn: Refactored repository url resolving for command line - use separate repository providers 4899a4f: Gradle: update bundled gradle version to '1.8' f7fafce: groovy wizard steps refactored a61df58: UnfairTextRange 900be54: JavaFX is back 21c7d10: IDEA-113844 (stacktrace in the plugins initialization error dialog) 237dfd8: allow to show non-project classes if nothing found in project 6c6ff3d: Merge remote-tracking branch 'origin/master' 282d362: IDEA-50450 Gradle code insight a5f9154: remove debug info from NameUtilMatchingTest 2684f01: simplify a constant condition fce731c: remove @Nullable from PsiElement.getFirst/LastChild 0a4cd7a: don't cancel balloon and popup on editors actions 44be6ef: bytecode viewer: (c) bfcab48: remove unused class f6673c3: dfa: let commented tests reference requests 12ef808: fighting too complex methods: merge states which differ only in unknown variables c0b7d5a: IDEA-114059 Remove 'Configure Assert/Check Methods' from Constant Conditions settings 2db1cd4: extract dfa-related completion tests to separate test cases 420b4d4: fighting too complex methods: merge states with complementing instanceof 3a5310d: GroovyCompletionContributor cleanup dea8248: dfa: if a variable is not nullable-enabled, don't make it such 304a3b6: Merge branch 'svn1_8_new' 584cea2: temp disable tests 2ea47e3: new inference: move test 6210db9: svn: Implemented "Share Project" action for command line c64c4ec: svn: Added "force" parameter to checkout client 6f46313: svn: Fixed http/https authentication for svn 1.7 command line in non-interactive mode 6da60f1: IDEA-113934 Forced all calls to svn command line be non-interactive (corresponding destroy process logic udpated) 052bd9a: IDEA-113934 Ensure ProcessHandler.destroyProcess() is not called from thread other than started the process (as some code flows lead to deadlock - destroy requires read lock, but command was called under write lock) 4cb7d5c: fix NPE on null language when file type is not language file type but highlighter returns language based tokens (e.g. form file type and xmlsyntaxhighlighter) 2c49d81: [log] Remove VcsLogLogger, use separate Loggers for each class. 85b5bfc: [log] rename vcs-log-impl.xml to vcs-log.xml d081d87: new inference: avoid proper inference during constraint composing bca2a62: new inference: order of the additional constraints 67705e8: new inference: fix isPertinent for implicit typed lambdas de7e2ef: [log] Move the BasicVcsLogRefSorter from api to impl 7e7caee: [log] Move VcsLogManager from dvcs to vcs-log-impl 2488e96: [log] Split VcsLogSettings into api and impl, move xml config file e126d42: 100k times loop should not be in dynamic Groovy f3d5ff6: [log] Fix disposal of the VcsLogManager 855f2aa: Fixed escaping of sh arguments that contain "'" characters ebba545: svn: Updated invokeLater for checkout dialog to use modality state b49b08d: svn: Fixed checkout logic that assumed only 1.6 and 1.7 formats are known 0319948: made final a17e5ad: assertion for not blocking EDT be67cce: moved highlighters to java-psi 9528aae: cleanup 5f3a7f3: cleanup 8a25348: moves 19e1a97: made public 189184c: hide overexposed details 0c676b6: svn: Added supported format validation to checkout clients 1d16caa: svn: Made working copy format @NotNull in checkout client c4ea074: [svn] Set up title + icon for "merge source" action in the constructor 320e6b3: fix margins + titles bg 643d143: set background properly b41105f: tests: case-insensitive rename test fixed 1ad88cb: excessive "Module" removed 549ff4e: excessive "Module" removed 25b1dae: new inference: collect input vars over SAM parameter types for implicit lambdas/inexact method refs 01a9ee7: test passed 0e16caa: fix NPE 1b899ca: memory leak fixed aa86ffa: svn: Made checkout logic show only working copy formats supported by the current client (SVNKit or command line determined from settings) 15713d4: svn: Moved logic to show "Working Copy Format" dialog to SvnCheckoutProvider 1b49ff3: svn: Simplified logic for showing "Working Copy Format" dialog for checkout/share project (as dialog is only shown from AWT thread) b0bccf7: svn: Refactored "Share Project" action to show "Working Copy Format" directly in AWT thread (before "run progress synchronously") e9f958e: [log] Make Hash to be an interface, since it resides in the vcs-log-api 14c72cf: [log] Merge vcs-log-data and -ui modules into a single vcs-log-impl 8f1ea0f: [log] Don't refresh the log when it is hidden c70bab6: svn: Refactored "Upgrade format" dialog logic - use instance instead of static methods 5c31597: svn: Removed unused parameters from checkout dialog logic 3067539: [log] cleanup 4ed949a: [log] remove unused classes 2569bb1: [log] move some painting classes from vcs-log-ui to vcs-log-graph 93f65d1: [log] merge vcs-log-common module to vcs-log-graph 9c4f3bf: [log] merge vcs-log-print-model module to vcs-log-graph 43783fe: [log] Rename packages to conform common com.intellij.* prefix 14eae48: [log] remove the debug MyTimer & usages 67aa7a2: [log] remove the unused manifest file dd55b3a: [log] Move vcs-log modules from dvcs to platform a57e7c1: [log] smaller round radius for reference labels. 3eefdac: [log] Draw root flags only on the BranchesPanel + better flags shape f0ae24e7: Merge branch 'loki/newlog' a5a3a2f: [log] Invalidate myLogData on refreshCompletely() fe05113: [log] Show the same log portion as it were before refresh 455eba0: [log] better toString for CommitParents c76df09: [log] Don't show "load more commits" at the end of the list. 3ab5449: [log] Protect against NPE: log the fact that the commit wasn't found 03bb150: [log] Fix NPE: don't set new refs to the LogData until it is ready. e2a86b9: [log] Multiple fixes and refactorings in VcsLogDataHolder 62e2979: [log] show all remote branches in the BranchesPanel 8667571: [log] Fix NPE in the roots column (graph not fully loaded yet) 61b1b91: [log] Refactor refresh API ae90745: [log] make sure we get the actual information about Git branches 5391362: [log] Sort reference labels 69a9a60: remove unneeded"implements" 0478fd3: convert to Java b614447: [log] Show Git tags in the log. 9d7d0aa: [log] Better colors for reference labels + some customization 62c11d7: [log] Draw a thin stripe at the left of the table as root indicator 20253cd: [log] Draw root indicators (a colored flag) on reference labels 2a33113: [log] Store the reference to the current repository root in Branch 9bea851: Merge remote-tracking branch 'origin/master' into loki/newlog 40ebe22: [git] Temporary hack VcsLogJoiner 9093316: [git] Don't use short hashes in the log internally. 6298ef7: [log] Protect commit hierarchy against incompatible equals() 3f5457b: Merge remote-tracking branch 'origin/master' into loki/newlog 4db4e37: [log] Don't request diff in `git show` c2d4f05: [log] Fix refresh button 001d5e3: [log] cleanup: variable names, toString, notnulls 71734a2: [log] Rename vcs.log.Ref to vcs.log.VcsRef to simplify find usages. 25434ee: [log] Support loading details in the multi-repo setup 0f36277: [log] Multirepository support (without additional details loading yet) 52b3e69: [log] VcsLogMultiRepoJoiner + test 96c1010: Request the author time from Git. 4dec888: [log] Protect against clicks below a short log. 991e3c0: [log] Fix AIOOBE for small logs 787c1b2: Register dvcs module services in the PlatformPlugin.xml & friends 6833223: Remove unused class (moved to TimeCommitParentsImpl actually) c7165f3: Merge remote-tracking branch 'origin/master' into loki/newlog 6895998: Store the commit timestamp, and use TimeCommitParents everywhere 5ce3418: Simple test on VcsLogJoiner 7e928f3: Don't require VcsLogJoiner to load remaining part of the log be86d28: Merge branch 'master' of git.labs.intellij.net:idea/community into loki/newlog 86bab18: Merge remote-tracking branch 'origin/master' into loki/newlog 0434bf6: VcsLogJoiner: concat new part of the log with the old unchanged part a36e596: Merge remote-tracking branch 'origin/loki/newlog' into loki/newlog f313a02: add commit integrator 9a5af3d: add check what all new commits were loaded 5dcebce: fix declaration addCommits in VcsLogJoiner 2032449: Fix refresh button eeed37a: Build graph for the not-loaded part of the log for go-to-commit bc212bd: Make --date-order optional 903e46c: Introduce VcsLogJoiner to attach newly requested commits to the log. ac677f7: Fix date parsing: git returns it in seconds 911dad2: reload the whole log on Refresh action ba898e2: remove todo: no need to use file storage for mini-details 5e0916f: [vcs log] spend less memory for the whole log c06f033: dispose the VcsLogDataHolder 285550f: [vcs log] Add async loading support to the DetailsPanel 9ad7348: cleanup 85aea63: cleanup: remove throws VcsException when it is not thrown 65cda77: [vcs log] Async loading mini-details and details b380987: make VcsLogDataHolder disposable d206b7f: already disposed 17b8c4f: read whole log from all branches c77ba66: [vcs log] Remove some obsolete stuff 62c9fd3: [log] DRY, add ability to display show diff for multiple commits fb46ebc: use the common logger instance d0a704d: [vcs log] log the fact that a Node for a Hash wasn't found fb619bf: Introduce a common logger category for the vcs log. 1c42fe9: Log: Separate hash+parents from commit details; refactor initialization 79104b0: Refresh the Log when Git repository changes 91dc1cf: Merge remote-tracking branch 'origin/master' into loki/newlog 045c07e: VcsLogRefresher: refresh everything or just refs; use for the button 55f9eac: javadocs f082a212: GitRepositoryManager#waitUntilInitialized to let other components (especially GitLogProvider) wait for GitRepositories. b3e009b: JComponent instead of JPanel a810541: committer info 05195e0: better details pane layout 2fe2c49: simplify background setting e37a124: Details panel initial UI version 2bcc332: DetailsPanel stub & Vcs Log Settings a6c1c39: fix dependencies abfddb5: cleanup 6b7fb6a: cleanup fe365d1: [git log] introduce constants for table columns 676c733: [git log] highlight not only commit column, but all columns bcd3ba6: cleanup fc7beb5: remove extra abstraction (CommitCellRender is unused) b9dd6ad: remove color customization 4b8741f: [git log] VcsLogGraphTable: extend JBTable, cleanup f5913d2: [git log] Support multiple commits selection diff 4e58546: [git log] clean VcsLogGraphTable from editing/dragging stuff 4db4910: [git log] Changes Browser at the right of the table. 81c183e: fix style cf8bde6: [git log] Split VcsLogController, fix dependencies 1b9202e: get refs from datapack 342ac77: cleanup 74bf582: move ui methods to VcsLogUi 6368ae7: move ui methods to VcsLogUi 9c0fcbe: move ui methods to VcsLogUi 4491441: move ui methods to VcsLogUi dda7fb2: move hide/showAll to VcsLogUI: not a controller goal 3515255: no need to hide in background: it is quick 85bc642: remove double click handler: "load more" should be a separate row b9e4cbb: cleanup 7e7b04b: get rid of DataPackUtils: move methods to the DataPack b21072a: moves 696a504: rename module 53135a5: cleanup 36d89bb: [git log] Encapsule the cache in VcsCommitCache, remove CacheGet 8fe5966: [git log] Get rid of CacheGet, step 1: inline the separate usage ee17fdb: [git log] unused b4f3338: [git log] inline interface 5135904: [git log] rearrange, style, @NotNull b4013d9: [git log] rename a9c16a6: [git log] simplification move 1e4fcaac: [git log] DataPack: inline interface: unneeded abstraction 080aaf8: [git log] Get rid of the DataLoader db82174: [git log] Remove refresh method: duplicates init() ea06a08: [git log] Remove graph building timers: it is always quick enough 7e2964f: [git log] Remove CommitData: use VcsCommit instead 2332592: [git log] fix git4idea dependencies, move time measurement above c4a5faa: [git log] move remainings of vcs-log-data to api & data-model 808c8f2: [git log] move CommitParser & friends to graph test source, since it is used only in graph tests now. 514939f: [git log] merge vcs-log-graph-model to vcs-log-graph 01ae6e5: [git log] don't preload all details once more + some refactorings d151c69: [git log] rename UI_Controller to VcsLogController ce6bd13: [git log] replace custom DataConverted with the DateFormatUtil a0bc794: [git log] more moves 0701710: [git log] rename module swing_ui to ui 356718c: [git log] rename swing_ui to ui 2669aba: [git log] move ui stuff from ui-controller to swing_ui 7bdc349: [git log] style 65a06b1: [git log] rename 5207be4: [git log] Extract drag-n-drop support to a separate class 8de2755: [git log] delete more unused substances. df9a4be: [git log] no need to update visible branches on branch label click. 805e8a2: [git log] more deletions of unused classes/methods 06b3718: [git log] Remove unused classes ad5e658: [git log] rename class 368e824: [git log] move Hash tests in the same module as Hash bff0af8: [git log] remove unneeded abstract test eb2274c: [git log] CacheGet to extend SLRUCache 998aacc: [git log] remove InvertibleMap: not used d61409c: [git log] not interactive yet => disable table row editing d7e5ced: [git log] Disable old log if new one is enabled 2e4426b9: [git log] Replace MultiMap in favor of util.MultiMap 43ae31c: [git log] Remove Function: use com.intellij.util.Function 3d8d271: [git log] Remove ShortList: not used 33c71bd: [git log] Replace Executor by Consumer 967607e: [git log] Better indicator text b9a8e1f: Git Log: Replace OneElementList by SmartList. 2beeb54: Git Log: temporary timer 03d716a: Remove git4idea.Hash in favor of vcs.log.Hash fc88bdc: [git log] Use new GitCommit to query commit details 1a5f606: Merge remote-tracking branch 'origin/master' into loki/newlog 7ea3327: [git log] Fix layout: don't stretch the toolbar vertically 88d0e98: [git log] Limit initial history loading. 1af03a7: Merge remote-tracking branch 'origin/master' into loki/newlog 590ab72: Revert making method public for hackathon 75f087f: Revert a hack for hackathon 3160a28: Revert the hackathon hack. 4bf6dc7: [git log] Display the "Loading" during the initial load process. 4443232: [git log] simplify: consumer is not needed, always in background 48fb4f6: [git] Don't read refs/remotes/origin/HEAD to remote branches. 88e36b0: Don't recreate MainFrame and other components on each refresh ee33aa1: Remove deleted module. eaec9f2: Git Log: shortcut for the refresh action 208af08: Git Log: make the toolbar looks like all IDEAs toolbars, use AnActions a1575da: cleanup: remove unused/unneeded classes d0e5178: Remove RefParser, since there is no refs reading anymore 63b5b4b: Make not closeable 4ac2971: Use git4idea standard framework to load refs ac7da1b: Use git4idea standard framework to load commits b213efd: select the tab on startup (for easier debugging) aa54e5d: Git Log: disable interactivity 604a56e: VCS Log: fix module dependencies, be independent from Git 24b1484: Move [ideally] git agnostic GitAlk modules to dvcs 4f663cc: Remove unneeded files which came from GitAlk project: .idea, etc. 138bd41: Fix the compilation after integrating GitAlk & hackathon-git-log histories. 932dfa4: Merge changes made on hackathon github.com:JetBrains/hackathon-git-log 04ef0f3: Imported GitAlk project as a subtree. See https://github.com/erokhins/GitAlk for the original c02fb85: NPE fixed ae8367a: Display selected items in white aeaaaab: add select insert place 19a99fb: report progress in UI thread 148b7d4: (Hackathon over) better appearance of APPLY commits aa8f617: report progress 5945ac5: Applied supported 398a2a8: Only allow 80-cahr messages in tooltips 0e336f8: reword/fixup with conflicts ded9efb: Selection works! d499948: Fixup supported 6f02c63: turn on reword in backend 19e7aad: isInteractiveRebaseInProgress? fee9156: Reword supported d7ea6af: better assertion 05ef64a: NPE protection f85d267: Fix rebase on topmost commit 9ef6dbf: Display cll editor 4234b8f: Always cherry-pick on ALT 792b529: style c27ad46: Don't count edge nodes + sort refs 7e8eb3e: Initially load all commit data, hold the cache per project (don't clear it after each refresh). 653944c: Measure details loading time 21a72f2: A little better selection 0e1eb79: One more indexing problem fixed 756cd23: Getting rid of unneeded map b2df80c: Fix CacheCommitDataGetter for fake commits. f2e26cf: optimize: option to reuse previous Git output for RefReader and CommitParentsReader 101ec77: take fake commits from cache. abc1817: More fixes in reordering e38a2b8: fix graph selection 0a66e68: Moving top commit fixed 9c52242: Multiple reorders supported b91a21d: Fix freezing during continue rebase in interactive rebase mode: use the Trivial Editor. 5418b1e: Reordering fixed ad26591: Inserting nodes into proper rows f3ee017: Ignore HEAD when displaying interactive rebase 2abef08: Special type for HEAD 2b25e4c: Fix finding commits of a branch 52922f0: Very basic reordering 7387787: New utilities for graph processing 3065276: Remember colors of refs. 11aedb1: Hide unlabeled commits + some basics for reordering 823942d: fix virtual file comparator in case of deleted files 1488bc6: ++ Compilation fixed 2d6fd1c: ++ Fix compilation 72d38d3: Do not show the same branch in two places: as interactively rebased and not at the same time 3105ab0: Use branch name in the rebase success notification if possible. 39cb72b: minor refactoring dff52f8: Interactive rebase (not onto) eb587d0: Fix columns width resizing after refresh 0060c21: Remove extra gap at the left of the branches panel 62e78a7: Invoke trivial editor on continue rebase if needed 3a0bc02: Conflict resolver for interactive rebase dd6aa9e: Buttons for Abort & Continue rebase 6926432: Support cancelling interactive rebase 10e6fce: Rebase logic moved to controller cf2129a: repaint branch panel on ui refresh d6e306c: Don't display remote branches which point to the same hash as local ones. Repaint the branches panel on refresh. 229bbcd: Interactive rebase backend 4aaeac7: toString 38cd132: Better icons for toolbar a45be67: Interactive rebase + Apply button 4d1b991: Highlight branches under interactive rebase differently 4ebd5c6: Keep highlighting in sync with selection 1cea8d2: Repaint fixed + background instead of bold font e665ebc: Very basic interactive rebase (only displaying in the graph) 10a7643: Workaround NPE 3afe562: onto added to interactive rebase 109153e: Always updateUI from init() (after bg task is completed) 1829290: rebase: notify success 4349f3b: Don't refresh too often & don't force refresh from git status fa98da3: Use Task.Backgrounable for lengthy tasks 69e5b03: Debugging NPE 8a3a210: Refresh the log after rebase & cherry-pick 4a99c18: Refresh the log on external events 50daede: Remove invalid assertion (by abreslav) 96dc201: Some rebase 0953049: Cherry-pick to label under cursor, if any aea58aa: Cherry-pick 17c95ae: API for refreshing e488a5c: Filter out remote branches, do not run action when no remote branch available 8106124: Always print request to the console 39bd34d: Correctly update UI after model changes: need to set new model ed84a8b: Use GitActionHandlerImpl c97f1b3: extract method cca82d3: Don't show index and stashes in the log c8f66b4: Fix DirectoryIndex exception on startup: make sure the Index is initialized before. e13644f: disable modifications on the start of cherry-pick 95e3a14: Basic logic for fixup and rebase ca2b231: showRefPopup extracted 1de85a9: Support dragging cancellation 64d16c1: Add branch name to "move" tooltip 8b66941: Select branches on "commit move" c00a845: Support multiple selection + no drag handler on click f6f64e7: Refresh button + fix really refreshing of the log: the data loader needs to be recreated 48d8a09: UI_Controller.getProject() 52cd7bb: Get GitCommit objects from Git, because we need the Changes. 874d4f7: Action framework c3e3f9f: Wrap interactive rebase builder to guarantee UI updates b63a88e: Controller returns many services dc6dbf5: Interface moved ce25618: Sorting selected commits by row index b299e9c: Dragging multiple commits ee8f09e: Hash -> Node 0ed8e70: Find row by hash 680288a: fix compilation after moves 6387801: Fix toolwindow icon sizez (13px required) cc86620: Implement cherry-pick. Not tested. 6cf6f76: remove rebase handler c13f164: InteractiveRebaseBuilder 2e78624: Merge branch 'master' of github.com:JetBrains/hackathon-git-log bf103bc: add DataPackUtils 48210d0: Interface for git operations d3f25c5: Add Git icon for the toolwindow 8c19dd0: println() 065ed2c: Showing icons and hints when dragging 8e75513: DragDropListener moved to controller a813539: Fix branch label positions on the branch panel e7c831b: remove stash tag ec06fee: Merge branch 'master' of github.com:JetBrains/hackathon-git-log 6c0c7f2: add drawing for current branch selections c6045bb: Show toolwindow on restart if it was previously showing e786502: Exclude IDEA's system directory 6f962b3: Merge branch 'master' of github.com:JetBrains/hackathon-git-log a14d648: add click actions for current branch selections cb02d04: HACK: Do not change table selection on drag-n-drop cb430f7: Add top panel with branch labels instead of a side table with them. 37df0c4: Merge branch 'master' of github.com:JetBrains/hackathon-git-log 4d0d57d: add CommitSelectController 7df0a82: Support for dragging and dropping commits 97968b7: Merge branch 'master' of github.com:JetBrains/hackathon-git-log 198fbab: select current branch commits 2e46688: PositionUtil extracted cd31b47: Extract method d894835: rename 165c401: rename 6250547: unused 0d3f297: Remove table header: looks nicer 66daa63: Display the log of the project repository, not the working directory 98864f2: Reformat to IDEA conventions 0bd2091: Merge branch 'master' of github.com:JetBrains/hackathon-git-log 50b96f4: load 1000 commits c268e89: MainFrame is not a frame anymore. 14df6c4: Intergrate GitAlk graph into IDEAs toolwindow cd89f11: Add GitAlk sources c9a70ed: save all 84f5b35: Create fake initial toolwindow under git4idea plugin d7b3c71: fix dependents 0c0e20d: new GraphDecoratorImpl 741af3d: create new GraphDecorator eaa5c61: add jump to row 61150ce: update UI ce5ef13: remove old not use function & set normal order in UI_Controller interface 91fdd44: fix draw refs e9519ea: (update UI)/2 ec5ad4a: fix bug connected with not hide EDGE_NODE 2ae545f: remove old code 8b03060: include new RefTable d97fdd6: add RefTreeTableModel 4b1b5ec: move refs from swing_ui to ui_controller 554fd4e: move left buttons to graph tab 9787ec0: add RefTreeCellRender bb0ef13: add HEAD not hide, if all is hide 04fbae4: add RefTreeModel 29db1fd: Add RefTreeTableNode e735107: Ref.Type -> Ref.RefType & add RefType.ANOTHER d6bd988: add test for hide & select branches 57a8ea5: add show button 04ad370: add GraphModelTest f9d85f3: fix not show tags a40c468: fix bug with branch visibility & hide fragments! aa81cd5: unhiddenNodes -> isUnconcealedNodes 308b478: Get -> Function f849d07: Edge.Type -> Edge.EdgeType, Node.Type -> Node.NodeType ddaa3c9: remove GraphFragment.isVisible() d19d418: Replace -> updateRequest 64185b1: add show progress dialog eb91ddb: update ErrorFrame -> ErrorModalDialog ca6e856: add crazy git log test 9cae49a: add MaxFragmentSize in ShortFragment 1e802d3: remove double preload commits d8d1b2f: fix end load commit 30243ca: add hide/show long edges ea995ab: add arrow support 2cc9be4: fix long draw line ba42869: add main_jar 6fb21ee: load more commits use double click 56c4651: fix partLoader 87ea19e: fix partLoader b11badc: fix hide important nodes 0375ce8: fix branch show update 20ca7ca: fix update Table 725b7be: rebase swing_ui & create new main module d685a78: remove print parameters from ui_controller ab4ecb7: rebase ui_controller 4df74c5: DataPack.getRefModel -> getRefsModel ddfe4a7: add method getCommitNodeInRow to Graph interface addd6ec: add CommitDataGetter.getCommitData(Hash) a86f97f: add DataPackImpl d8db4da: add DataLoaderImpl with template for DataPackImpl d4e1a46: add new module: data_model & new CommitDataGetter 483991c: graph_model exported graph b27f3b8: controller.CommitDataReader & RefReader -> git_reader module 30c4942: add commitHash to CommitData 0689f97: add CommitReaders b82b42c: add new module git_reader b73511b: CommitParents -> interface +SimpleCommitParents +TimestampCommitParents 7ae3e79: Commit -> CommitParents 7940d77: fast Node.getDownEdges() fef8631: fix graph test 7fb99f5: commit -> log_data 12a935b: move Hash -> common module e6567e5: fix ref model (tag shows) 25b7d8f: fix hide End_Commit_Node c2df981: fix branch bad nodes 057eefa: fix ref model & addedButton dff4a60: change throw message in RuntimeGenerateCompressedList 77c11f5: fix bad graph update in GraphModelImpl 01d57fc: fix up/down in FragmentGraphDecorator 17b5445: add unhidden nodes df5a0e1: rewrite Replace class eb501a7: add method generateFirst to Generator fbc56f2: fix updateGraph 499d794: change around for new API graph, commit, graph_model ade982a: change set argument of GraphModel.setVisibleBranchesNodes to Get boolean function 0e5bffc: add first realisation of GraphModel 1d423f2: fix wrong request up/down in FragmentGraphDecorator and add's test for FragmentManager d687d30: fix wrong request up/down in FragmentGraphDecorator and add's test for FragmentManager 2bbe19e: moved test utils to graph package cf3d4d3: change Hash.toString() to toStrHash() abb7570: add new module graph_model Fragment generators move from graph module 8ca2b96: remove old test in Graph c9a8fc6: add MultiMap 865a774: add support of append commits in Graph d9c2063: fix graph fon new Commit a7fcf5e: replace Commit to simple Commit, with list of parentHashes 5e2c6eb: new graph with GraphDecorator 031bffb: fix low hide all operations 04826a6: NewGraph => Graph f3332e7: remove old Graph b683fd6: fix select upper fragments 650c4d2: fix hide middle refs 6f9815b: add hideAll 378ffa1: fix hidden if branch hidden a5555f6: add support unhidden nodes 4798f8a: add first version of full FragmentManager 5f56fad: add downShortFragment generate e6127b3: fix double edge from up - down in Fragment 4473715: fix numberOfBranch a9d5317: add stupid realisation og GraphFragmentController for new graph 80d9925: move GraphStrUtils to src 06c340a: add support unhidden objects 75889b5: new GraphFragment & test for FragmentGenerator 747a200: Branch.getUp/DownNode & several changes in testUtils 95513d4: add branch show/hide capability 68658da: GraphBuilder returned MutableGraph c4d27d5: fix depend of Branches in Graph 7e4872c: returned to Graph.getNodeRows() c007bd5: fix bad integer index in MutableGraph 94d962f: add usage OneElementList in MutableCommit 31f23e6: return to concept with upEdges & downEdges saved in Node 09988bc: add GraphAdapter(NewGraph -> Graph) & test for NewGraph 073d2f2: add GraphBuilder for NewGraph 07d8365: fix conception in MutableGraph c4e0fba: fix ElementVisibilityController.isVisible() 489d199: fix Branch equals & hashCode d19e145: change class Branch & fix test bbe6708: finished graph class 294686a: write code for EdgeController & ElementVisibilityController eeea13d: added blank for newGraph 0006957: NodeRow.getVisibleNodes -> getNodes c5fa941: Add InvertibleMap & first realisation & tests 516e7a3: fix null commit in preLoad list it happened, if row have empty commit f3b8db0: add preload more commits ce2542f: add CacheGet.addToCache(key, value) a24b220: fix CacheCommitDataGetter f016a56: fix new format input str make ProcessOutputReader not abstract & fix it usage 08a14b8: fix change Commit.getData()=>getParents() but not fix CommitDataGetter & not fix new format input str 5c4c37c: fix commits tests d0cf6cb: Commit.getData() => getParents() fc0b7a7: renamed graph subpackage aab2eab: fix memory usage 4a35122: add OneElementList d0d9692: add ShortList & test for it 96dc016: fix String build in CollitLogData fix clear Cache in Hash add simple memory usage test 81e910e: fix depends modules 4a5d57e: fix error shows c8b5c12: add new Jar file & catch GitException 822b4f0: add ErrorFrame a5737ee: create UI_Utilities 0a1b43a: fix color range 821ebe2: Add GraphUpdateListener 25c222c: move ProgressUpdater => AbstractProcessOutputReader 2160040: fix focus cell border draw d135198: fix name package 023e7bd: fix hide branch labels a0012a0: fix old bug 7f62eae: Refs draw update (bound + full patch) 8ccba0a: add draft all hider a28c7f1: add center frame layout 9db5ea5: add draft progress indicate feebb48: Add ProgressFrame & ProgressModel 9b1e971: rename Timer 82cd6f1: new Controller, but without progress updater 3c9802c: Add DataPack 60098f6: fix stupid function getGraphPrintCell in UI_Controller 1331cb1: rename method GraphCommit Cell.getPrintCell 588ff60: Add RefReader b92f579: Add CommitReader & GitProcessFactory 5ff8abe: Add AbstractProcessOutputReader & GitException cea9fae: fix bug with out of range in recalculate, if request Replace.ID_REPLACE Add throw RuntimeException, if try build Graph, use empty list commits 0b9b254: refactor printmodel module 59046dd: refactor graph module e639c4d: new Branch concept BranchNumber depends of first commit, which has this branch 54b30f5: remove ReadOnlyList 82eb4ae: refactor commits module & fix tests cddd46b: create first jar file a2fcd24: fix crash with 0 count select branches ec54b91: add worker version of shows branch & remove CommitData log index 872788f: refactor UI_Controller e2005d4: renamed controller -> ui_controller 880214d: prepare for update shows branches 9a7af7d: add draft version of branches selection(without graph branch selections) 8a5a869: common renamed in swing_ui module e36e251: separate GraphTableCellRender to GraphCommitRender & AbstractPaddingCellRender 6b3c063: common renamed in swing_ui module 815d236: separate GitAlkUi to itself & Ui_GraphTable & stash GitAlkUi a423097: Add RefTableModel a002237: Refactor RefsModel 062c6c3: separate GraphTableCell => CommitCell(text + ref) & GraphCommitCell 301986f: separate UI_Controller & GraphTableModel dec80a8: add refs draw b9b99f6: add method GraphTableCell.getRefsToThisCommit() fc11bb7: fix selected algorithm 74ba971: fix select trivial fragment (1 edge) 1c0a2ce: fix up edges 6749913: fix runner 7afe05a: add global Controller cf8e336: Controller => UI_Controller 519c714: ParserRef => RefParser ba417a5: fix swingui 13eda1b: fix createSelectController 9061bff: add isSelected in ShortEdge & SpetialCells 5ed2dce: Merge branch 'fix' 6c83a97: add realization Controller.click() & over() bb2a86d: add PrintCellModel.recalculate() 9359d58: add GraphFragmentController.isHidden() & fix several NotNull annotations 572cc31: refractor UIController, but without realisation methods over() and click() 3471dac: fix returned type RefsModel.refToCommit() 706b25c: add Graph.getFragmentController() 304c754: add existedCommitRefs 2a61269: add c73981f: add RefsModel & fis HEAD type 3902486: add RefsModel & fis HEAD type 3b1b8ab: add refs module c7fc26e: refractor layout model => printmodel 6cd6ebc: new GraphFragmentController 2d3cc9d: remove old Pieces & add Fragment 1d9f56c: add graph pieces tests and fix several bugs 6eebd59: fix not full log graph build & fix tests 54de885: add SimpleGraphPiecePontroller 07ca143: create new module controller 3a504e2: controller => ui_controller 42142eb: rebase Graph (Create new MutubleGraph & more another changes) f4f13b3: new Graph interface cb02d4b: rename CellModel => LayoutModel 9807e61: GraphModel => Graph & fix set's younger branch f0bcde9: add new gitLogParserTests 9d2beca: common refactor test's 0999c56: refractor Hash & add several tests 6d3c9a7: fix check Replace range's 987a51a: clear CacheGet 517e39b: renamed package: generatemodel => compressedlist 65fd64e: clean ReadOnlyList fa55074: refactor RuntimeGeneratorCompressedList 141fff8: add test for CompressedList 796d6f5: remove RemoveIntervalArrayList 964ef21: GenerateModel -> CompressedList & add Replace class instead Interval's dad42f7: clear Generator 950b299: update project options 60d86bb: add PartSaveGenerateModel 3681998: add jump to up Node, after hide branch 71127dd: remove old code 17fd887: fix generate SpecialCells 89810d1: fix crash update model 80be416: add swing part of Hide/Show 061b3ba: add controller part of Show/Hide branch 6521cff: add swingui module 053aaf2: fix Controller & add GraphTableCell 78d1efc: add module controller fb1de35: add PrintCellRowModel 150381f: add test for CellModelBuilder 7c0c0c3: add builder CellModel 5d82474: fix description GenerateModel.update() & update() in FullSaveGenerateModel af260b0: add printmodel fcca396: add to NodeRow getRowIndex() 0add403: add LinuxTest Builder Graph (300M, 11s - log+commits 1,5s - build graph) d431d48: add test for hide/show branch 0188932: add remove branch support 69eb783: add not check support hideBranch 0e47d79: add test for GraphModelBuilder b340193: clean graph module (show/hide branch not supported now) cb95989: idea modules.xml changes 572c8a7: save all dbdd45e: graphmodel => new module graph f40cd2d: fix test for commits c5446ea: commitsmodel => commits module c9f6356: common => new module common 3bd08e8: fix ReadOnlyList c5f98e8: fix remove commitgraph fe93d1f: temp cap swingui d0308b6: add printgraph f76c7fa: fix ? extends E in ReadOnlyList c8ce27b: remove commitgraph ae4cfab: calculatemodel => generatemodel & clear it b6cbb27: do ReadOnlyList extends List 6a76e0f: remove bad pieces de1a136: add builder for GraphModel (unsupported hide/show edges) ac859fa: add graphmodel fd77465: patch ReadOnlyIterator for <? extends T> 81d803b: Commit revided to Commit & CommitData f1dcc2c: CommitData => CommitLogData 22043c5: add rows 9b38868: save state before refactoring 5307c76: add firstPartShow 290dd62: clean common's classes c180656: all readonly => readonly package 036d6c4: clean commitmodel 7a84762: fix CacheGet periodical clear 4f18ce9: clean commitgraph builder c83d594: *Node => node/*Node 1e6c9d9: clean hides => hidecommits a63a8d7: clean order & renamed to ordernodes cbe82ce: optimise search Commit in RowOfMode 881a5e5: fix color set a76ea2c: fix hide commits with more childrens 18b8b23: uprgade draw line and width column's e59f911: fix edges order 673ae3d: fix RowOfNodeCalculator(colors set) 67bf455: add Cache for Edges & RowOfNode 5fb1a97: add painer for SpecialNode's 6fc62c5: fix build specialNodes 8c9097d: fix HideCommitsCalculator d327283: fix hide model 4b49283: add PartSaveCalculateModel b08a86b: fix RunUI for new model data 2726ca8: fix TableCellRender for new commitgraph 413735b: rebase builder and adapter for commitgraph 432ed1c: add cap for hideCommitsCalculator 5e065c4: add orderNode Calculator 297a002: rebase commitgraph model e8c0489: fix bug with assert readed commit 39c8f02: rebase Calculate model & add AbstractCalculateModel 3faab0d: add calculate model & simple Impl 31ab0ac: fix buildHideShowMap & add children commits d12a10b: refactoring Commit & Add New Commmit Model bfabd88: add new conception of commits & Commit.index() is Deprecated 126a2cf: rebase Commit interface (but not work countNewCommits) 7cba56a: fix title & improved appearance af246ef: fix date show & commit node color 38224e5: rebase swingUI 0c53937: rebase commitgraph 86f26ac: fix bug with empty timeStamp 55bef75: add tests for GitLogParser 7800c6f: more refactoring changes (commitmodel) 85696ad: add swing UI 590dfee: refactor changes & fix bug CommitLineListAdapter 7eff2e9: add builder for CommitLineList (but without CommitLineListAdapter cad20a2: add CommitGraph package c82247a: add CommitNode, CommitList & Builder 10e6d36: add GitLogParserTest 476d346: add new CommitData & parser for CommitData 034c111: add HashTest 21f796e: add Hash 8cee0de: add CommitsLines d48d8dc: add tests for CommitsTree & CommitData 1d79090: add parse of git log 0285217: Add Idea files 78e1980: Initial commit Change-Id: I2c2a279b2a5adccfb4f62691133abda10cb6ea4b
Diffstat (limited to 'jps')
-rw-r--r--jps/jps-builders/src/org/jetbrains/jps/cmdline/BuildMain.java13
-rw-r--r--jps/jps-builders/src/org/jetbrains/jps/cmdline/ClasspathBootstrap.java49
-rw-r--r--jps/jps-builders/src/org/jetbrains/jps/javac/JavacFileManager.java2
-rw-r--r--jps/jps-builders/src/org/jetbrains/jps/javac/JavacMain.java16
-rw-r--r--jps/jps-launcher/jps-launcher.iml12
-rw-r--r--jps/jps-launcher/src/org/jetbrains/jps/cmdline/Launcher.java53
-rw-r--r--jps/model-serialization/src/org/jetbrains/jps/model/serialization/JpsModelSerializerExtension.java1
-rw-r--r--jps/model-serialization/src/org/jetbrains/jps/model/serialization/java/JpsJavaModelSerializerExtension.java25
-rw-r--r--jps/model-serialization/src/org/jetbrains/jps/model/serialization/module/JpsModuleRootModelSerializer.java6
-rw-r--r--jps/model-serialization/src/org/jetbrains/jps/model/serialization/module/JpsModuleSourceRootDummyPropertiesSerializer.java (renamed from jps/model-serialization/src/org/jetbrains/jps/model/serialization/module/JpsModuleSourceRootPropertiesSerializerImpl.java)4
10 files changed, 145 insertions, 36 deletions
diff --git a/jps/jps-builders/src/org/jetbrains/jps/cmdline/BuildMain.java b/jps/jps-builders/src/org/jetbrains/jps/cmdline/BuildMain.java
index a1cdbf5efc89..c6b34ab97bed 100644
--- a/jps/jps-builders/src/org/jetbrains/jps/cmdline/BuildMain.java
+++ b/jps/jps-builders/src/org/jetbrains/jps/cmdline/BuildMain.java
@@ -58,15 +58,20 @@ public class BuildMain {
LOG = Logger.getInstance("#org.jetbrains.jps.cmdline.BuildMain");
}
+ private static final int HOST_ARG = 0;
+ private static final int PORT_ARG = HOST_ARG + 1;
+ private static final int SESSION_ID_ARG = PORT_ARG + 1;
+ private static final int SYSTEM_DIR_ARG = SESSION_ID_ARG + 1;
+
private static NioEventLoopGroup ourEventLoopGroup;
public static void main(String[] args){
System.out.println("Build process started. Classpath: " + System.getProperty("java.class.path"));
- final String host = args[0];
- final int port = Integer.parseInt(args[1]);
- final UUID sessionId = UUID.fromString(args[2]);
+ final String host = args[HOST_ARG];
+ final int port = Integer.parseInt(args[PORT_ARG]);
+ final UUID sessionId = UUID.fromString(args[SESSION_ID_ARG]);
@SuppressWarnings("ConstantConditions")
- final File systemDir = new File(FileUtil.toCanonicalPath(args[3]));
+ final File systemDir = new File(FileUtil.toCanonicalPath(args[SYSTEM_DIR_ARG]));
Utils.setSystemRoot(systemDir);
ourEventLoopGroup = new NioEventLoopGroup(1, SharedThreadPool.getInstance());
diff --git a/jps/jps-builders/src/org/jetbrains/jps/cmdline/ClasspathBootstrap.java b/jps/jps-builders/src/org/jetbrains/jps/cmdline/ClasspathBootstrap.java
index ecf2ba05707a..d8e709b6c622 100644
--- a/jps/jps-builders/src/org/jetbrains/jps/cmdline/ClasspathBootstrap.java
+++ b/jps/jps-builders/src/org/jetbrains/jps/cmdline/ClasspathBootstrap.java
@@ -50,17 +50,23 @@ public class ClasspathBootstrap {
private static class OptimizedFileManagerClassHolder {
static final String CLASS_NAME = "org.jetbrains.jps.javac.OptimizedFileManager";
+ @Nullable
static final Class<StandardJavaFileManager> managerClass;
+ @Nullable
+ static final String initError;
static {
Class<StandardJavaFileManager> aClass;
+ String error = null;
try {
@SuppressWarnings("unchecked") Class<StandardJavaFileManager> c = (Class<StandardJavaFileManager>)Class.forName(CLASS_NAME);
aClass = c;
}
- catch (Throwable ignored) {
+ catch (Throwable ex) {
aClass = null;
+ error = ex.getClass().getName() + ": " + ex.getMessage();
}
managerClass = aClass;
+ initError = error;
}
private OptimizedFileManagerClassHolder() {
@@ -69,17 +75,23 @@ public class ClasspathBootstrap {
private static class OptimizedFileManager17ClassHolder {
static final String CLASS_NAME = "org.jetbrains.jps.javac.OptimizedFileManager17";
+ @Nullable
static final Class<StandardJavaFileManager> managerClass;
+ @Nullable
+ static final String initError;
static {
Class<StandardJavaFileManager> aClass;
+ String error = null;
try {
@SuppressWarnings("unchecked") Class<StandardJavaFileManager> c = (Class<StandardJavaFileManager>)Class.forName(CLASS_NAME);
aClass = c;
}
- catch (Throwable ignored) {
+ catch (Throwable ex) {
aClass = null;
+ error = ex.getClass().getName() + ": " + ex.getMessage();
}
managerClass = aClass;
+ initError = error;
}
private OptimizedFileManager17ClassHolder() {
@@ -89,7 +101,7 @@ public class ClasspathBootstrap {
private ClasspathBootstrap() {
}
- public static List<String> getBuildProcessApplicationClasspath() {
+ public static List<String> getBuildProcessApplicationClasspath(boolean isLauncherUsed) {
final Set<String> cp = ContainerUtil.newHashSet();
cp.add(getResourcePath(BuildMain.class));
@@ -108,9 +120,8 @@ public class ClasspathBootstrap {
cp.add(getResourcePath(NotNullVerifyingInstrumenter.class)); // not-null
cp.add(getResourcePath(IXMLBuilder.class)); // nano-xml
- final Class<StandardJavaFileManager> optimizedFileManagerClass = getOptimizedFileManagerClass();
- if (optimizedFileManagerClass != null) {
- cp.add(getResourcePath(optimizedFileManagerClass)); // optimizedFileManager
+ if (!isLauncherUsed) {
+ appendJavaCompilerClasspath(cp);
}
try {
@@ -120,6 +131,15 @@ public class ClasspathBootstrap {
catch (Throwable ignored) {
}
+ return ContainerUtil.newArrayList(cp);
+ }
+
+ public static void appendJavaCompilerClasspath(Collection<String> cp) {
+ final Class<StandardJavaFileManager> optimizedFileManagerClass = getOptimizedFileManagerClass();
+ if (optimizedFileManagerClass != null) {
+ cp.add(getResourcePath(optimizedFileManagerClass)); // optimizedFileManager
+ }
+
for (JavaCompiler javaCompiler : ServiceLoader.load(JavaCompiler.class)) { // Eclipse compiler
final String compilerResource = getResourcePath(javaCompiler.getClass());
final String name = PathUtilRt.getFileName(compilerResource);
@@ -127,8 +147,6 @@ public class ClasspathBootstrap {
cp.add(compilerResource);
}
}
-
- return ContainerUtil.newArrayList(cp);
}
public static List<File> getJavacServerClasspath(String sdkHome, boolean useEclipseCompiler) {
@@ -219,6 +237,21 @@ public class ClasspathBootstrap {
return OptimizedFileManager17ClassHolder.managerClass;
}
+ @Nullable
+ public static String getOptimizedFileManagerLoadError() {
+ StringBuilder builder = new StringBuilder();
+ if (OptimizedFileManagerClassHolder.initError != null) {
+ builder.append(OptimizedFileManagerClassHolder.initError);
+ }
+ if (OptimizedFileManager17ClassHolder.initError != null) {
+ if (builder.length() > 0) {
+ builder.append("\n");
+ }
+ builder.append(OptimizedFileManager17ClassHolder.initError);
+ }
+ return builder.toString();
+ }
+
public static String getResourcePath(Class aClass) {
return PathManager.getResourceRoot(aClass, "/" + aClass.getName().replace('.', '/') + ".class");
}
diff --git a/jps/jps-builders/src/org/jetbrains/jps/javac/JavacFileManager.java b/jps/jps-builders/src/org/jetbrains/jps/javac/JavacFileManager.java
index 653d800a75fe..d2f934c40f77 100644
--- a/jps/jps-builders/src/org/jetbrains/jps/javac/JavacFileManager.java
+++ b/jps/jps-builders/src/org/jetbrains/jps/javac/JavacFileManager.java
@@ -213,7 +213,7 @@ class JavacFileManager extends ForwardingJavaFileManager<StandardJavaFileManager
}
}
// ensure processor's loader will not resolve against JPS classes and libraries used in JPS
- return new URLClassLoader(urls.toArray(new URL[urls.size()]), null);
+ return new URLClassLoader(urls.toArray(new URL[urls.size()]), myContext.getStandardFileManager().getClass().getClassLoader());
}
private File getSingleOutputDirectory(final Location loc, final JavaFileObject sourceFile) {
diff --git a/jps/jps-builders/src/org/jetbrains/jps/javac/JavacMain.java b/jps/jps-builders/src/org/jetbrains/jps/javac/JavacMain.java
index fdf99efcd70f..0297de88dd55 100644
--- a/jps/jps-builders/src/org/jetbrains/jps/javac/JavacMain.java
+++ b/jps/jps-builders/src/org/jetbrains/jps/javac/JavacMain.java
@@ -26,6 +26,7 @@ import org.jetbrains.jps.incremental.LineOutputWriter;
import javax.tools.*;
import java.io.File;
import java.io.IOException;
+import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.*;
@@ -334,14 +335,25 @@ public class JavacMain {
final Class<StandardJavaFileManager> optimizedManagerClass = ClasspathBootstrap.getOptimizedFileManagerClass();
if (optimizedManagerClass != null) {
try {
- stdManager = optimizedManagerClass.newInstance();
+ final Constructor<StandardJavaFileManager> constructor = optimizedManagerClass.getConstructor();
+ // if optimizedManagerClass is loaded by another classloader, cls.newInstance() will not work
+ // that's why we need to call setAccessible() to ensure access
+ constructor.setAccessible(true);
+ stdManager = constructor.newInstance();
}
catch (Throwable e) {
if (SystemInfo.isWindows) {
- System.err.println("Failed to load JPS optimized file manager for javac: " + e.getMessage());
+ outConsumer.report(new PlainMessageDiagnostic(Diagnostic.Kind.OTHER, "JPS build failed to load optimized file manager for javac: " + e.getMessage()));
}
}
}
+ else {
+ String error = ClasspathBootstrap.getOptimizedFileManagerLoadError();
+ if (error == null) {
+ error = "";
+ }
+ outConsumer.report(new PlainMessageDiagnostic(Diagnostic.Kind.OTHER, "JPS build failed to load optimized file manager for javac:\n" + error));
+ }
}
if (stdManager != null) {
myStdManager = stdManager;
diff --git a/jps/jps-launcher/jps-launcher.iml b/jps/jps-launcher/jps-launcher.iml
new file mode 100644
index 000000000000..9920ad54a01c
--- /dev/null
+++ b/jps/jps-launcher/jps-launcher.iml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+ <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_6" inherit-compiler-output="true">
+ <exclude-output />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ </component>
+</module>
+
diff --git a/jps/jps-launcher/src/org/jetbrains/jps/cmdline/Launcher.java b/jps/jps-launcher/src/org/jetbrains/jps/cmdline/Launcher.java
new file mode 100644
index 000000000000..8885a0e01a42
--- /dev/null
+++ b/jps/jps-launcher/src/org/jetbrains/jps/cmdline/Launcher.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2000-2013 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.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jetbrains.jps.cmdline;
+
+import java.io.File;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.StringTokenizer;
+
+/**
+ * @author Eugene Zhuravlev
+ * Date: 9/27/13
+ */
+public class Launcher {
+
+ public static void main(String[] args) throws MalformedURLException, ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InstantiationException, InvocationTargetException {
+ final String jpsClasspath = args[0];
+ final String mainClassName = args[1];
+ final String[] jpsArgs = new String[args.length - 2];
+ System.arraycopy(args, 2, jpsArgs, 0, jpsArgs.length);
+
+ final StringTokenizer tokenizer = new StringTokenizer(jpsClasspath, File.pathSeparator, false);
+ final List<URL> urls = new ArrayList<URL>();
+ while (tokenizer.hasMoreTokens()) {
+ final String path = tokenizer.nextToken();
+ urls.add(new File(path).toURI().toURL());
+ }
+ final URLClassLoader jpsLoader = new URLClassLoader(urls.toArray(new URL[urls.size()]), Launcher.class.getClassLoader());
+
+ final Class<?> mainClass = jpsLoader.loadClass(mainClassName);
+ final Method mainMethod = mainClass.getMethod("main", String[].class);
+ Thread.currentThread().setContextClassLoader(jpsLoader);
+ mainMethod.invoke(null, new Object[] {jpsArgs});
+ }
+}
diff --git a/jps/model-serialization/src/org/jetbrains/jps/model/serialization/JpsModelSerializerExtension.java b/jps/model-serialization/src/org/jetbrains/jps/model/serialization/JpsModelSerializerExtension.java
index b35b6063301a..6daf831ff177 100644
--- a/jps/model-serialization/src/org/jetbrains/jps/model/serialization/JpsModelSerializerExtension.java
+++ b/jps/model-serialization/src/org/jetbrains/jps/model/serialization/JpsModelSerializerExtension.java
@@ -98,6 +98,7 @@ public abstract class JpsModelSerializerExtension {
return Collections.emptyList();
}
+ @NotNull
public List<? extends JpsModuleSourceRootPropertiesSerializer<?>> getModuleSourceRootPropertiesSerializers() {
return Collections.emptyList();
}
diff --git a/jps/model-serialization/src/org/jetbrains/jps/model/serialization/java/JpsJavaModelSerializerExtension.java b/jps/model-serialization/src/org/jetbrains/jps/model/serialization/java/JpsJavaModelSerializerExtension.java
index ad99d3ed2303..4b2ae00b1b7d 100644
--- a/jps/model-serialization/src/org/jetbrains/jps/model/serialization/java/JpsJavaModelSerializerExtension.java
+++ b/jps/model-serialization/src/org/jetbrains/jps/model/serialization/java/JpsJavaModelSerializerExtension.java
@@ -32,6 +32,7 @@ import org.jetbrains.jps.model.serialization.artifact.JpsPackagingElementSeriali
import org.jetbrains.jps.model.serialization.java.compiler.*;
import org.jetbrains.jps.model.serialization.library.JpsLibraryRootTypeSerializer;
import org.jetbrains.jps.model.serialization.module.JpsModuleRootModelSerializer;
+import org.jetbrains.jps.model.serialization.module.JpsModuleSourceRootDummyPropertiesSerializer;
import org.jetbrains.jps.model.serialization.module.JpsModuleSourceRootPropertiesSerializer;
import java.util.Arrays;
@@ -55,6 +56,8 @@ public class JpsJavaModelSerializerExtension extends JpsModelSerializerExtension
private static final String JAVADOC_PATHS_TAG = "javadoc-paths";
private static final String MODULE_LANGUAGE_LEVEL_ATTRIBUTE = "LANGUAGE_LEVEL";
public static final String ROOT_TAG = "root";
+ public static final JavaSourceRootPropertiesSerializer JAVA_SOURCE_ROOT_PROPERTIES_SERIALIZER =
+ new JavaSourceRootPropertiesSerializer(JavaSourceRootType.SOURCE, JpsModuleRootModelSerializer.JAVA_SOURCE_ROOT_TYPE_ID);
@Override
public void loadRootModel(@NotNull JpsModule module, @NotNull Element rootModel) {
@@ -79,12 +82,13 @@ public class JpsJavaModelSerializerExtension extends JpsModelSerializerExtension
new RmicCompilerOptionsSerializer("RmicSettings", "Rmic"));
}
+ @NotNull
@Override
public List<? extends JpsModuleSourceRootPropertiesSerializer<?>> getModuleSourceRootPropertiesSerializers() {
- return Arrays.asList(new JavaSourceRootPropertiesSerializer(JavaSourceRootType.SOURCE, JpsModuleRootModelSerializer.JAVA_SOURCE_ROOT_TYPE_ID),
+ return Arrays.asList(JAVA_SOURCE_ROOT_PROPERTIES_SERIALIZER,
new JavaSourceRootPropertiesSerializer(JavaSourceRootType.TEST_SOURCE, JpsModuleRootModelSerializer.JAVA_TEST_ROOT_TYPE_ID),
- new JavaResourceRootPropertiesSerializer(JavaResourceRootType.RESOURCE, "java-resource"),
- new JavaResourceRootPropertiesSerializer(JavaResourceRootType.TEST_RESOURCE, "java-test-resource"));
+ new JpsModuleSourceRootDummyPropertiesSerializer(JavaResourceRootType.RESOURCE, "java-resource"),
+ new JpsModuleSourceRootDummyPropertiesSerializer(JavaResourceRootType.TEST_RESOURCE, "java-test-resource"));
}
@Override
@@ -318,19 +322,4 @@ public class JpsJavaModelSerializerExtension extends JpsModelSerializerExtension
}
}
}
-
- private static class JavaResourceRootPropertiesSerializer extends JpsModuleSourceRootPropertiesSerializer<JpsDummyElement> {
- private JavaResourceRootPropertiesSerializer(JpsModuleSourceRootType<JpsDummyElement> type, String typeId) {
- super(type, typeId);
- }
-
- @Override
- public JpsDummyElement loadProperties(@NotNull Element sourceRootTag) {
- return JpsElementFactory.getInstance().createDummyElement();
- }
-
- @Override
- public void saveProperties(@NotNull JpsDummyElement properties, @NotNull Element sourceRootTag) {
- }
- }
}
diff --git a/jps/model-serialization/src/org/jetbrains/jps/model/serialization/module/JpsModuleRootModelSerializer.java b/jps/model-serialization/src/org/jetbrains/jps/model/serialization/module/JpsModuleRootModelSerializer.java
index 62f76ff809d0..76d79361abb7 100644
--- a/jps/model-serialization/src/org/jetbrains/jps/model/serialization/module/JpsModuleRootModelSerializer.java
+++ b/jps/model-serialization/src/org/jetbrains/jps/model/serialization/module/JpsModuleRootModelSerializer.java
@@ -15,6 +15,7 @@
*/
package org.jetbrains.jps.model.serialization.module;
+import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.util.text.UniqueNameGenerator;
import org.jdom.Element;
@@ -32,6 +33,7 @@ import org.jetbrains.jps.model.library.sdk.JpsSdkReference;
import org.jetbrains.jps.model.library.sdk.JpsSdkType;
import org.jetbrains.jps.model.module.*;
import org.jetbrains.jps.model.serialization.JpsModelSerializerExtension;
+import org.jetbrains.jps.model.serialization.java.JpsJavaModelSerializerExtension;
import org.jetbrains.jps.model.serialization.library.JpsLibraryTableSerializer;
import org.jetbrains.jps.model.serialization.library.JpsSdkTableSerializer;
@@ -45,6 +47,7 @@ import static com.intellij.openapi.util.JDOMUtil.getChildren;
* @author nik
*/
public class JpsModuleRootModelSerializer {
+ private static final Logger LOG = Logger.getInstance(JpsModuleRootModelSerializer.class);
public static final String URL_ATTRIBUTE = "url";
public static final String CONTENT_TAG = "content";
public static final String SOURCE_FOLDER_TAG = "sourceFolder";
@@ -166,7 +169,8 @@ public class JpsModuleRootModelSerializer {
}
}
}
- return null;
+ LOG.warn("Unknown module source root type " + typeAttribute);
+ return JpsJavaModelSerializerExtension.JAVA_SOURCE_ROOT_PROPERTIES_SERIALIZER;
}
public static void saveRootModel(JpsModule module, Element rootModelElement) {
diff --git a/jps/model-serialization/src/org/jetbrains/jps/model/serialization/module/JpsModuleSourceRootPropertiesSerializerImpl.java b/jps/model-serialization/src/org/jetbrains/jps/model/serialization/module/JpsModuleSourceRootDummyPropertiesSerializer.java
index 706ef83ab0c1..f9233aa4a85b 100644
--- a/jps/model-serialization/src/org/jetbrains/jps/model/serialization/module/JpsModuleSourceRootPropertiesSerializerImpl.java
+++ b/jps/model-serialization/src/org/jetbrains/jps/model/serialization/module/JpsModuleSourceRootDummyPropertiesSerializer.java
@@ -24,8 +24,8 @@ import org.jetbrains.jps.model.module.JpsModuleSourceRootType;
/**
* @author nik
*/
-public class JpsModuleSourceRootPropertiesSerializerImpl extends JpsModuleSourceRootPropertiesSerializer<JpsDummyElement> {
- public JpsModuleSourceRootPropertiesSerializerImpl(JpsModuleSourceRootType<JpsDummyElement> type, String typeId) {
+public class JpsModuleSourceRootDummyPropertiesSerializer extends JpsModuleSourceRootPropertiesSerializer<JpsDummyElement> {
+ public JpsModuleSourceRootDummyPropertiesSerializer(JpsModuleSourceRootType<JpsDummyElement> type, String typeId) {
super(type, typeId);
}