mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Merge remote branch 'origin/master'
This commit is contained in:
Generated
+232
-130
@@ -2,136 +2,238 @@
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/InspectionGadgets/InspectionGadgetsPlugin.iml" filepath="$PROJECT_DIR$/plugins/InspectionGadgets/InspectionGadgetsPlugin.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/IntelliLang/IntelliLang.iml" filepath="$PROJECT_DIR$/plugins/IntelliLang/IntelliLang.iml" group="plugins/IntelliLang" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/IntelliLang/IntelliLang-java.iml" filepath="$PROJECT_DIR$/plugins/IntelliLang/IntelliLang-java.iml" group="plugins/IntelliLang" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/IntelliLang/IntelliLang-javaee.iml" filepath="$PROJECT_DIR$/plugins/IntelliLang/IntelliLang-javaee.iml" group="plugins/IntelliLang" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/IntelliLang/IntelliLang-xml.iml" filepath="$PROJECT_DIR$/plugins/IntelliLang/IntelliLang-xml.iml" group="plugins/IntelliLang" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/IntentionPowerPak/IntentionPowerPackPlugin.iml" filepath="$PROJECT_DIR$/plugins/IntentionPowerPak/IntentionPowerPackPlugin.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/RegExpSupport/RegExpSupport.iml" filepath="$PROJECT_DIR$/RegExpSupport/RegExpSupport.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/android/android.iml" filepath="$PROJECT_DIR$/plugins/android/android.iml" group="plugins/Android" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/android/common/android-common.iml" filepath="$PROJECT_DIR$/plugins/android/common/android-common.iml" group="plugins/Android" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/android-designer/android-designer.iml" filepath="$PROJECT_DIR$/plugins/android-designer/android-designer.iml" group="plugins/Android" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/android/jps-plugin/android-jps-plugin.iml" filepath="$PROJECT_DIR$/plugins/android/jps-plugin/android-jps-plugin.iml" group="plugins/Android" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/android/rt/android-rt.iml" filepath="$PROJECT_DIR$/plugins/android/rt/android-rt.iml" group="plugins/Android" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/annotations/annotations.iml" filepath="$PROJECT_DIR$/platform/annotations/annotations.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/ant/ant.iml" filepath="$PROJECT_DIR$/plugins/ant/ant.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/jps/antLayout/antlayout.iml" filepath="$PROJECT_DIR$/jps/antLayout/antlayout.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/boot/boot.iml" filepath="$PROJECT_DIR$/platform/boot/boot.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/bootstrap/bootstrap.iml" filepath="$PROJECT_DIR$/platform/bootstrap/bootstrap.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/build/build.iml" filepath="$PROJECT_DIR$/build/build.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/commander/commander.iml" filepath="$PROJECT_DIR$/plugins/commander/commander.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/community-main.iml" filepath="$PROJECT_DIR$/community-main.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/community-resources/community-resources.iml" filepath="$PROJECT_DIR$/community-resources/community-resources.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/java/compiler/impl/compiler-impl.iml" filepath="$PROJECT_DIR$/java/compiler/impl/compiler-impl.iml" group="java/compiler" />
|
||||
<module fileurl="file://$PROJECT_DIR$/java/compiler/openapi/compiler-openapi.iml" filepath="$PROJECT_DIR$/java/compiler/openapi/compiler-openapi.iml" group="java/compiler" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/copyright/copyright.iml" filepath="$PROJECT_DIR$/plugins/copyright/copyright.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/core-api/core-api.iml" filepath="$PROJECT_DIR$/platform/core-api/core-api.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/core-impl/core-impl.iml" filepath="$PROJECT_DIR$/platform/core-impl/core-impl.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/cvs/cvs-core/cvs-core.iml" filepath="$PROJECT_DIR$/plugins/cvs/cvs-core/cvs-core.iml" group="plugins/VCS/cvs" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/cvs/cvs-plugin/cvs-plugin.iml" filepath="$PROJECT_DIR$/plugins/cvs/cvs-plugin/cvs-plugin.iml" group="plugins/VCS/cvs" />
|
||||
<module fileurl="file://$PROJECT_DIR$/java/debugger/impl/debugger-impl.iml" filepath="$PROJECT_DIR$/java/debugger/impl/debugger-impl.iml" group="java" />
|
||||
<module fileurl="file://$PROJECT_DIR$/java/debugger/openapi/debugger-openapi.iml" filepath="$PROJECT_DIR$/java/debugger/openapi/debugger-openapi.iml" group="java" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/devkit/devkit.iml" filepath="$PROJECT_DIR$/plugins/devkit/devkit.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/xml/dom-impl/dom-impl.iml" filepath="$PROJECT_DIR$/xml/dom-impl/dom-impl.iml" group="xml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/xml/dom-openapi/dom-openapi.iml" filepath="$PROJECT_DIR$/xml/dom-openapi/dom-openapi.iml" group="xml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/eclipse/eclipse.iml" filepath="$PROJECT_DIR$/plugins/eclipse/eclipse.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/java/execution/impl/execution-impl.iml" filepath="$PROJECT_DIR$/java/execution/impl/execution-impl.iml" group="java" />
|
||||
<module fileurl="file://$PROJECT_DIR$/java/execution/openapi/execution-openapi.iml" filepath="$PROJECT_DIR$/java/execution/openapi/execution-openapi.iml" group="java" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/extensions/extensions.iml" filepath="$PROJECT_DIR$/platform/extensions/extensions.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/java/compiler/forms-compiler/forms-compiler.iml" filepath="$PROJECT_DIR$/java/compiler/forms-compiler/forms-compiler.iml" group="java/compiler" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/forms_rt/forms_rt.iml" filepath="$PROJECT_DIR$/platform/forms_rt/forms_rt.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/generate-tostring/generate-tostring.iml" filepath="$PROJECT_DIR$/plugins/generate-tostring/generate-tostring.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/git4idea/git4idea.iml" filepath="$PROJECT_DIR$/plugins/git4idea/git4idea.iml" group="plugins/VCS" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/git4idea/rt/git4idea-rt.iml" filepath="$PROJECT_DIR$/plugins/git4idea/rt/git4idea-rt.iml" group="plugins/VCS" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/github/github.iml" filepath="$PROJECT_DIR$/plugins/github/github.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/gradle/gradle.iml" filepath="$PROJECT_DIR$/plugins/gradle/gradle.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/groovy/rt/groovy_rt.iml" filepath="$PROJECT_DIR$/plugins/groovy/rt/groovy_rt.iml" group="plugins/Groovy" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/hg4idea/hg4idea.iml" filepath="$PROJECT_DIR$/plugins/hg4idea/hg4idea.iml" group="plugins/VCS" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/icons/icons.iml" filepath="$PROJECT_DIR$/platform/icons/icons.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/java/idea-ui/idea-ui.iml" filepath="$PROJECT_DIR$/java/idea-ui/idea-ui.iml" group="java" />
|
||||
<module fileurl="file://$PROJECT_DIR$/images/images.iml" filepath="$PROJECT_DIR$/images/images.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/indexing-api/indexing-api.iml" filepath="$PROJECT_DIR$/platform/indexing-api/indexing-api.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/indexing-impl/indexing-impl.iml" filepath="$PROJECT_DIR$/platform/indexing-impl/indexing-impl.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/java/compiler/instrumentation-util/instrumentation-util.iml" filepath="$PROJECT_DIR$/java/compiler/instrumentation-util/instrumentation-util.iml" group="java/compiler" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/java-i18n/java-i18n.iml" filepath="$PROJECT_DIR$/plugins/java-i18n/java-i18n.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/java/java-impl/java-impl.iml" filepath="$PROJECT_DIR$/java/java-impl/java-impl.iml" group="java" />
|
||||
<module fileurl="file://$PROJECT_DIR$/java/java-indexing-impl/java-indexing-impl.iml" filepath="$PROJECT_DIR$/java/java-indexing-impl/java-indexing-impl.iml" group="java" />
|
||||
<module fileurl="file://$PROJECT_DIR$/java/java-psi-api/java-psi-api.iml" filepath="$PROJECT_DIR$/java/java-psi-api/java-psi-api.iml" group="java" />
|
||||
<module fileurl="file://$PROJECT_DIR$/java/java-psi-impl/java-psi-impl.iml" filepath="$PROJECT_DIR$/java/java-psi-impl/java-psi-impl.iml" group="java" />
|
||||
<module fileurl="file://$PROJECT_DIR$/java/java-runtime/java-runtime.iml" filepath="$PROJECT_DIR$/java/java-runtime/java-runtime.iml" group="java" />
|
||||
<module fileurl="file://$PROJECT_DIR$/java/java-tests/java-tests.iml" filepath="$PROJECT_DIR$/java/java-tests/java-tests.iml" group="java" />
|
||||
<module fileurl="file://$PROJECT_DIR$/java/compiler/javac2/javac2.iml" filepath="$PROJECT_DIR$/java/compiler/javac2/javac2.iml" group="java/compiler" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/cvs/javacvs-src/javacvs-src.iml" filepath="$PROJECT_DIR$/plugins/cvs/javacvs-src/javacvs-src.iml" group="plugins/VCS/cvs" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/groovy/jetgroovy.iml" filepath="$PROJECT_DIR$/plugins/groovy/jetgroovy.iml" group="plugins/Groovy" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/tasks/jira-connector/jira-connector.iml" filepath="$PROJECT_DIR$/plugins/tasks/jira-connector/jira-connector.iml" group="plugins/tasks" />
|
||||
<module fileurl="file://$PROJECT_DIR$/jps/jps.iml" filepath="$PROJECT_DIR$/jps/jps.iml" group="jps" />
|
||||
<module fileurl="file://$PROJECT_DIR$/jps/plugins/appLauncher/jps-appLauncher.iml" filepath="$PROJECT_DIR$/jps/plugins/appLauncher/jps-appLauncher.iml" group="jps" />
|
||||
<module fileurl="file://$PROJECT_DIR$/jps/jps-builders/jps-builders.iml" filepath="$PROJECT_DIR$/jps/jps-builders/jps-builders.iml" group="jps" />
|
||||
<module fileurl="file://$PROJECT_DIR$/jps/model/jps-model.iml" filepath="$PROJECT_DIR$/jps/model/jps-model.iml" group="jps" />
|
||||
<module fileurl="file://$PROJECT_DIR$/jps/model-api/jps-model-api.iml" filepath="$PROJECT_DIR$/jps/model-api/jps-model-api.iml" group="jps" />
|
||||
<module fileurl="file://$PROJECT_DIR$/jps/model-impl/jps-model-impl.iml" filepath="$PROJECT_DIR$/jps/model-impl/jps-model-impl.iml" group="jps" />
|
||||
<module fileurl="file://$PROJECT_DIR$/jps/plugins/scala/jps-scala.iml" filepath="$PROJECT_DIR$/jps/plugins/scala/jps-scala.iml" group="jps" />
|
||||
<module fileurl="file://$PROJECT_DIR$/jps/jps-tests.iml" filepath="$PROJECT_DIR$/jps/jps-tests.iml" group="jps" />
|
||||
<module fileurl="file://$PROJECT_DIR$/java/jsp-base-openapi/jsp-base-openapi.iml" filepath="$PROJECT_DIR$/java/jsp-base-openapi/jsp-base-openapi.iml" group="java" />
|
||||
<module fileurl="file://$PROJECT_DIR$/java/jsp-openapi/jsp-openapi.iml" filepath="$PROJECT_DIR$/java/jsp-openapi/jsp-openapi.iml" group="java" />
|
||||
<module fileurl="file://$PROJECT_DIR$/java/jsp-spi/jsp-spi.iml" filepath="$PROJECT_DIR$/java/jsp-spi/jsp-spi.iml" group="java" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/junit/junit.iml" filepath="$PROJECT_DIR$/plugins/junit/junit.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/junit_rt/junit_rt.iml" filepath="$PROJECT_DIR$/plugins/junit_rt/junit_rt.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/lang-api/lang-api.iml" filepath="$PROJECT_DIR$/platform/lang-api/lang-api.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/lang-impl/lang-impl.iml" filepath="$PROJECT_DIR$/platform/lang-impl/lang-impl.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/lvcs-api/lvcs-api.iml" filepath="$PROJECT_DIR$/platform/lvcs-api/lvcs-api.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/lvcs-impl/lvcs-impl.iml" filepath="$PROJECT_DIR$/platform/lvcs-impl/lvcs-impl.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/maven/maven.iml" filepath="$PROJECT_DIR$/plugins/maven/maven.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/maven/maven-server-api/maven-server-api.iml" filepath="$PROJECT_DIR$/plugins/maven/maven-server-api/maven-server-api.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/maven/maven2-server-impl/maven2-server-impl.iml" filepath="$PROJECT_DIR$/plugins/maven/maven2-server-impl/maven2-server-impl.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/maven/maven3-server-impl/maven3-server-impl.iml" filepath="$PROJECT_DIR$/plugins/maven/maven3-server-impl/maven3-server-impl.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/java/openapi/openapi.iml" filepath="$PROJECT_DIR$/java/openapi/openapi.iml" group="java" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/platform-api/platform-api.iml" filepath="$PROJECT_DIR$/platform/platform-api/platform-api.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/platform-impl/platform-impl.iml" filepath="$PROJECT_DIR$/platform/platform-impl/platform-impl.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/platform-main/platform-main.iml" filepath="$PROJECT_DIR$/platform/platform-main/platform-main.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/platform-resources/platform-resources.iml" filepath="$PROJECT_DIR$/platform/platform-resources/platform-resources.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/platform-resources-en/platform-resources-en.iml" filepath="$PROJECT_DIR$/platform/platform-resources-en/platform-resources-en.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/platform-tests/platform-tests.iml" filepath="$PROJECT_DIR$/platform/platform-tests/platform-tests.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/projectModel-api/projectModel-api.iml" filepath="$PROJECT_DIR$/platform/projectModel-api/projectModel-api.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/projectModel-impl/projectModel-impl.iml" filepath="$PROJECT_DIR$/platform/projectModel-impl/projectModel-impl.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/properties/properties.iml" filepath="$PROJECT_DIR$/plugins/properties/properties.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/rearranger/rearranger.iml" filepath="$PROJECT_DIR$/plugins/rearranger/rearranger.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/xml/relaxng/relaxng.iml" filepath="$PROJECT_DIR$/xml/relaxng/relaxng.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/resources/resources.iml" filepath="$PROJECT_DIR$/resources/resources.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/resources-en/resources-en.iml" filepath="$PROJECT_DIR$/resources-en/resources-en.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/smRunner/smRunner.iml" filepath="$PROJECT_DIR$/platform/smRunner/smRunner.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/cvs/smartcvs-src/smartcvs-src.iml" filepath="$PROJECT_DIR$/plugins/cvs/smartcvs-src/smartcvs-src.iml" group="plugins/VCS/cvs" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/spellchecker/spellchecker.iml" filepath="$PROJECT_DIR$/plugins/spellchecker/spellchecker.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/svn4idea/svn4idea.iml" filepath="$PROJECT_DIR$/plugins/svn4idea/svn4idea.iml" group="plugins/VCS" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/svn4idea/svn4idea-tests.iml" filepath="$PROJECT_DIR$/plugins/svn4idea/svn4idea-tests.iml" group="plugins/VCS" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/tasks/tasks-api/tasks-api.iml" filepath="$PROJECT_DIR$/plugins/tasks/tasks-api/tasks-api.iml" group="plugins/tasks" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/tasks/tasks-core/tasks-core.iml" filepath="$PROJECT_DIR$/plugins/tasks/tasks-core/tasks-core.iml" group="plugins/tasks" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/tasks/tasks-java/tasks-java.iml" filepath="$PROJECT_DIR$/plugins/tasks/tasks-java/tasks-java.iml" group="plugins/tasks" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/tasks/tasks-tests/tasks-tests.iml" filepath="$PROJECT_DIR$/plugins/tasks/tasks-tests/tasks-tests.iml" group="plugins/tasks" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/testFramework/testFramework.iml" filepath="$PROJECT_DIR$/platform/testFramework/testFramework.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/java/testFramework/testFramework-java.iml" filepath="$PROJECT_DIR$/java/testFramework/testFramework-java.iml" group="java" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/testRunner/testRunner.iml" filepath="$PROJECT_DIR$/platform/testRunner/testRunner.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/testng/testng.iml" filepath="$PROJECT_DIR$/plugins/testng/testng.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/testng_rt/testng_rt.iml" filepath="$PROJECT_DIR$/plugins/testng_rt/testng_rt.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/testFramework/bootstrap/tests_bootstrap.iml" filepath="$PROJECT_DIR$/platform/testFramework/bootstrap/tests_bootstrap.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/ui-designer/ui-designer.iml" filepath="$PROJECT_DIR$/plugins/ui-designer/ui-designer.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/ui-designer/ui-designer-new/ui-designer-new.iml" filepath="$PROJECT_DIR$/plugins/ui-designer/ui-designer-new/ui-designer-new.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/usageView/usageView.iml" filepath="$PROJECT_DIR$/platform/usageView/usageView.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/util/util.iml" filepath="$PROJECT_DIR$/platform/util/util.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/util-rt/util-rt.iml" filepath="$PROJECT_DIR$/platform/util-rt/util-rt.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/vcs-api/vcs-api.iml" filepath="$PROJECT_DIR$/platform/vcs-api/vcs-api.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/vcs-impl/vcs-impl.iml" filepath="$PROJECT_DIR$/platform/vcs-impl/vcs-impl.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/xdebugger-api/xdebugger-api.iml" filepath="$PROJECT_DIR$/platform/xdebugger-api/xdebugger-api.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/xdebugger-impl/xdebugger-impl.iml" filepath="$PROJECT_DIR$/platform/xdebugger-impl/xdebugger-impl.iml" group="platform" />
|
||||
<module fileurl="file://$PROJECT_DIR$/xml/impl/xml.iml" filepath="$PROJECT_DIR$/xml/impl/xml.iml" group="xml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/xml/openapi/xml-openapi.iml" filepath="$PROJECT_DIR$/xml/openapi/xml-openapi.iml" group="xml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/xml/tests/xml-tests.iml" filepath="$PROJECT_DIR$/xml/tests/xml-tests.iml" group="xml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/xpath/xpath.iml" filepath="$PROJECT_DIR$/plugins/xpath/xpath.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/xslt-debugger/xslt-debugger.iml" filepath="$PROJECT_DIR$/plugins/xslt-debugger/xslt-debugger.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/xslt-debugger/engine/xslt-debugger-engine.iml" filepath="$PROJECT_DIR$/plugins/xslt-debugger/engine/xslt-debugger-engine.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/xslt-debugger/engine/impl/xslt-debugger-engine-impl.iml" filepath="$PROJECT_DIR$/plugins/xslt-debugger/engine/impl/xslt-debugger-engine-impl.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/xpath/xslt-rt/xslt-rt.iml" filepath="$PROJECT_DIR$/plugins/xpath/xslt-rt/xslt-rt.iml" group="plugins" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/InspectionGadgets/InspectionGadgetsPlugin.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/InspectionGadgets/InspectionGadgetsPlugin.iml" group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/IntelliLang/IntelliLang.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/IntelliLang/IntelliLang.iml" group="plugins/IntelliLang"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/IntelliLang/IntelliLang-java.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/IntelliLang/IntelliLang-java.iml" group="plugins/IntelliLang"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/IntelliLang/IntelliLang-javaee.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/IntelliLang/IntelliLang-javaee.iml" group="plugins/IntelliLang"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/IntelliLang/IntelliLang-xml.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/IntelliLang/IntelliLang-xml.iml" group="plugins/IntelliLang"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/IntentionPowerPak/IntentionPowerPackPlugin.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/IntentionPowerPak/IntentionPowerPackPlugin.iml" group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/RegExpSupport/RegExpSupport.iml" filepath="$PROJECT_DIR$/RegExpSupport/RegExpSupport.iml"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/android/android.iml" filepath="$PROJECT_DIR$/plugins/android/android.iml"
|
||||
group="plugins/Android"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/android/common/android-common.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/android/common/android-common.iml" group="plugins/Android"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/android-designer/android-designer.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/android-designer/android-designer.iml" group="plugins/Android"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/android/jps-plugin/android-jps-plugin.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/android/jps-plugin/android-jps-plugin.iml" group="plugins/Android"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/android/rt/android-rt.iml" filepath="$PROJECT_DIR$/plugins/android/rt/android-rt.iml"
|
||||
group="plugins/Android"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/annotations/annotations.iml"
|
||||
filepath="$PROJECT_DIR$/platform/annotations/annotations.iml" group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/ant/ant.iml" filepath="$PROJECT_DIR$/plugins/ant/ant.iml" group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/jps/antLayout/antlayout.iml" filepath="$PROJECT_DIR$/jps/antLayout/antlayout.iml"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/boot/boot.iml" filepath="$PROJECT_DIR$/platform/boot/boot.iml" group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/bootstrap/bootstrap.iml" filepath="$PROJECT_DIR$/platform/bootstrap/bootstrap.iml"
|
||||
group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/build/build.iml" filepath="$PROJECT_DIR$/build/build.iml"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/commander/commander.iml" filepath="$PROJECT_DIR$/plugins/commander/commander.iml"
|
||||
group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/community-main.iml" filepath="$PROJECT_DIR$/community-main.iml"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/community-resources/community-resources.iml"
|
||||
filepath="$PROJECT_DIR$/community-resources/community-resources.iml"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/java/compiler/impl/compiler-impl.iml"
|
||||
filepath="$PROJECT_DIR$/java/compiler/impl/compiler-impl.iml" group="java/compiler"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/java/compiler/openapi/compiler-openapi.iml"
|
||||
filepath="$PROJECT_DIR$/java/compiler/openapi/compiler-openapi.iml" group="java/compiler"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/copyright/copyright.iml" filepath="$PROJECT_DIR$/plugins/copyright/copyright.iml"
|
||||
group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/core-api/core-api.iml" filepath="$PROJECT_DIR$/platform/core-api/core-api.iml"
|
||||
group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/core-impl/core-impl.iml" filepath="$PROJECT_DIR$/platform/core-impl/core-impl.iml"
|
||||
group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/cvs/cvs-core/cvs-core.iml" filepath="$PROJECT_DIR$/plugins/cvs/cvs-core/cvs-core.iml"
|
||||
group="plugins/VCS/cvs"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/cvs/cvs-plugin/cvs-plugin.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/cvs/cvs-plugin/cvs-plugin.iml" group="plugins/VCS/cvs"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/java/debugger/impl/debugger-impl.iml"
|
||||
filepath="$PROJECT_DIR$/java/debugger/impl/debugger-impl.iml" group="java"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/java/debugger/openapi/debugger-openapi.iml"
|
||||
filepath="$PROJECT_DIR$/java/debugger/openapi/debugger-openapi.iml" group="java"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/devkit/devkit.iml" filepath="$PROJECT_DIR$/plugins/devkit/devkit.iml" group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/xml/dom-impl/dom-impl.iml" filepath="$PROJECT_DIR$/xml/dom-impl/dom-impl.iml" group="xml"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/xml/dom-openapi/dom-openapi.iml" filepath="$PROJECT_DIR$/xml/dom-openapi/dom-openapi.iml"
|
||||
group="xml"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/eclipse/eclipse.iml" filepath="$PROJECT_DIR$/plugins/eclipse/eclipse.iml"
|
||||
group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/java/execution/impl/execution-impl.iml"
|
||||
filepath="$PROJECT_DIR$/java/execution/impl/execution-impl.iml" group="java"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/java/execution/openapi/execution-openapi.iml"
|
||||
filepath="$PROJECT_DIR$/java/execution/openapi/execution-openapi.iml" group="java"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/extensions/extensions.iml" filepath="$PROJECT_DIR$/platform/extensions/extensions.iml"
|
||||
group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/java/compiler/forms-compiler/forms-compiler.iml"
|
||||
filepath="$PROJECT_DIR$/java/compiler/forms-compiler/forms-compiler.iml" group="java/compiler"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/forms_rt/forms_rt.iml" filepath="$PROJECT_DIR$/platform/forms_rt/forms_rt.iml"
|
||||
group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/generate-tostring/generate-tostring.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/generate-tostring/generate-tostring.iml" group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/git4idea/git4idea.iml" filepath="$PROJECT_DIR$/plugins/git4idea/git4idea.iml"
|
||||
group="plugins/VCS"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/git4idea/rt/git4idea-rt.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/git4idea/rt/git4idea-rt.iml" group="plugins/VCS"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/github/github.iml" filepath="$PROJECT_DIR$/plugins/github/github.iml" group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/gradle/gradle.iml" filepath="$PROJECT_DIR$/plugins/gradle/gradle.iml"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/groovy/rt/groovy_rt.iml" filepath="$PROJECT_DIR$/plugins/groovy/rt/groovy_rt.iml"
|
||||
group="plugins/Groovy"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/hg4idea/hg4idea.iml" filepath="$PROJECT_DIR$/plugins/hg4idea/hg4idea.iml"
|
||||
group="plugins/VCS"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/icons/icons.iml" filepath="$PROJECT_DIR$/platform/icons/icons.iml" group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/java/idea-ui/idea-ui.iml" filepath="$PROJECT_DIR$/java/idea-ui/idea-ui.iml" group="java"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/images/images.iml" filepath="$PROJECT_DIR$/images/images.iml"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/indexing-api/indexing-api.iml"
|
||||
filepath="$PROJECT_DIR$/platform/indexing-api/indexing-api.iml" group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/indexing-impl/indexing-impl.iml"
|
||||
filepath="$PROJECT_DIR$/platform/indexing-impl/indexing-impl.iml" group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/java/compiler/instrumentation-util/instrumentation-util.iml"
|
||||
filepath="$PROJECT_DIR$/java/compiler/instrumentation-util/instrumentation-util.iml" group="java/compiler"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/java-i18n/java-i18n.iml" filepath="$PROJECT_DIR$/plugins/java-i18n/java-i18n.iml"
|
||||
group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/java/java-impl/java-impl.iml" filepath="$PROJECT_DIR$/java/java-impl/java-impl.iml"
|
||||
group="java"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/java/java-indexing-impl/java-indexing-impl.iml"
|
||||
filepath="$PROJECT_DIR$/java/java-indexing-impl/java-indexing-impl.iml" group="java"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/java/java-psi-api/java-psi-api.iml" filepath="$PROJECT_DIR$/java/java-psi-api/java-psi-api.iml"
|
||||
group="java"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/java/java-psi-impl/java-psi-impl.iml"
|
||||
filepath="$PROJECT_DIR$/java/java-psi-impl/java-psi-impl.iml" group="java"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/java/java-runtime/java-runtime.iml" filepath="$PROJECT_DIR$/java/java-runtime/java-runtime.iml"
|
||||
group="java"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/java/java-tests/java-tests.iml" filepath="$PROJECT_DIR$/java/java-tests/java-tests.iml"
|
||||
group="java"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/java/compiler/javac2/javac2.iml" filepath="$PROJECT_DIR$/java/compiler/javac2/javac2.iml"
|
||||
group="java/compiler"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/cvs/javacvs-src/javacvs-src.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/cvs/javacvs-src/javacvs-src.iml" group="plugins/VCS/cvs"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/groovy/jetgroovy.iml" filepath="$PROJECT_DIR$/plugins/groovy/jetgroovy.iml"
|
||||
group="plugins/Groovy"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/tasks/jira-connector/jira-connector.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/tasks/jira-connector/jira-connector.iml" group="plugins/tasks"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/jps/jps.iml" filepath="$PROJECT_DIR$/jps/jps.iml" group="jps"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/jps/plugins/appLauncher/jps-appLauncher.iml"
|
||||
filepath="$PROJECT_DIR$/jps/plugins/appLauncher/jps-appLauncher.iml" group="jps"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/jps/jps-builders/jps-builders.iml" filepath="$PROJECT_DIR$/jps/jps-builders/jps-builders.iml"
|
||||
group="jps"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/jps/model/jps-model.iml" filepath="$PROJECT_DIR$/jps/model/jps-model.iml" group="jps"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/jps/model-api/jps-model-api.iml" filepath="$PROJECT_DIR$/jps/model-api/jps-model-api.iml"
|
||||
group="jps"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/jps/model-impl/jps-model-impl.iml" filepath="$PROJECT_DIR$/jps/model-impl/jps-model-impl.iml"
|
||||
group="jps"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/jps/model-serialization/jps-model-serialization.iml"
|
||||
filepath="$PROJECT_DIR$/jps/model-serialization/jps-model-serialization.iml" group="jps"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/jps/plugins/scala/jps-scala.iml" filepath="$PROJECT_DIR$/jps/plugins/scala/jps-scala.iml"
|
||||
group="jps"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/jps/jps-tests.iml" filepath="$PROJECT_DIR$/jps/jps-tests.iml" group="jps"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/java/jsp-base-openapi/jsp-base-openapi.iml"
|
||||
filepath="$PROJECT_DIR$/java/jsp-base-openapi/jsp-base-openapi.iml" group="java"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/java/jsp-openapi/jsp-openapi.iml" filepath="$PROJECT_DIR$/java/jsp-openapi/jsp-openapi.iml"
|
||||
group="java"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/java/jsp-spi/jsp-spi.iml" filepath="$PROJECT_DIR$/java/jsp-spi/jsp-spi.iml" group="java"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/junit/junit.iml" filepath="$PROJECT_DIR$/plugins/junit/junit.iml" group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/junit_rt/junit_rt.iml" filepath="$PROJECT_DIR$/plugins/junit_rt/junit_rt.iml"
|
||||
group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/lang-api/lang-api.iml" filepath="$PROJECT_DIR$/platform/lang-api/lang-api.iml"
|
||||
group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/lang-impl/lang-impl.iml" filepath="$PROJECT_DIR$/platform/lang-impl/lang-impl.iml"
|
||||
group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/lvcs-api/lvcs-api.iml" filepath="$PROJECT_DIR$/platform/lvcs-api/lvcs-api.iml"
|
||||
group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/lvcs-impl/lvcs-impl.iml" filepath="$PROJECT_DIR$/platform/lvcs-impl/lvcs-impl.iml"
|
||||
group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/maven/maven.iml" filepath="$PROJECT_DIR$/plugins/maven/maven.iml" group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/maven/maven-server-api/maven-server-api.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/maven/maven-server-api/maven-server-api.iml" group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/maven/maven2-server-impl/maven2-server-impl.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/maven/maven2-server-impl/maven2-server-impl.iml" group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/maven/maven3-server-impl/maven3-server-impl.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/maven/maven3-server-impl/maven3-server-impl.iml" group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/java/openapi/openapi.iml" filepath="$PROJECT_DIR$/java/openapi/openapi.iml" group="java"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/platform-api/platform-api.iml"
|
||||
filepath="$PROJECT_DIR$/platform/platform-api/platform-api.iml" group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/platform-impl/platform-impl.iml"
|
||||
filepath="$PROJECT_DIR$/platform/platform-impl/platform-impl.iml" group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/platform-main/platform-main.iml"
|
||||
filepath="$PROJECT_DIR$/platform/platform-main/platform-main.iml" group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/platform-resources/platform-resources.iml"
|
||||
filepath="$PROJECT_DIR$/platform/platform-resources/platform-resources.iml" group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/platform-resources-en/platform-resources-en.iml"
|
||||
filepath="$PROJECT_DIR$/platform/platform-resources-en/platform-resources-en.iml" group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/platform-tests/platform-tests.iml"
|
||||
filepath="$PROJECT_DIR$/platform/platform-tests/platform-tests.iml" group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/projectModel-api/projectModel-api.iml"
|
||||
filepath="$PROJECT_DIR$/platform/projectModel-api/projectModel-api.iml" group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/projectModel-impl/projectModel-impl.iml"
|
||||
filepath="$PROJECT_DIR$/platform/projectModel-impl/projectModel-impl.iml" group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/properties/properties.iml" filepath="$PROJECT_DIR$/plugins/properties/properties.iml"
|
||||
group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/rearranger/rearranger.iml" filepath="$PROJECT_DIR$/plugins/rearranger/rearranger.iml"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/xml/relaxng/relaxng.iml" filepath="$PROJECT_DIR$/xml/relaxng/relaxng.iml" group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/resources/resources.iml" filepath="$PROJECT_DIR$/resources/resources.iml"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/resources-en/resources-en.iml" filepath="$PROJECT_DIR$/resources-en/resources-en.iml"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/smRunner/smRunner.iml" filepath="$PROJECT_DIR$/platform/smRunner/smRunner.iml"
|
||||
group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/cvs/smartcvs-src/smartcvs-src.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/cvs/smartcvs-src/smartcvs-src.iml" group="plugins/VCS/cvs"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/spellchecker/spellchecker.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/spellchecker/spellchecker.iml" group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/svn4idea/svn4idea.iml" filepath="$PROJECT_DIR$/plugins/svn4idea/svn4idea.iml"
|
||||
group="plugins/VCS"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/svn4idea/svn4idea-tests.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/svn4idea/svn4idea-tests.iml" group="plugins/VCS"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/tasks/tasks-api/tasks-api.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/tasks/tasks-api/tasks-api.iml" group="plugins/tasks"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/tasks/tasks-core/tasks-core.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/tasks/tasks-core/tasks-core.iml" group="plugins/tasks"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/tasks/tasks-java/tasks-java.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/tasks/tasks-java/tasks-java.iml" group="plugins/tasks"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/tasks/tasks-tests/tasks-tests.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/tasks/tasks-tests/tasks-tests.iml" group="plugins/tasks"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/testFramework/testFramework.iml"
|
||||
filepath="$PROJECT_DIR$/platform/testFramework/testFramework.iml" group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/java/testFramework/testFramework-java.iml"
|
||||
filepath="$PROJECT_DIR$/java/testFramework/testFramework-java.iml" group="java"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/testRunner/testRunner.iml" filepath="$PROJECT_DIR$/platform/testRunner/testRunner.iml"
|
||||
group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/testng/testng.iml" filepath="$PROJECT_DIR$/plugins/testng/testng.iml" group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/testng_rt/testng_rt.iml" filepath="$PROJECT_DIR$/plugins/testng_rt/testng_rt.iml"
|
||||
group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/testFramework/bootstrap/tests_bootstrap.iml"
|
||||
filepath="$PROJECT_DIR$/platform/testFramework/bootstrap/tests_bootstrap.iml" group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/ui-designer/ui-designer.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/ui-designer/ui-designer.iml" group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/ui-designer/ui-designer-new/ui-designer-new.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/ui-designer/ui-designer-new/ui-designer-new.iml" group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/usageView/usageView.iml" filepath="$PROJECT_DIR$/platform/usageView/usageView.iml"
|
||||
group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/util/util.iml" filepath="$PROJECT_DIR$/platform/util/util.iml" group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/util-rt/util-rt.iml" filepath="$PROJECT_DIR$/platform/util-rt/util-rt.iml"
|
||||
group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/vcs-api/vcs-api.iml" filepath="$PROJECT_DIR$/platform/vcs-api/vcs-api.iml"
|
||||
group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/vcs-impl/vcs-impl.iml" filepath="$PROJECT_DIR$/platform/vcs-impl/vcs-impl.iml"
|
||||
group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/xdebugger-api/xdebugger-api.iml"
|
||||
filepath="$PROJECT_DIR$/platform/xdebugger-api/xdebugger-api.iml" group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/xdebugger-impl/xdebugger-impl.iml"
|
||||
filepath="$PROJECT_DIR$/platform/xdebugger-impl/xdebugger-impl.iml" group="platform"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/xml/impl/xml.iml" filepath="$PROJECT_DIR$/xml/impl/xml.iml" group="xml"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/xml/openapi/xml-openapi.iml" filepath="$PROJECT_DIR$/xml/openapi/xml-openapi.iml" group="xml"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/xml/tests/xml-tests.iml" filepath="$PROJECT_DIR$/xml/tests/xml-tests.iml" group="xml"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/xpath/xpath.iml" filepath="$PROJECT_DIR$/plugins/xpath/xpath.iml" group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/xslt-debugger/xslt-debugger.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/xslt-debugger/xslt-debugger.iml" group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/xslt-debugger/engine/xslt-debugger-engine.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/xslt-debugger/engine/xslt-debugger-engine.iml" group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/xslt-debugger/engine/impl/xslt-debugger-engine-impl.iml"
|
||||
filepath="$PROJECT_DIR$/plugins/xslt-debugger/engine/impl/xslt-debugger-engine-impl.iml" group="plugins"/>
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/xpath/xslt-rt/xslt-rt.iml" filepath="$PROJECT_DIR$/plugins/xpath/xslt-rt/xslt-rt.iml"
|
||||
group="plugins"/>
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
package org.jetbrains.jps.model;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.library.JpsLibrary;
|
||||
import org.jetbrains.jps.model.library.JpsLibraryReference;
|
||||
import org.jetbrains.jps.model.library.JpsLibraryType;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
import org.jetbrains.jps.model.module.JpsModuleReference;
|
||||
import org.jetbrains.jps.model.module.JpsModuleType;
|
||||
import org.jetbrains.jps.service.JpsServiceManager;
|
||||
|
||||
/**
|
||||
@@ -13,6 +17,10 @@ public abstract class JpsElementFactory {
|
||||
return JpsServiceManager.getInstance().getService(JpsElementFactory.class);
|
||||
}
|
||||
|
||||
public abstract JpsModule createModule(String name, JpsModuleType<?> type);
|
||||
|
||||
public abstract JpsLibrary createLibrary(@NotNull String name, @NotNull JpsLibraryType<?> type);
|
||||
|
||||
@NotNull
|
||||
public abstract JpsModuleReference createModuleReference(@NotNull String moduleName);
|
||||
|
||||
@@ -20,4 +28,9 @@ public abstract class JpsElementFactory {
|
||||
public abstract JpsLibraryReference createLibraryReference(@NotNull String libraryName,
|
||||
@NotNull JpsElementReference<? extends JpsCompositeElement> parentReference);
|
||||
|
||||
@NotNull
|
||||
public abstract JpsElementReference<JpsProject> createProjectReference();
|
||||
|
||||
@NotNull
|
||||
public abstract JpsElementReference<JpsGlobal> createGlobalReference();
|
||||
}
|
||||
|
||||
@@ -24,4 +24,8 @@ public interface JpsProject extends JpsCompositeElement, JpsReferenceableElement
|
||||
|
||||
@NotNull
|
||||
List<? extends JpsModule> getModules();
|
||||
|
||||
void addModule(JpsModule module);
|
||||
|
||||
void addLibrary(JpsLibrary library);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package org.jetbrains.jps.model.java;
|
||||
|
||||
import org.jetbrains.jps.model.JpsElement;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
//todo[nik] move to j2me plugin
|
||||
public interface ExplodedDirectoryModuleExtension extends JpsElement {
|
||||
|
||||
String getExplodedUrl();
|
||||
|
||||
void setExplodedUrl(String explodedUrl);
|
||||
|
||||
boolean isExcludeExploded();
|
||||
|
||||
void setExcludeExploded(boolean excludeExploded);
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package org.jetbrains.jps.model.java;
|
||||
|
||||
import org.jetbrains.jps.model.library.JpsOrderRootType;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public class JpsAnnotationRootType extends JpsOrderRootType {
|
||||
public static final JpsAnnotationRootType INSTANCE = new JpsAnnotationRootType();
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package org.jetbrains.jps.model.java;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsElementKind;
|
||||
import org.jetbrains.jps.model.module.JpsDependencyElement;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
import org.jetbrains.jps.service.JpsServiceManager;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public abstract class JpsJavaExtensionService {
|
||||
public static JpsJavaExtensionService getInstance() {
|
||||
return JpsServiceManager.getInstance().getService(JpsJavaExtensionService.class);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public abstract JpsJavaModuleExtension getOrCreateModuleExtension(@NotNull JpsModule module);
|
||||
|
||||
@NotNull
|
||||
public abstract JpsJavaDependencyExtension getOrCreateDependencyExtension(@NotNull JpsDependencyElement dependency);
|
||||
|
||||
@NotNull
|
||||
public abstract JpsElementKind<? extends JpsJavaModuleExtension> getModuleExtensionKind();
|
||||
|
||||
@NotNull
|
||||
public abstract JpsElementKind<? extends JpsJavaDependencyExtension> getDependencyExtensionKind();
|
||||
|
||||
@NotNull
|
||||
public abstract ExplodedDirectoryModuleExtension getOrCreateExplodedDirectoryExtension(@NotNull JpsModule module);
|
||||
}
|
||||
+13
-1
@@ -1,11 +1,15 @@
|
||||
package org.jetbrains.jps.model.java;
|
||||
|
||||
import org.jetbrains.jps.model.JpsElement;
|
||||
import org.jetbrains.jps.model.JpsUrlList;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public interface JavaModuleExtension extends JpsElement {
|
||||
public interface JpsJavaModuleExtension extends JpsElement {
|
||||
JpsUrlList getJavadocRoots();
|
||||
|
||||
JpsUrlList getAnnotationRoots();
|
||||
|
||||
String getOutputUrl();
|
||||
|
||||
@@ -18,4 +22,12 @@ public interface JavaModuleExtension extends JpsElement {
|
||||
LanguageLevel getLanguageLevel();
|
||||
|
||||
void setLanguageLevel(LanguageLevel languageLevel);
|
||||
|
||||
boolean isInheritOutput();
|
||||
|
||||
void setInheritOutput(boolean inheritOutput);
|
||||
|
||||
boolean isExcludeOutput();
|
||||
|
||||
void setExcludeOutput(boolean excludeOutput);
|
||||
}
|
||||
@@ -4,14 +4,16 @@ package org.jetbrains.jps.model.library;
|
||||
* @author nik
|
||||
*/
|
||||
public class JpsLibraryRootType {
|
||||
public static final JpsLibraryRootType COMPILED = new JpsLibraryRootType(JpsOrderRootType.COMPILED, false);
|
||||
public static final JpsLibraryRootType SOURCES = new JpsLibraryRootType(JpsOrderRootType.SOURCES, false);
|
||||
public static final JpsLibraryRootType COMPILED = new JpsLibraryRootType(JpsOrderRootType.COMPILED, false, false);
|
||||
public static final JpsLibraryRootType SOURCES = new JpsLibraryRootType(JpsOrderRootType.SOURCES, false, false);
|
||||
private final boolean myJarDirectory;
|
||||
private final boolean myRecursive;
|
||||
private final JpsOrderRootType myType;
|
||||
|
||||
public JpsLibraryRootType(JpsOrderRootType type, boolean jarDirectory) {
|
||||
myType = type;
|
||||
public JpsLibraryRootType(JpsOrderRootType type, boolean jarDirectory, boolean recursive) {
|
||||
myJarDirectory = jarDirectory;
|
||||
myRecursive = recursive;
|
||||
myType = type;
|
||||
}
|
||||
|
||||
public boolean isJarDirectory() {
|
||||
@@ -21,4 +23,8 @@ public class JpsLibraryRootType {
|
||||
public JpsOrderRootType getType() {
|
||||
return myType;
|
||||
}
|
||||
|
||||
public boolean isRecursive() {
|
||||
return myRecursive;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,6 +42,9 @@ public interface JpsModule extends JpsNamedElement, JpsReferenceableElement<JpsM
|
||||
@NotNull
|
||||
JpsLibrary addModuleLibrary(@NotNull JpsLibraryType<?> type, @NotNull String name);
|
||||
|
||||
@NotNull
|
||||
JpsLibrary addModuleLibrary(@NotNull JpsLibrary library);
|
||||
|
||||
void delete();
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -12,8 +12,11 @@ public abstract class JpsServiceManager {
|
||||
|
||||
public abstract <T> T getService(Class<T> serviceClass);
|
||||
|
||||
public abstract <T> Iterable<T> getExtensions(Class<T> extensionClass);
|
||||
|
||||
private static class InstanceHolder {
|
||||
private static final JpsServiceManager INSTANCE;
|
||||
|
||||
static {
|
||||
INSTANCE = ServiceLoader.load(JpsServiceManager.class).iterator().next();
|
||||
}
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
org.jetbrains.jps.model.java.impl.JpsJavaExtensionServiceImpl
|
||||
@@ -2,15 +2,32 @@ package org.jetbrains.jps.model.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.*;
|
||||
import org.jetbrains.jps.model.library.JpsLibrary;
|
||||
import org.jetbrains.jps.model.library.JpsLibraryReference;
|
||||
import org.jetbrains.jps.model.library.JpsLibraryType;
|
||||
import org.jetbrains.jps.model.library.impl.JpsLibraryImpl;
|
||||
import org.jetbrains.jps.model.library.impl.JpsLibraryReferenceImpl;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
import org.jetbrains.jps.model.module.JpsModuleReference;
|
||||
import org.jetbrains.jps.model.module.JpsModuleType;
|
||||
import org.jetbrains.jps.model.module.impl.JpsModuleImpl;
|
||||
import org.jetbrains.jps.model.module.impl.JpsModuleReferenceImpl;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public class JpsElementFactoryImpl extends JpsElementFactory {
|
||||
|
||||
@Override
|
||||
public JpsModule createModule(String name, JpsModuleType<?> type) {
|
||||
return new JpsModuleImpl(type, name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public JpsLibrary createLibrary(@NotNull String name, @NotNull JpsLibraryType<?> type) {
|
||||
return new JpsLibraryImpl(name, type);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public JpsModuleReference createModuleReference(@NotNull String moduleName) {
|
||||
@@ -23,4 +40,16 @@ public class JpsElementFactoryImpl extends JpsElementFactory {
|
||||
@NotNull JpsElementReference<? extends JpsCompositeElement> parentReference) {
|
||||
return new JpsLibraryReferenceImpl(libraryName, parentReference);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public JpsElementReference<JpsProject> createProjectReference() {
|
||||
return new JpsProjectElementReference();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public JpsElementReference<JpsGlobal> createGlobalReference() {
|
||||
return new JpsGlobalElementReference();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ public class JpsGlobalImpl extends JpsRootElementBase<JpsGlobalImpl> implements
|
||||
@NotNull
|
||||
@Override
|
||||
public JpsLibrary addLibrary(@NotNull JpsLibraryType libraryType, @NotNull final String name) {
|
||||
final JpsElementCollectionImpl<JpsLibraryImpl> collection = myContainer.getChild(JpsLibraryKind.LIBRARIES_COLLECTION_KIND);
|
||||
final JpsElementCollectionImpl<JpsLibrary> collection = myContainer.getChild(JpsLibraryKind.LIBRARIES_COLLECTION_KIND);
|
||||
return collection.addChild(new JpsLibraryImpl(name, libraryType));
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,8 @@ import java.util.List;
|
||||
* @author nik
|
||||
*/
|
||||
public class JpsProjectImpl extends JpsRootElementBase<JpsProjectImpl> implements JpsProject {
|
||||
private static final JpsElementCollectionKind<JpsElementReference<?>> EXTERNAL_REFERENCES_COLLECTION_KIND = new JpsElementCollectionKind<JpsElementReference<?>>(new JpsElementKindBase<JpsElementReference<?>>("external reference"));
|
||||
private static final JpsElementCollectionKind<JpsElementReference<?>> EXTERNAL_REFERENCES_COLLECTION_KIND =
|
||||
new JpsElementCollectionKind<JpsElementReference<?>>(new JpsElementKindBase<JpsElementReference<?>>("external reference"));
|
||||
|
||||
public JpsProjectImpl(JpsModel model, JpsEventDispatcher eventDispatcher) {
|
||||
super(model, eventDispatcher);
|
||||
@@ -37,14 +38,14 @@ public class JpsProjectImpl extends JpsRootElementBase<JpsProjectImpl> implement
|
||||
@NotNull
|
||||
@Override
|
||||
public JpsModule addModule(@NotNull JpsModuleType<?> moduleType, @NotNull final String name) {
|
||||
final JpsElementCollectionImpl<JpsModuleImpl> collection = myContainer.getChild(JpsModuleKind.MODULE_COLLECTION_KIND);
|
||||
final JpsElementCollectionImpl<JpsModule> collection = myContainer.getChild(JpsModuleKind.MODULE_COLLECTION_KIND);
|
||||
return collection.addChild(new JpsModuleImpl(moduleType, name));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public JpsLibrary addLibrary(@NotNull JpsLibraryType<?> libraryType, @NotNull final String name) {
|
||||
final JpsElementCollectionImpl<JpsLibraryImpl> collection = myContainer.getChild(JpsLibraryKind.LIBRARIES_COLLECTION_KIND);
|
||||
final JpsElementCollectionImpl<JpsLibrary> collection = myContainer.getChild(JpsLibraryKind.LIBRARIES_COLLECTION_KIND);
|
||||
return collection.addChild(new JpsLibraryImpl(name, libraryType));
|
||||
}
|
||||
|
||||
@@ -60,6 +61,16 @@ public class JpsProjectImpl extends JpsRootElementBase<JpsProjectImpl> implement
|
||||
return myContainer.getChild(JpsModuleKind.MODULE_COLLECTION_KIND).getElements();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addModule(JpsModule module) {
|
||||
myContainer.getChild(JpsModuleKind.MODULE_COLLECTION_KIND).addChild(module);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addLibrary(JpsLibrary library) {
|
||||
myContainer.getChild(JpsLibraryKind.LIBRARIES_COLLECTION_KIND).addChild(library);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public JpsElementReference<JpsProject> createReference() {
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package org.jetbrains.jps.model.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsElementCreator;
|
||||
import org.jetbrains.jps.model.JpsUrlList;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public class JpsUrlListKind extends JpsElementKindBase<JpsUrlList> implements JpsElementCreator<JpsUrlList> {
|
||||
public JpsUrlListKind(String debugName) {
|
||||
super(debugName);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public JpsUrlList create() {
|
||||
return new JpsUrlListImpl();
|
||||
}
|
||||
}
|
||||
+65
@@ -0,0 +1,65 @@
|
||||
package org.jetbrains.jps.model.java.impl;
|
||||
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.impl.JpsElementBase;
|
||||
import org.jetbrains.jps.model.impl.JpsElementKindBase;
|
||||
import org.jetbrains.jps.model.java.ExplodedDirectoryModuleExtension;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public class ExplodedDirectoryModuleExtensionImpl extends JpsElementBase<ExplodedDirectoryModuleExtensionImpl> implements
|
||||
ExplodedDirectoryModuleExtension {
|
||||
public static final JpsElementKindBase<ExplodedDirectoryModuleExtension> KIND =
|
||||
new JpsElementKindBase<ExplodedDirectoryModuleExtension>("exploded directory");
|
||||
|
||||
private String myExplodedUrl;
|
||||
private boolean myExcludeExploded;
|
||||
|
||||
public ExplodedDirectoryModuleExtensionImpl() {
|
||||
}
|
||||
|
||||
public ExplodedDirectoryModuleExtensionImpl(ExplodedDirectoryModuleExtensionImpl original) {
|
||||
myExcludeExploded = original.myExcludeExploded;
|
||||
myExplodedUrl = original.myExplodedUrl;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getExplodedUrl() {
|
||||
return myExplodedUrl;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExplodedUrl(String explodedUrl) {
|
||||
if (!Comparing.equal(myExplodedUrl, explodedUrl)) {
|
||||
myExplodedUrl = explodedUrl;
|
||||
fireElementChanged();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isExcludeExploded() {
|
||||
return myExcludeExploded;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExcludeExploded(boolean excludeExploded) {
|
||||
if (myExcludeExploded != excludeExploded) {
|
||||
myExcludeExploded = excludeExploded;
|
||||
fireElementChanged();
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public ExplodedDirectoryModuleExtensionImpl createCopy() {
|
||||
return new ExplodedDirectoryModuleExtensionImpl(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void applyChanges(@NotNull ExplodedDirectoryModuleExtensionImpl modified) {
|
||||
setExcludeExploded(modified.myExcludeExploded);
|
||||
setExplodedUrl(modified.myExplodedUrl);
|
||||
}
|
||||
}
|
||||
@@ -1,76 +0,0 @@
|
||||
package org.jetbrains.jps.model.java.impl;
|
||||
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.impl.JpsElementBase;
|
||||
import org.jetbrains.jps.model.java.JavaModuleExtension;
|
||||
import org.jetbrains.jps.model.java.LanguageLevel;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public class JavaModuleExtensionImpl extends JpsElementBase<JavaModuleExtensionImpl> implements JavaModuleExtension {
|
||||
private String myOutputUrl;
|
||||
private String myTestOutputUrl;
|
||||
private LanguageLevel myLanguageLevel;
|
||||
|
||||
public JavaModuleExtensionImpl() {
|
||||
}
|
||||
|
||||
public JavaModuleExtensionImpl(JavaModuleExtensionImpl original) {
|
||||
myOutputUrl = original.myOutputUrl;
|
||||
myTestOutputUrl = original.myTestOutputUrl;
|
||||
myLanguageLevel = original.myLanguageLevel;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public JavaModuleExtensionImpl createCopy() {
|
||||
return new JavaModuleExtensionImpl(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getOutputUrl() {
|
||||
return myOutputUrl;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setOutputUrl(String outputUrl) {
|
||||
if (!Comparing.equal(myOutputUrl, outputUrl)) {
|
||||
myOutputUrl = outputUrl;
|
||||
fireElementChanged();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTestOutputUrl() {
|
||||
return myTestOutputUrl;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTestOutputUrl(String testOutputUrl) {
|
||||
if (!Comparing.equal(myTestOutputUrl, testOutputUrl)) {
|
||||
myTestOutputUrl = testOutputUrl;
|
||||
fireElementChanged();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public LanguageLevel getLanguageLevel() {
|
||||
return myLanguageLevel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLanguageLevel(LanguageLevel languageLevel) {
|
||||
if (!Comparing.equal(myLanguageLevel, languageLevel)) {
|
||||
myLanguageLevel = languageLevel;
|
||||
fireElementChanged();
|
||||
}
|
||||
}
|
||||
|
||||
public void applyChanges(@NotNull JavaModuleExtensionImpl modified) {
|
||||
setLanguageLevel(modified.myLanguageLevel);
|
||||
setOutputUrl(modified.myOutputUrl);
|
||||
setTestOutputUrl(modified.myTestOutputUrl);
|
||||
}
|
||||
}
|
||||
@@ -1,33 +1,23 @@
|
||||
package org.jetbrains.jps.model.java.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.*;
|
||||
import org.jetbrains.jps.model.JpsElementCreator;
|
||||
import org.jetbrains.jps.model.impl.JpsElementKindBase;
|
||||
import org.jetbrains.jps.model.java.JavaModuleExtension;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public class JavaModuleExtensionKind extends JpsElementKindBase<JavaModuleExtensionImpl> implements JpsElementCreator<JavaModuleExtensionImpl> {
|
||||
private static final JavaModuleExtensionKind INSTANCE = new JavaModuleExtensionKind();
|
||||
public class JavaModuleExtensionKind extends JpsElementKindBase<JpsJavaModuleExtensionImpl>
|
||||
implements JpsElementCreator<JpsJavaModuleExtensionImpl> {
|
||||
public static final JavaModuleExtensionKind INSTANCE = new JavaModuleExtensionKind();
|
||||
|
||||
public JavaModuleExtensionKind() {
|
||||
private JavaModuleExtensionKind() {
|
||||
super("java module extension");
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public JavaModuleExtensionImpl create() {
|
||||
return new JavaModuleExtensionImpl();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static JavaModuleExtension getExtension(@NotNull JpsModule module) {
|
||||
JavaModuleExtension child = module.getContainer().getChild(INSTANCE);
|
||||
if (child == null) {
|
||||
child = module.getContainer().setChild(INSTANCE);
|
||||
}
|
||||
return child;
|
||||
public JpsJavaModuleExtensionImpl create() {
|
||||
return new JpsJavaModuleExtensionImpl();
|
||||
}
|
||||
}
|
||||
|
||||
+4
-13
@@ -1,19 +1,18 @@
|
||||
package org.jetbrains.jps.model.java.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.*;
|
||||
import org.jetbrains.jps.model.JpsElementCreator;
|
||||
import org.jetbrains.jps.model.impl.JpsElementKindBase;
|
||||
import org.jetbrains.jps.model.java.JpsJavaDependencyExtension;
|
||||
import org.jetbrains.jps.model.java.JpsJavaDependencyScope;
|
||||
import org.jetbrains.jps.model.module.JpsDependencyElement;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public class JpsJavaDependencyExtensionKind extends JpsElementKindBase<JpsJavaDependencyExtensionImpl> implements JpsElementCreator<JpsJavaDependencyExtensionImpl> {
|
||||
public class JpsJavaDependencyExtensionKind extends JpsElementKindBase<JpsJavaDependencyExtensionImpl>
|
||||
implements JpsElementCreator<JpsJavaDependencyExtensionImpl> {
|
||||
public static final JpsJavaDependencyExtensionKind INSTANCE = new JpsJavaDependencyExtensionKind();
|
||||
|
||||
public JpsJavaDependencyExtensionKind() {
|
||||
private JpsJavaDependencyExtensionKind() {
|
||||
super("java dependency extension");
|
||||
}
|
||||
|
||||
@@ -22,12 +21,4 @@ public class JpsJavaDependencyExtensionKind extends JpsElementKindBase<JpsJavaDe
|
||||
public JpsJavaDependencyExtensionImpl create() {
|
||||
return new JpsJavaDependencyExtensionImpl(false, JpsJavaDependencyScope.COMPILE);
|
||||
}
|
||||
|
||||
public static JpsJavaDependencyExtension getExtension(@NotNull JpsDependencyElement element) {
|
||||
JpsJavaDependencyExtensionImpl extension = element.getContainer().getChild(INSTANCE);
|
||||
if (extension == null) {
|
||||
extension = element.getContainer().setChild(INSTANCE);
|
||||
}
|
||||
return extension;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
package org.jetbrains.jps.model.java.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsElementKind;
|
||||
import org.jetbrains.jps.model.java.ExplodedDirectoryModuleExtension;
|
||||
import org.jetbrains.jps.model.java.JpsJavaModuleExtension;
|
||||
import org.jetbrains.jps.model.java.JpsJavaDependencyExtension;
|
||||
import org.jetbrains.jps.model.java.JpsJavaExtensionService;
|
||||
import org.jetbrains.jps.model.module.JpsDependencyElement;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public class JpsJavaExtensionServiceImpl extends JpsJavaExtensionService {
|
||||
@NotNull
|
||||
@Override
|
||||
public JpsJavaModuleExtension getOrCreateModuleExtension(@NotNull JpsModule module) {
|
||||
JpsJavaModuleExtension child = module.getContainer().getChild(JavaModuleExtensionKind.INSTANCE);
|
||||
if (child == null) {
|
||||
child = module.getContainer().setChild(JavaModuleExtensionKind.INSTANCE);
|
||||
}
|
||||
return child;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public JpsJavaDependencyExtension getOrCreateDependencyExtension(@NotNull JpsDependencyElement dependency) {
|
||||
JpsJavaDependencyExtensionImpl extension = dependency.getContainer().getChild(JpsJavaDependencyExtensionKind.INSTANCE);
|
||||
if (extension == null) {
|
||||
extension = dependency.getContainer().setChild(JpsJavaDependencyExtensionKind.INSTANCE);
|
||||
}
|
||||
return extension;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public JpsElementKind<? extends JpsJavaModuleExtension> getModuleExtensionKind() {
|
||||
return JavaModuleExtensionKind.INSTANCE;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public JpsElementKind<? extends JpsJavaDependencyExtension> getDependencyExtensionKind() {
|
||||
return JpsJavaDependencyExtensionKind.INSTANCE;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public ExplodedDirectoryModuleExtension getOrCreateExplodedDirectoryExtension(@NotNull JpsModule module) {
|
||||
ExplodedDirectoryModuleExtension extension = module.getContainer().getChild(ExplodedDirectoryModuleExtensionImpl.KIND);
|
||||
if (extension == null) {
|
||||
extension = module.getContainer().setChild(ExplodedDirectoryModuleExtensionImpl.KIND, new ExplodedDirectoryModuleExtensionImpl());
|
||||
}
|
||||
return extension;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,121 @@
|
||||
package org.jetbrains.jps.model.java.impl;
|
||||
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsUrlList;
|
||||
import org.jetbrains.jps.model.impl.JpsCompositeElementBase;
|
||||
import org.jetbrains.jps.model.impl.JpsUrlListKind;
|
||||
import org.jetbrains.jps.model.java.JpsJavaModuleExtension;
|
||||
import org.jetbrains.jps.model.java.LanguageLevel;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public class JpsJavaModuleExtensionImpl extends JpsCompositeElementBase<JpsJavaModuleExtensionImpl> implements JpsJavaModuleExtension {
|
||||
private static final JpsUrlListKind JAVADOC_ROOTS_KIND = new JpsUrlListKind("javadoc roots");
|
||||
private static final JpsUrlListKind ANNOTATIONS_ROOTS_KIND = new JpsUrlListKind("annotation roots");
|
||||
private String myOutputUrl;
|
||||
private String myTestOutputUrl;
|
||||
private boolean myInheritOutput;
|
||||
private boolean myExcludeOutput;
|
||||
private LanguageLevel myLanguageLevel;
|
||||
|
||||
public JpsJavaModuleExtensionImpl() {
|
||||
myContainer.setChild(JAVADOC_ROOTS_KIND);
|
||||
myContainer.setChild(ANNOTATIONS_ROOTS_KIND);
|
||||
}
|
||||
|
||||
public JpsJavaModuleExtensionImpl(JpsJavaModuleExtensionImpl original) {
|
||||
super(original);
|
||||
myOutputUrl = original.myOutputUrl;
|
||||
myTestOutputUrl = original.myTestOutputUrl;
|
||||
myLanguageLevel = original.myLanguageLevel;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public JpsJavaModuleExtensionImpl createCopy() {
|
||||
return new JpsJavaModuleExtensionImpl(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public JpsUrlList getAnnotationRoots() {
|
||||
return myContainer.getChild(ANNOTATIONS_ROOTS_KIND);
|
||||
}
|
||||
|
||||
@Override
|
||||
public JpsUrlList getJavadocRoots() {
|
||||
return myContainer.getChild(JAVADOC_ROOTS_KIND);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getOutputUrl() {
|
||||
return myOutputUrl;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setOutputUrl(String outputUrl) {
|
||||
if (!Comparing.equal(myOutputUrl, outputUrl)) {
|
||||
myOutputUrl = outputUrl;
|
||||
fireElementChanged();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTestOutputUrl() {
|
||||
return myTestOutputUrl;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTestOutputUrl(String testOutputUrl) {
|
||||
if (!Comparing.equal(myTestOutputUrl, testOutputUrl)) {
|
||||
myTestOutputUrl = testOutputUrl;
|
||||
fireElementChanged();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public LanguageLevel getLanguageLevel() {
|
||||
return myLanguageLevel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLanguageLevel(LanguageLevel languageLevel) {
|
||||
if (!Comparing.equal(myLanguageLevel, languageLevel)) {
|
||||
myLanguageLevel = languageLevel;
|
||||
fireElementChanged();
|
||||
}
|
||||
}
|
||||
|
||||
public void applyChanges(@NotNull JpsJavaModuleExtensionImpl modified) {
|
||||
setLanguageLevel(modified.myLanguageLevel);
|
||||
setOutputUrl(modified.myOutputUrl);
|
||||
setTestOutputUrl(modified.myTestOutputUrl);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInheritOutput() {
|
||||
return myInheritOutput;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setInheritOutput(boolean inheritOutput) {
|
||||
if (myInheritOutput != inheritOutput) {
|
||||
myInheritOutput = inheritOutput;
|
||||
fireElementChanged();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isExcludeOutput() {
|
||||
return myExcludeOutput;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExcludeOutput(boolean excludeOutput) {
|
||||
if (myExcludeOutput != excludeOutput) {
|
||||
myExcludeOutput = excludeOutput;
|
||||
fireElementChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -15,7 +15,8 @@ import java.util.List;
|
||||
* @author nik
|
||||
*/
|
||||
public class JpsLibraryImpl extends JpsNamedCompositeElementBase<JpsLibraryImpl, JpsProjectImpl> implements JpsLibrary {
|
||||
private static final JpsElementCollectionKind<JpsLibraryRootImpl> LIBRARY_ROOTS_COLLECTION = new JpsElementCollectionKind<JpsLibraryRootImpl>(JpsLibraryRootKind.INSTANCE);
|
||||
private static final JpsElementCollectionKind<JpsLibraryRootImpl> LIBRARY_ROOTS_COLLECTION =
|
||||
new JpsElementCollectionKind<JpsLibraryRootImpl>(JpsLibraryRootKind.INSTANCE);
|
||||
private static final JpsTypedDataKind<JpsLibraryType<?>> TYPED_DATA_KIND = new JpsTypedDataKind<JpsLibraryType<?>>();
|
||||
|
||||
public JpsLibraryImpl(@NotNull String name, @NotNull JpsLibraryType<?> type) {
|
||||
@@ -65,9 +66,9 @@ public class JpsLibraryImpl extends JpsNamedCompositeElementBase<JpsLibraryImpl,
|
||||
getParent().removeChild(this);
|
||||
}
|
||||
|
||||
public JpsElementCollectionImpl<JpsLibraryImpl> getParent() {
|
||||
public JpsElementCollectionImpl<JpsLibrary> getParent() {
|
||||
//noinspection unchecked
|
||||
return (JpsElementCollectionImpl<JpsLibraryImpl>)myParent;
|
||||
return (JpsElementCollectionImpl<JpsLibrary>)myParent;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -80,7 +81,8 @@ public class JpsLibraryImpl extends JpsNamedCompositeElementBase<JpsLibraryImpl,
|
||||
@Override
|
||||
public JpsLibraryReference createReference() {
|
||||
//noinspection unchecked
|
||||
final JpsElementReference<JpsCompositeElement> parentReference = ((JpsReferenceableElement<JpsCompositeElement>)getParent().getParent()).createReference();
|
||||
final JpsElementReference<JpsCompositeElement> parentReference =
|
||||
((JpsReferenceableElement<JpsCompositeElement>)getParent().getParent()).createReference();
|
||||
return new JpsLibraryReferenceImpl(getName(), parentReference);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,29 +1,30 @@
|
||||
package org.jetbrains.jps.model.library.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.impl.JpsElementKindBase;
|
||||
import org.jetbrains.jps.model.JpsEventDispatcher;
|
||||
import org.jetbrains.jps.model.impl.JpsElementCollectionKind;
|
||||
import org.jetbrains.jps.model.impl.JpsElementKindBase;
|
||||
import org.jetbrains.jps.model.library.JpsLibrary;
|
||||
import org.jetbrains.jps.model.library.JpsLibraryListener;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public class JpsLibraryKind extends JpsElementKindBase<JpsLibraryImpl> {
|
||||
public class JpsLibraryKind extends JpsElementKindBase<JpsLibrary> {
|
||||
public static final JpsLibraryKind INSTANCE = new JpsLibraryKind();
|
||||
public static final JpsElementCollectionKind<JpsLibraryImpl> LIBRARIES_COLLECTION_KIND = new JpsElementCollectionKind<JpsLibraryImpl>(INSTANCE);
|
||||
public static final JpsElementCollectionKind<JpsLibrary> LIBRARIES_COLLECTION_KIND = new JpsElementCollectionKind<JpsLibrary>(INSTANCE);
|
||||
|
||||
private JpsLibraryKind() {
|
||||
super("library");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fireElementAdded(@NotNull JpsEventDispatcher dispatcher, @NotNull JpsLibraryImpl element) {
|
||||
public void fireElementAdded(@NotNull JpsEventDispatcher dispatcher, @NotNull JpsLibrary element) {
|
||||
dispatcher.getPublisher(JpsLibraryListener.class).libraryAdded(element);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fireElementRemoved(@NotNull JpsEventDispatcher dispatcher, @NotNull JpsLibraryImpl element) {
|
||||
public void fireElementRemoved(@NotNull JpsEventDispatcher dispatcher, @NotNull JpsLibrary element) {
|
||||
dispatcher.getPublisher(JpsLibraryListener.class).libraryRemoved(element);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,16 +16,17 @@ import java.util.List;
|
||||
*/
|
||||
public class JpsModuleImpl extends JpsNamedCompositeElementBase<JpsModuleImpl, JpsProjectImpl> implements JpsModule {
|
||||
private static final JpsTypedDataKind<JpsModuleType<?>> TYPED_DATA_KIND = new JpsTypedDataKind<JpsModuleType<?>>();
|
||||
private static final JpsElementKind<JpsUrlListImpl> CONTENT_ROOTS_KIND = new JpsElementKindBase<JpsUrlListImpl>("content roots");
|
||||
private static final JpsElementKind<JpsUrlListImpl> EXCLUDED_ROOTS_KIND = new JpsElementKindBase<JpsUrlListImpl>("excluded roots");
|
||||
public static final JpsElementKind<JpsDependenciesListImpl> DEPENDENCIES_LIST_KIND = new JpsElementKindBase<JpsDependenciesListImpl>("dependencies");
|
||||
private static final JpsUrlListKind CONTENT_ROOTS_KIND = new JpsUrlListKind("content roots");
|
||||
private static final JpsUrlListKind EXCLUDED_ROOTS_KIND = new JpsUrlListKind("excluded roots");
|
||||
public static final JpsElementKind<JpsDependenciesListImpl> DEPENDENCIES_LIST_KIND =
|
||||
new JpsElementKindBase<JpsDependenciesListImpl>("dependencies");
|
||||
|
||||
public JpsModuleImpl(JpsModuleType type,
|
||||
@NotNull String name) {
|
||||
super(name);
|
||||
myContainer.setChild(TYPED_DATA_KIND, new JpsTypedDataImpl<JpsModuleType<?>>(type));
|
||||
myContainer.setChild(CONTENT_ROOTS_KIND, new JpsUrlListImpl());
|
||||
myContainer.setChild(EXCLUDED_ROOTS_KIND, new JpsUrlListImpl());
|
||||
myContainer.setChild(CONTENT_ROOTS_KIND);
|
||||
myContainer.setChild(EXCLUDED_ROOTS_KIND);
|
||||
myContainer.setChild(DEPENDENCIES_LIST_KIND, new JpsDependenciesListImpl());
|
||||
myContainer.setChild(JpsLibraryKind.LIBRARIES_COLLECTION_KIND);
|
||||
myContainer.setChild(JpsModuleSourceRootKind.ROOT_COLLECTION_KIND);
|
||||
@@ -115,7 +116,12 @@ public class JpsModuleImpl extends JpsNamedCompositeElementBase<JpsModuleImpl, J
|
||||
@NotNull
|
||||
@Override
|
||||
public JpsLibrary addModuleLibrary(@NotNull JpsLibraryType<?> type, @NotNull String name) {
|
||||
final JpsElementCollectionImpl<JpsLibraryImpl> collection = myContainer.getChild(JpsLibraryKind.LIBRARIES_COLLECTION_KIND);
|
||||
return collection.addChild(new JpsLibraryImpl(name, type));
|
||||
return addModuleLibrary(new JpsLibraryImpl(name, type));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public JpsLibrary addModuleLibrary(final @NotNull JpsLibrary library) {
|
||||
return myContainer.getChild(JpsLibraryKind.LIBRARIES_COLLECTION_KIND).addChild(library);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,29 +2,30 @@ package org.jetbrains.jps.model.module.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsElementKind;
|
||||
import org.jetbrains.jps.model.impl.JpsElementKindBase;
|
||||
import org.jetbrains.jps.model.JpsEventDispatcher;
|
||||
import org.jetbrains.jps.model.impl.JpsElementCollectionKind;
|
||||
import org.jetbrains.jps.model.impl.JpsElementKindBase;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
import org.jetbrains.jps.model.module.JpsModuleListener;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public class JpsModuleKind extends JpsElementKindBase<JpsModuleImpl> {
|
||||
public static final JpsElementKind<JpsModuleImpl> INSTANCE = new JpsModuleKind();
|
||||
public static final JpsElementCollectionKind<JpsModuleImpl> MODULE_COLLECTION_KIND = new JpsElementCollectionKind<JpsModuleImpl>(INSTANCE);
|
||||
public class JpsModuleKind extends JpsElementKindBase<JpsModule> {
|
||||
public static final JpsElementKind<JpsModule> INSTANCE = new JpsModuleKind();
|
||||
public static final JpsElementCollectionKind<JpsModule> MODULE_COLLECTION_KIND = new JpsElementCollectionKind<JpsModule>(INSTANCE);
|
||||
|
||||
public JpsModuleKind() {
|
||||
super("module");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fireElementAdded(@NotNull JpsEventDispatcher dispatcher, @NotNull JpsModuleImpl element) {
|
||||
public void fireElementAdded(@NotNull JpsEventDispatcher dispatcher, @NotNull JpsModule element) {
|
||||
dispatcher.getPublisher(JpsModuleListener.class).moduleAdded(element);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fireElementRemoved(@NotNull JpsEventDispatcher dispatcher, @NotNull JpsModuleImpl element) {
|
||||
public void fireElementRemoved(@NotNull JpsEventDispatcher dispatcher, @NotNull JpsModule element) {
|
||||
dispatcher.getPublisher(JpsModuleListener.class).moduleRemoved(element);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package org.jetbrains.jps.service.impl;
|
||||
import org.jetbrains.jps.service.JpsServiceManager;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.ServiceConfigurationError;
|
||||
import java.util.ServiceLoader;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
@@ -12,6 +13,7 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
*/
|
||||
public class JpsServiceManagerImpl extends JpsServiceManager {
|
||||
private final ConcurrentHashMap<Class, Object> myServices = new ConcurrentHashMap<Class, Object>();
|
||||
private final ConcurrentHashMap<Class, List<Object>> myExtensions = new ConcurrentHashMap<Class, List<Object>>();
|
||||
|
||||
@Override
|
||||
public <T> T getService(Class<T> serviceClass) {
|
||||
@@ -24,10 +26,16 @@ public class JpsServiceManagerImpl extends JpsServiceManager {
|
||||
}
|
||||
service = iterator.next();
|
||||
if (iterator.hasNext()) {
|
||||
throw new ServiceConfigurationError("More than one implementation for " + serviceClass + " found: " + service.getClass() + " and " + iterator.next().getClass());
|
||||
throw new ServiceConfigurationError(
|
||||
"More than one implementation for " + serviceClass + " found: " + service.getClass() + " and " + iterator.next().getClass());
|
||||
}
|
||||
myServices.putIfAbsent(serviceClass, service);
|
||||
}
|
||||
return service;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> Iterable<T> getExtensions(Class<T> extensionClass) {
|
||||
return ServiceLoader.load(extensionClass);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
package org.jetbrains.jps.model;
|
||||
|
||||
import org.jetbrains.jps.model.java.JpsJavaDependencyExtension;
|
||||
import org.jetbrains.jps.model.java.JpsJavaDependencyScope;
|
||||
import org.jetbrains.jps.model.java.JpsJavaLibraryType;
|
||||
import org.jetbrains.jps.model.java.JpsJavaModuleType;
|
||||
import org.jetbrains.jps.model.java.impl.JavaModuleExtensionKind;
|
||||
import org.jetbrains.jps.model.java.impl.JpsJavaDependencyExtensionKind;
|
||||
import org.jetbrains.jps.model.java.*;
|
||||
import org.jetbrains.jps.model.library.JpsLibrary;
|
||||
import org.jetbrains.jps.model.module.JpsDependencyElement;
|
||||
import org.jetbrains.jps.model.module.JpsLibraryDependency;
|
||||
@@ -17,8 +12,10 @@ import org.jetbrains.jps.model.module.JpsModule;
|
||||
public class JpsJavaExtensionTest extends JpsModelTestCase {
|
||||
public void testModule() {
|
||||
final JpsModule module = myModel.getProject().addModule(JpsJavaModuleType.INSTANCE, "m");
|
||||
JavaModuleExtensionKind.getExtension(module).setOutputUrl("file://path");
|
||||
assertEquals("file://path", JavaModuleExtensionKind.getExtension(module).getOutputUrl());
|
||||
final JpsJavaModuleExtension extension = JpsJavaExtensionService.getInstance().getOrCreateModuleExtension(module);
|
||||
extension.setOutputUrl("file://path");
|
||||
assertEquals("file://path",
|
||||
module.getContainer().getChild(JpsJavaExtensionService.getInstance().getModuleExtensionKind()).getOutputUrl());
|
||||
}
|
||||
|
||||
public void testDependency() {
|
||||
@@ -26,12 +23,14 @@ public class JpsJavaExtensionTest extends JpsModelTestCase {
|
||||
final JpsModule module = model.getProject().addModule(JpsJavaModuleType.INSTANCE, "m");
|
||||
final JpsLibrary library = model.getProject().addLibrary(JpsJavaLibraryType.INSTANCE, "l");
|
||||
final JpsLibraryDependency dependency = module.getDependenciesList().addLibraryDependency(library);
|
||||
JpsJavaDependencyExtensionKind.getExtension(dependency).setScope(JpsJavaDependencyScope.TEST);
|
||||
JpsJavaDependencyExtensionKind.getExtension(dependency).setExported(true);
|
||||
JpsJavaExtensionService.getInstance().getOrCreateDependencyExtension(dependency).setScope(JpsJavaDependencyScope.TEST);
|
||||
JpsJavaExtensionService.getInstance().getOrCreateDependencyExtension(dependency).setExported(true);
|
||||
model.commit();
|
||||
|
||||
final JpsDependencyElement dep = assertOneElement(assertOneElement(myModel.getProject().getModules()).getDependenciesList().getDependencies());
|
||||
final JpsJavaDependencyExtension extension = dep.getContainer().getChild(JpsJavaDependencyExtensionKind.INSTANCE);
|
||||
final JpsDependencyElement dep =
|
||||
assertOneElement(assertOneElement(myModel.getProject().getModules()).getDependenciesList().getDependencies());
|
||||
final JpsJavaDependencyExtension extension =
|
||||
dep.getContainer().getChild(JpsJavaExtensionService.getInstance().getDependencyExtensionKind());
|
||||
assertTrue(extension.isExported());
|
||||
assertSame(JpsJavaDependencyScope.TEST, extension.getScope());
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/testSrc" isTestSource="true" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="module" module-name="util" />
|
||||
<orderEntry type="module" module-name="jps-model-api" />
|
||||
<orderEntry type="library" name="JDOM" level="project" />
|
||||
<orderEntry type="module" module-name="projectModel-impl" />
|
||||
<orderEntry type="module" module-name="jps-model-impl" scope="TEST" />
|
||||
<orderEntry type="module" module-name="testFramework" scope="TEST" />
|
||||
</component>
|
||||
</module>
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
org.jetbrains.jps.model.serialization.java.JpsJavaModelLoaderExtension
|
||||
+84
@@ -0,0 +1,84 @@
|
||||
package org.jetbrains.jps.model.serialization;
|
||||
|
||||
import com.intellij.openapi.util.JDOMUtil;
|
||||
import com.intellij.util.containers.MultiMap;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.jps.model.JpsElementFactory;
|
||||
import org.jetbrains.jps.model.java.JpsJavaLibraryType;
|
||||
import org.jetbrains.jps.model.library.JpsLibrary;
|
||||
import org.jetbrains.jps.model.library.JpsLibraryRootType;
|
||||
import org.jetbrains.jps.model.library.JpsLibraryType;
|
||||
import org.jetbrains.jps.model.library.JpsOrderRootType;
|
||||
import org.jetbrains.jps.service.JpsServiceManager;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public class JpsLibraryTableLoader {
|
||||
private static final Map<String, JpsOrderRootType> PREDEFINED_ROOT_TYPES = new HashMap<String, JpsOrderRootType>();
|
||||
|
||||
static {
|
||||
PREDEFINED_ROOT_TYPES.put("CLASSES", JpsOrderRootType.COMPILED);
|
||||
PREDEFINED_ROOT_TYPES.put("SOURCES", JpsOrderRootType.SOURCES);
|
||||
}
|
||||
|
||||
public static void loadLibraries(Element libraryTableElement, List<JpsLibrary> result) {
|
||||
for (Element libraryElement : JDOMUtil.getChildren(libraryTableElement, "library")) {
|
||||
JpsLibrary library = loadLibrary(libraryElement);
|
||||
result.add(library);
|
||||
}
|
||||
}
|
||||
|
||||
public static JpsLibrary loadLibrary(Element libraryElement) {
|
||||
String name = libraryElement.getAttributeValue("name");
|
||||
String typeId = libraryElement.getAttributeValue("type");
|
||||
JpsLibrary library = JpsElementFactory.getInstance().createLibrary(name, getLibraryType(typeId));
|
||||
|
||||
MultiMap<JpsOrderRootType, String> jarDirectories = new MultiMap<JpsOrderRootType, String>();
|
||||
MultiMap<JpsOrderRootType, String> recursiveJarDirectories = new MultiMap<JpsOrderRootType, String>();
|
||||
for (Element jarDirectory : JDOMUtil.getChildren(libraryElement, "jarDirectory")) {
|
||||
String url = jarDirectory.getAttributeValue("url");
|
||||
String rootType = jarDirectory.getAttributeValue("type");
|
||||
boolean recursive = Boolean.parseBoolean(jarDirectory.getAttributeValue("recursive"));
|
||||
jarDirectories.putValue(getRootType(rootType), url);
|
||||
if (recursive) {
|
||||
recursiveJarDirectories.putValue(getRootType(rootType), url);
|
||||
}
|
||||
}
|
||||
for (Element rootsElement : JDOMUtil.getChildren(libraryElement)) {
|
||||
final String rootTypeId = rootsElement.getName();
|
||||
if (!rootTypeId.equals("jarDirectory")) {
|
||||
final JpsOrderRootType rootType = getRootType(rootTypeId);
|
||||
for (Element rootElement : JDOMUtil.getChildren(rootsElement, "root")) {
|
||||
String url = rootElement.getAttributeValue("url");
|
||||
final boolean jarDirectory = jarDirectories.get(rootType).contains(url);
|
||||
final boolean recursive = recursiveJarDirectories.get(rootType).contains(url);
|
||||
library.addUrl(url, new JpsLibraryRootType(rootType, jarDirectory, recursive));
|
||||
}
|
||||
}
|
||||
}
|
||||
return library;
|
||||
}
|
||||
|
||||
private static JpsOrderRootType getRootType(String rootTypeId) {
|
||||
final JpsOrderRootType type = PREDEFINED_ROOT_TYPES.get(rootTypeId);
|
||||
if (type != null) {
|
||||
return type;
|
||||
}
|
||||
for (JpsModelLoaderExtension extension : JpsServiceManager.getInstance().getExtensions(JpsModelLoaderExtension.class)) {
|
||||
final JpsOrderRootType rootType = extension.getRootType(rootTypeId);
|
||||
if (rootType != null) {
|
||||
return rootType;
|
||||
}
|
||||
}
|
||||
return JpsOrderRootType.COMPILED;
|
||||
}
|
||||
|
||||
private static JpsLibraryType<?> getLibraryType(String typeId) {
|
||||
return JpsJavaLibraryType.INSTANCE;
|
||||
}
|
||||
}
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
package org.jetbrains.jps.model.serialization;
|
||||
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.model.JpsCompositeElement;
|
||||
import org.jetbrains.jps.model.JpsElementReference;
|
||||
import org.jetbrains.jps.model.library.JpsOrderRootType;
|
||||
import org.jetbrains.jps.model.library.JpsSdkType;
|
||||
import org.jetbrains.jps.model.module.JpsDependencyElement;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public abstract class JpsModelLoaderExtension {
|
||||
|
||||
public void loadRootModel(@NotNull JpsModule module, @NotNull Element rootModel) {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public JpsOrderRootType getRootType(@NotNull String typeId) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public JpsSdkType<?> getSdkType(@NotNull String typeId) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public void loadModuleDependencyProperties(JpsDependencyElement dependency, Element orderEntry) {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public JpsElementReference<? extends JpsCompositeElement> createLibraryTableReference(String tableLevel) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
package org.jetbrains.jps.model.serialization;
|
||||
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public abstract class JpsModuleComponentSerializer {
|
||||
|
||||
@NotNull
|
||||
public abstract String getComponentName();
|
||||
|
||||
public abstract void loadComponent(@NotNull Element component);
|
||||
}
|
||||
+120
@@ -0,0 +1,120 @@
|
||||
package org.jetbrains.jps.model.serialization;
|
||||
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.jps.model.JpsCompositeElement;
|
||||
import org.jetbrains.jps.model.JpsElementFactory;
|
||||
import org.jetbrains.jps.model.JpsElementReference;
|
||||
import org.jetbrains.jps.model.java.*;
|
||||
import org.jetbrains.jps.model.library.JpsLibrary;
|
||||
import org.jetbrains.jps.model.library.JpsSdkType;
|
||||
import org.jetbrains.jps.model.module.*;
|
||||
import org.jetbrains.jps.service.JpsServiceManager;
|
||||
|
||||
import static com.intellij.openapi.util.JDOMUtil.getChildren;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public class JpsModuleLoader {
|
||||
private static final String URL_ATTRIBUTE = "url";
|
||||
|
||||
public static void loadRootModel(JpsModule module, Element rootModelComponent) {
|
||||
for (Element contentElement : getChildren(rootModelComponent, "content")) {
|
||||
final String url = contentElement.getAttributeValue(URL_ATTRIBUTE);
|
||||
module.getContentRootsList().addUrl(url);
|
||||
for (Element sourceElement : getChildren(contentElement, "sourceFolder")) {
|
||||
final String sourceUrl = sourceElement.getAttributeValue(URL_ATTRIBUTE);
|
||||
final String packagePrefix = sourceElement.getAttributeValue("packagePrefix");
|
||||
final boolean testSource = Boolean.parseBoolean(sourceElement.getAttributeValue("isTestSource"));
|
||||
final JavaSourceRootType rootType = testSource ? JavaSourceRootType.SOURCE : JavaSourceRootType.TEST_SOURCE;
|
||||
module.addSourceRoot(rootType, sourceUrl, new JavaSourceRootProperties(packagePrefix));
|
||||
}
|
||||
for (Element excludeElement : getChildren(contentElement, "excludeFolder")) {
|
||||
module.getExcludeRootsList().addUrl(excludeElement.getAttributeValue(URL_ATTRIBUTE));
|
||||
}
|
||||
}
|
||||
|
||||
final JpsDependenciesList dependenciesList = module.getDependenciesList();
|
||||
final JpsElementFactory elementFactory = JpsElementFactory.getInstance();
|
||||
int moduleLibraryNum = 0;
|
||||
for (Element orderEntry : getChildren(rootModelComponent, "orderEntry")) {
|
||||
String type = orderEntry.getAttributeValue("type");
|
||||
if ("sourceFolder".equals(type)) {
|
||||
dependenciesList.addModuleSourceDependency();
|
||||
}
|
||||
else if ("jdk".equals(type)) {
|
||||
String sdkName = orderEntry.getAttributeValue("jdkName");
|
||||
String sdkTypeId = orderEntry.getAttributeValue("jskType");
|
||||
final JpsSdkType<?> sdkType = getSdkType(sdkTypeId);
|
||||
dependenciesList.addSdkDependency(sdkType);
|
||||
module.getSdkReferencesTable()
|
||||
.setSdkReference(sdkType, elementFactory.createLibraryReference(sdkName, elementFactory.createGlobalReference()));
|
||||
}
|
||||
else if ("inheritedJdk".equals(type)) {
|
||||
dependenciesList.addSdkDependency(JpsJavaSdkType.INSTANCE);
|
||||
}
|
||||
else if ("library".equals(type)) {
|
||||
String name = orderEntry.getAttributeValue("name");
|
||||
String level = orderEntry.getAttributeValue("level");
|
||||
final JpsLibraryDependency dependency =
|
||||
dependenciesList.addLibraryDependency(elementFactory.createLibraryReference(name, createLibraryTableReference(level)));
|
||||
loadModuleDependencyProperties(dependency, orderEntry);
|
||||
}
|
||||
else if ("module-library".equals(type)) {
|
||||
final Element moduleLibraryElement = orderEntry.getChild("library");
|
||||
final JpsLibrary library = JpsLibraryTableLoader.loadLibrary(moduleLibraryElement);
|
||||
module.addModuleLibrary(library);
|
||||
|
||||
final JpsLibraryDependency dependency = dependenciesList.addLibraryDependency(library);
|
||||
loadModuleDependencyProperties(dependency, orderEntry);
|
||||
moduleLibraryNum++;
|
||||
}
|
||||
else if ("module".equals(type)) {
|
||||
String name = orderEntry.getAttributeValue("module-name");
|
||||
final JpsModuleDependency dependency = dependenciesList.addModuleDependency(elementFactory.createModuleReference(name));
|
||||
loadModuleDependencyProperties(dependency, orderEntry);
|
||||
}
|
||||
}
|
||||
|
||||
for (JpsModelLoaderExtension extension : getLoaderExtensions()) {
|
||||
extension.loadRootModel(module, rootModelComponent);
|
||||
}
|
||||
}
|
||||
|
||||
private static void loadModuleDependencyProperties(JpsDependencyElement dependency, Element orderEntry) {
|
||||
for (JpsModelLoaderExtension extension : getLoaderExtensions()) {
|
||||
extension.loadModuleDependencyProperties(dependency, orderEntry);
|
||||
}
|
||||
}
|
||||
|
||||
private static JpsElementReference<? extends JpsCompositeElement> createLibraryTableReference(String level) {
|
||||
JpsElementFactory elementFactory = JpsElementFactory.getInstance();
|
||||
if (level.equals("project")) {
|
||||
return elementFactory.createProjectReference();
|
||||
}
|
||||
if (level.equals("application")) {
|
||||
return elementFactory.createGlobalReference();
|
||||
}
|
||||
for (JpsModelLoaderExtension extension : getLoaderExtensions()) {
|
||||
final JpsElementReference<? extends JpsCompositeElement> reference = extension.createLibraryTableReference(level);
|
||||
if (reference != null) {
|
||||
return reference;
|
||||
}
|
||||
}
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
private static Iterable<JpsModelLoaderExtension> getLoaderExtensions() {
|
||||
return JpsServiceManager.getInstance().getExtensions(JpsModelLoaderExtension.class);
|
||||
}
|
||||
|
||||
public static JpsSdkType<?> getSdkType(String typeId) {
|
||||
for (JpsModelLoaderExtension extension : getLoaderExtensions()) {
|
||||
final JpsSdkType<?> type = extension.getSdkType(typeId);
|
||||
if (type != null) {
|
||||
return type;
|
||||
}
|
||||
}
|
||||
return JpsJavaSdkType.INSTANCE;
|
||||
}
|
||||
}
|
||||
+144
@@ -0,0 +1,144 @@
|
||||
package org.jetbrains.jps.model.serialization;
|
||||
|
||||
import com.intellij.openapi.components.ExpandMacroToPathMap;
|
||||
import com.intellij.openapi.util.JDOMUtil;
|
||||
import com.intellij.openapi.util.SystemInfo;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import org.jdom.Element;
|
||||
import org.jdom.JDOMException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.model.JpsElementFactory;
|
||||
import org.jetbrains.jps.model.JpsGlobal;
|
||||
import org.jetbrains.jps.model.JpsProject;
|
||||
import org.jetbrains.jps.model.java.JpsJavaModuleType;
|
||||
import org.jetbrains.jps.model.library.JpsLibrary;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
import org.jetbrains.jps.model.module.JpsModuleType;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public class JpsProjectLoader {
|
||||
private final JpsGlobal myGlobal;
|
||||
private final JpsProject myProject;
|
||||
private ExpandMacroToPathMap myMacroToPathMap;
|
||||
|
||||
public JpsProjectLoader(JpsGlobal global, JpsProject project) {
|
||||
myGlobal = global;
|
||||
myProject = project;
|
||||
}
|
||||
|
||||
public static void loadProject(JpsGlobal global, final JpsProject project, String projectPath) throws IOException {
|
||||
new JpsProjectLoader(global, project).loadFromPath(projectPath);
|
||||
}
|
||||
|
||||
public void loadFromPath(String path) throws IOException {
|
||||
File file = new File(path).getCanonicalFile();
|
||||
if (file.isFile() && path.endsWith(".ipr")) {
|
||||
loadFromIpr(file);
|
||||
}
|
||||
else if (file.getName().equals(".idea")) {
|
||||
loadFromDirectory(file);
|
||||
}
|
||||
else {
|
||||
File ideaDirectory = new File(file, ".idea");
|
||||
if (ideaDirectory.exists()) {
|
||||
loadFromDirectory(ideaDirectory);
|
||||
}
|
||||
else {
|
||||
throw new IOException("Cannot find IntelliJ IDEA project files at " + path);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void loadFromDirectory(File dir) {
|
||||
initMacroMap(dir.getParentFile());
|
||||
loadModules(loadRootElement(new File(dir, "modules.xml")));
|
||||
final File[] libraryFiles = new File(dir, "libraries").listFiles();
|
||||
if (libraryFiles != null) {
|
||||
for (File libraryFile : libraryFiles) {
|
||||
if (isXmlFile(libraryFile)) {
|
||||
loadProjectLibraries(loadRootElement(libraryFile));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void loadFromIpr(File iprFile) {
|
||||
initMacroMap(iprFile.getParentFile());
|
||||
final Element root = loadRootElement(iprFile);
|
||||
loadModules(root);
|
||||
loadProjectLibraries(findComponent(root, "libraryTable"));
|
||||
}
|
||||
|
||||
private void initMacroMap(File projectBaseDir) {
|
||||
myMacroToPathMap = new ExpandMacroToPathMap();
|
||||
myMacroToPathMap.addMacroExpand("PROJECT_DIR", FileUtil.toSystemIndependentName(projectBaseDir.getAbsolutePath()));
|
||||
}
|
||||
|
||||
private Element loadRootElement(final File file) {
|
||||
try {
|
||||
final Element element = JDOMUtil.loadDocument(file).getRootElement();
|
||||
myMacroToPathMap.substitute(element, SystemInfo.isFileSystemCaseSensitive);
|
||||
return element;
|
||||
}
|
||||
catch (JDOMException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean isXmlFile(File file) {
|
||||
return file.isFile() && FileUtil.getNameWithoutExtension(file).equalsIgnoreCase("xml");
|
||||
}
|
||||
|
||||
private void loadProjectLibraries(Element libraryTableElement) {
|
||||
final ArrayList<JpsLibrary> libraries = new ArrayList<JpsLibrary>();
|
||||
JpsLibraryTableLoader.loadLibraries(libraryTableElement, libraries);
|
||||
for (JpsLibrary library : libraries) {
|
||||
myProject.addLibrary(library);
|
||||
}
|
||||
}
|
||||
|
||||
private void loadModules(Element root) {
|
||||
Element componentRoot = findComponent(root, "ProjectModuleManager");
|
||||
if (componentRoot == null) return;
|
||||
final Element modules = componentRoot.getChild("modules");
|
||||
for (Element moduleElement : JDOMUtil.getChildren(modules, "module")) {
|
||||
final String path = moduleElement.getAttributeValue("filepath");
|
||||
JpsModule module = loadModule(path);
|
||||
myProject.addModule(module);
|
||||
}
|
||||
}
|
||||
|
||||
private JpsModule loadModule(String path) {
|
||||
final File file = new File(path);
|
||||
String name = FileUtil.getNameWithoutExtension(file);
|
||||
final Element moduleRoot = loadRootElement(file);
|
||||
final String typeId = moduleRoot.getAttributeValue("type");
|
||||
final JpsModule module = JpsElementFactory.getInstance().createModule(name, getModuleType(typeId));
|
||||
JpsModuleLoader.loadRootModel(module, findComponent(moduleRoot, "NewModuleRootManager"));
|
||||
return module;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private static Element findComponent(Element root, String componentName) {
|
||||
for (Element element : JDOMUtil.getChildren(root, "component")) {
|
||||
if (componentName.equals(element.getAttributeValue("name"))) {
|
||||
return element;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static JpsModuleType<?> getModuleType(@NotNull String typeId) {
|
||||
return JpsJavaModuleType.INSTANCE;
|
||||
}
|
||||
}
|
||||
+83
@@ -0,0 +1,83 @@
|
||||
package org.jetbrains.jps.model.serialization.java;
|
||||
|
||||
import com.intellij.openapi.util.JDOMUtil;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsUrlList;
|
||||
import org.jetbrains.jps.model.java.*;
|
||||
import org.jetbrains.jps.model.library.JpsOrderRootType;
|
||||
import org.jetbrains.jps.model.module.JpsDependencyElement;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
import org.jetbrains.jps.model.serialization.JpsModelLoaderExtension;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public class JpsJavaModelLoaderExtension extends JpsModelLoaderExtension {
|
||||
@Override
|
||||
public void loadRootModel(@NotNull JpsModule module, @NotNull Element rootModel) {
|
||||
loadExplodedDirectoryExtension(module, rootModel);
|
||||
loadJavaModuleExtension(module, rootModel);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadModuleDependencyProperties(JpsDependencyElement dependency, Element entry) {
|
||||
boolean exported = entry.getAttributeValue("exported") != null;
|
||||
String scopeName = entry.getAttributeValue("scope");
|
||||
JpsJavaDependencyScope scope = scopeName != null ? JpsJavaDependencyScope.valueOf(scopeName) : JpsJavaDependencyScope.COMPILE;
|
||||
|
||||
final JpsJavaDependencyExtension extension = JpsJavaExtensionService.getInstance().getOrCreateDependencyExtension(dependency);
|
||||
extension.setExported(exported);
|
||||
extension.setScope(scope);
|
||||
}
|
||||
|
||||
@Override
|
||||
public JpsOrderRootType getRootType(@NotNull String typeId) {
|
||||
if (typeId.equals("JAVADOC")) {
|
||||
return JpsOrderRootType.DOCUMENTATION;
|
||||
}
|
||||
else if (typeId.equals("ANNOTATIONS")) {
|
||||
return JpsAnnotationRootType.INSTANCE;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static void loadExplodedDirectoryExtension(JpsModule module, Element rootModelComponent) {
|
||||
final Element exploded = rootModelComponent.getChild("exploded");
|
||||
if (exploded != null) {
|
||||
final ExplodedDirectoryModuleExtension extension =
|
||||
JpsJavaExtensionService.getInstance().getOrCreateExplodedDirectoryExtension(module);
|
||||
extension.setExcludeExploded(rootModelComponent.getChild("exclude-exploded") != null);
|
||||
extension.setExplodedUrl(exploded.getAttributeValue("url"));
|
||||
}
|
||||
}
|
||||
|
||||
private static void loadJavaModuleExtension(JpsModule module, Element rootModelComponent) {
|
||||
final JpsJavaModuleExtension extension = JpsJavaExtensionService.getInstance().getOrCreateModuleExtension(module);
|
||||
final Element outputTag = rootModelComponent.getChild("output");
|
||||
if (outputTag != null) {
|
||||
extension.setOutputUrl(outputTag.getAttributeValue("url"));
|
||||
}
|
||||
final Element testOutputTag = rootModelComponent.getChild("output-test");
|
||||
if (testOutputTag != null) {
|
||||
extension.setOutputUrl(testOutputTag.getAttributeValue("url"));
|
||||
}
|
||||
extension.setInheritOutput(Boolean.parseBoolean(rootModelComponent.getAttributeValue("inherit-compiler-output")));
|
||||
extension.setExcludeOutput(rootModelComponent.getChild("exclude-output") != null);
|
||||
|
||||
loadAdditionalRoots(rootModelComponent, "annotation-paths", extension.getAnnotationRoots());
|
||||
loadAdditionalRoots(rootModelComponent, "javadoc-paths", extension.getJavadocRoots());
|
||||
|
||||
final String languageLevel = rootModelComponent.getAttributeValue("LANGUAGE_LEVEL");
|
||||
if (languageLevel != null) {
|
||||
extension.setLanguageLevel(LanguageLevel.valueOf(languageLevel));
|
||||
}
|
||||
}
|
||||
|
||||
private static void loadAdditionalRoots(Element rootModelComponent, final String rootsTagName, final JpsUrlList result) {
|
||||
final Element roots = rootModelComponent.getChild(rootsTagName);
|
||||
for (Element root : JDOMUtil.getChildren(roots, "root")) {
|
||||
result.addUrl(root.getAttributeValue("url"));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="FacetManager">
|
||||
<facet type="web" name="Web">
|
||||
<configuration>
|
||||
<descriptors>
|
||||
<deploymentDescriptor name="web.xml" url="file://$MODULE_DIR$/web/WEB-INF/web.xml" />
|
||||
</descriptors>
|
||||
<webroots>
|
||||
<root url="file://$MODULE_DIR$/web" relative="/" />
|
||||
</webroots>
|
||||
<context-artifact name="explodedWar" />
|
||||
</configuration>
|
||||
</facet>
|
||||
</component>
|
||||
<component name="NewModuleRootManager" 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" />
|
||||
<orderEntry type="library" name="junit" level="project" />
|
||||
<orderEntry type="library" name="jdom" level="application" />
|
||||
</component>
|
||||
</module>
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ArtifactManager">
|
||||
<artifact type="exploded-war" name="explodedWar">
|
||||
<output-path>$PROJECT_DIR$/out/artifacts/explodedWar</output-path>
|
||||
<root id="root">
|
||||
<element id="javaee-facet-resources" facet="iprProject/web/Web" />
|
||||
<element id="directory" name="WEB-INF">
|
||||
<element id="directory" name="classes">
|
||||
<element id="module-output" name="iprProject" />
|
||||
</element>
|
||||
<element id="directory" name="lib">
|
||||
<element id="library" level="project" name="junit" />
|
||||
<element id="library" level="application" name="jdom" />
|
||||
</element>
|
||||
</element>
|
||||
</root>
|
||||
</artifact>
|
||||
<artifact type="jar" name="archive">
|
||||
<output-path>$PROJECT_DIR$/out/artifacts/archive</output-path>
|
||||
<root id="archive" name="archive.jar">
|
||||
<element id="directory" name="files">
|
||||
<element id="artifact" artifact-name="files" />
|
||||
</element>
|
||||
<element id="archive" name="sources.zip">
|
||||
<element id="dir-copy" path="$PROJECT_DIR$/src" />
|
||||
</element>
|
||||
</root>
|
||||
</artifact>
|
||||
<artifact name="files">
|
||||
<output-path>$PROJECT_DIR$/out/artifacts/files</output-path>
|
||||
<root id="root">
|
||||
<element id="file-copy" path="$PROJECT_DIR$/data/f.txt" output-file-name="g.txt" />
|
||||
<element id="file-copy" path="$PROJECT_DIR$/data/f.txt" />
|
||||
<element id="directory" name="dir">
|
||||
<element id="dir-copy" path="$PROJECT_DIR$/data" />
|
||||
</element>
|
||||
</root>
|
||||
</artifact>
|
||||
</component>
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/iprProject.iml" filepath="$PROJECT_DIR$/iprProject.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_5" assert-keyword="true" jdk-15="true" project-jdk-name="1.6" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
<component name="libraryTable">
|
||||
<library name="junit">
|
||||
<CLASSES>
|
||||
<root url="jar://$PROJECT_DIR$/lib/junit.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</component>
|
||||
</project>
|
||||
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
package org.jetbrains.jps.model.serialization;
|
||||
|
||||
import com.intellij.openapi.application.PathManager;
|
||||
import org.jetbrains.jps.model.JpsModelTestCase;
|
||||
import org.jetbrains.jps.model.library.JpsLibrary;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public class JpsModuleSerializationTest extends JpsModelTestCase {
|
||||
public void test() {
|
||||
loadProject("iprProject/iprProject.ipr");
|
||||
final JpsModule module = assertOneElement(myModel.getProject().getModules());
|
||||
assertEquals("iprProject", module.getName());
|
||||
final JpsLibrary library = assertOneElement(myModel.getProject().getLibraries());
|
||||
assertEquals("junit", library.getName());
|
||||
}
|
||||
|
||||
private void loadProject(final String path) {
|
||||
try {
|
||||
final String projectPath = PathManager.getHomePath() + "/community/jps/model-serialization/testData/" + path;
|
||||
JpsProjectLoader.loadProject(myModel.getGlobal(), myModel.getProject(), projectPath);
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -23,8 +23,9 @@ import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.roots.*;
|
||||
import com.intellij.openapi.util.Ref;
|
||||
import com.intellij.openapi.vfs.VfsUtil;
|
||||
import com.intellij.openapi.vfs.VfsUtilCore;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
@@ -88,11 +89,11 @@ public class MarkRootAction extends AnAction {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private static ContentEntry findContentEntry(ModifiableRootModel model, VirtualFile vFile) {
|
||||
public static ContentEntry findContentEntry(@NotNull ModuleRootModel model, @NotNull VirtualFile vFile) {
|
||||
final ContentEntry[] contentEntries = model.getContentEntries();
|
||||
for (ContentEntry contentEntry : contentEntries) {
|
||||
final VirtualFile contentEntryFile = contentEntry.getFile();
|
||||
if (contentEntryFile != null && VfsUtil.isAncestor(contentEntryFile, vFile, false)) {
|
||||
if (contentEntryFile != null && VfsUtilCore.isAncestor(contentEntryFile, vFile, false)) {
|
||||
return contentEntry;
|
||||
}
|
||||
}
|
||||
|
||||
+11
-4
@@ -90,7 +90,8 @@ public class SMTestRunnerConnectionUtil {
|
||||
runnerSettings,
|
||||
configurationSettings,
|
||||
new CompositeTestLocationProvider(locator),
|
||||
false);
|
||||
false,
|
||||
null);
|
||||
}
|
||||
|
||||
public static SMTRunnerConsoleView createConsoleWithCustomLocator(@NotNull final String testFrameworkName,
|
||||
@@ -98,7 +99,8 @@ public class SMTestRunnerConnectionUtil {
|
||||
final RunnerSettings runnerSettings,
|
||||
final ConfigurationPerRunnerSettings configurationSettings,
|
||||
@Nullable final TestLocationProvider locator,
|
||||
final boolean idBasedTreeConstruction) {
|
||||
final boolean idBasedTreeConstruction,
|
||||
@Nullable final TestProxyPrinterProvider printerProvider) {
|
||||
// Console
|
||||
final String splitterPropertyName = testFrameworkName + ".Splitter.Proportion";
|
||||
final SMTRunnerConsoleView console =
|
||||
@@ -109,7 +111,8 @@ public class SMTestRunnerConnectionUtil {
|
||||
super.attachToProcess(processHandler);
|
||||
attachEventsProcessors(consoleProperties, getResultsViewer(),
|
||||
getResultsViewer().getStatisticsPane(),
|
||||
processHandler, testFrameworkName, locator, idBasedTreeConstruction);
|
||||
processHandler, testFrameworkName, locator, idBasedTreeConstruction,
|
||||
printerProvider);
|
||||
}
|
||||
};
|
||||
console.setHelpId("reference.runToolWindow.testResultsTab");
|
||||
@@ -213,7 +216,8 @@ public class SMTestRunnerConnectionUtil {
|
||||
final ProcessHandler processHandler,
|
||||
@NotNull final String testFrameworkName,
|
||||
@Nullable final TestLocationProvider locator,
|
||||
boolean idBasedTreeConstruction) {
|
||||
boolean idBasedTreeConstruction,
|
||||
@Nullable TestProxyPrinterProvider printerProvider) {
|
||||
//build messages consumer
|
||||
final OutputToGeneralTestEventsConverter outputConsumer;
|
||||
if (consoleProperties instanceof SMCustomMessagesParsing) {
|
||||
@@ -233,6 +237,9 @@ public class SMTestRunnerConnectionUtil {
|
||||
if (locator != null) {
|
||||
eventsProcessor.setLocator(locator);
|
||||
}
|
||||
if (printerProvider != null) {
|
||||
eventsProcessor.setPrinterProvider(printerProvider);
|
||||
}
|
||||
|
||||
// ui actions
|
||||
final SMTRunnerUIActionsHandler uiActionsHandler = new SMTRunnerUIActionsHandler(consoleProperties);
|
||||
|
||||
+15
@@ -18,6 +18,7 @@ package com.intellij.execution.testframework.sm.runner;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.intellij.execution.process.ProcessOutputTypes;
|
||||
import com.intellij.execution.testframework.Printer;
|
||||
import com.intellij.execution.testframework.sm.SMRunnerUtil;
|
||||
import com.intellij.execution.testframework.sm.SMTestRunnerConnectionUtil;
|
||||
import com.intellij.execution.testframework.sm.runner.events.*;
|
||||
@@ -48,6 +49,7 @@ public class GeneralIdBasedToSMTRunnerEventsConvertor implements GeneralTestEven
|
||||
private final String myTestFrameworkName;
|
||||
private boolean myIsTestingFinished = false;
|
||||
private TestLocationProvider myLocator = null;
|
||||
private TestProxyPrinterProvider myTestProxyPrinterProvider = null;
|
||||
|
||||
public GeneralIdBasedToSMTRunnerEventsConvertor(@NotNull SMTestProxy.SMRootTestProxy testsRootProxy,
|
||||
@NotNull String testFrameworkName) {
|
||||
@@ -112,6 +114,11 @@ public class GeneralIdBasedToSMTRunnerEventsConvertor implements GeneralTestEven
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPrinterProvider(@NotNull TestProxyPrinterProvider printerProvider) {
|
||||
myTestProxyPrinterProvider = printerProvider;
|
||||
}
|
||||
|
||||
public void onTestStarted(@NotNull final TestStartedEvent testStartedEvent) {
|
||||
SMRunnerUtil.addToInvokeLater(new Runnable() {
|
||||
public void run() {
|
||||
@@ -145,6 +152,14 @@ public class GeneralIdBasedToSMTRunnerEventsConvertor implements GeneralTestEven
|
||||
}
|
||||
|
||||
SMTestProxy childProxy = new SMTestProxy(startedNodeEvent.getName(), suite, startedNodeEvent.getLocationUrl(), true);
|
||||
TestProxyPrinterProvider printerProvider = myTestProxyPrinterProvider;
|
||||
String nodeType = startedNodeEvent.getNodeType();
|
||||
if (printerProvider != null && nodeType != null) {
|
||||
Printer printer = printerProvider.getPrinterByType(nodeType, startedNodeEvent.getNodeArgs());
|
||||
if (printer != null) {
|
||||
childProxy.setPreferredPrinter(printer);
|
||||
}
|
||||
}
|
||||
childNode = new Node(startedNodeEvent.getId(), parentNode, childProxy);
|
||||
myNodeByIdMap.put(nodeId, childNode);
|
||||
myRunningNodes.add(childNode);
|
||||
|
||||
+2
@@ -74,4 +74,6 @@ public interface GeneralTestEventsProcessor extends Disposable {
|
||||
void addEventsListener(@NotNull SMTRunnerEventsListener viewer);
|
||||
|
||||
void onFinishTesting();
|
||||
|
||||
void setPrinterProvider(@NotNull TestProxyPrinterProvider printerProvider);
|
||||
}
|
||||
|
||||
+4
@@ -113,6 +113,10 @@ public class GeneralToSMTRunnerEventsConvertor implements GeneralTestEventsProce
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPrinterProvider(@NotNull TestProxyPrinterProvider printerProvider) {
|
||||
}
|
||||
|
||||
public void onTestStarted(@NotNull final TestStartedEvent testStartedEvent) {
|
||||
SMRunnerUtil.addToInvokeLater(new Runnable() {
|
||||
public void run() {
|
||||
|
||||
+24
-2
@@ -60,6 +60,7 @@ public class SMTestProxy extends AbstractTestProxy {
|
||||
private boolean myIsEmpty = true;
|
||||
TestLocationProvider myLocator = null;
|
||||
private final boolean myPreservePresentableName;
|
||||
private Printer myPreferredPrinter = null;
|
||||
|
||||
public SMTestProxy(final String testName, final boolean isSuite,
|
||||
@Nullable final String locationUrl) {
|
||||
@@ -79,6 +80,10 @@ public class SMTestProxy extends AbstractTestProxy {
|
||||
myLocator = locator;
|
||||
}
|
||||
|
||||
public void setPreferredPrinter(@NotNull Printer preferredPrinter) {
|
||||
myPreferredPrinter = preferredPrinter;
|
||||
}
|
||||
|
||||
public boolean isInProgress() {
|
||||
//final SMTestProxy parent = getParent();
|
||||
|
||||
@@ -172,8 +177,24 @@ public class SMTestProxy extends AbstractTestProxy {
|
||||
// if parent is being printed then all childs output
|
||||
// should be also send to the same printer
|
||||
child.setPrinter(myPrinter);
|
||||
if (myPreferredPrinter != null && child.myPreferredPrinter == null) {
|
||||
child.setPreferredPrinter(myPreferredPrinter);
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private Printer getRightPrinter(@Nullable Printer printer) {
|
||||
if (myPreferredPrinter != null && printer != null) {
|
||||
return myPreferredPrinter;
|
||||
}
|
||||
return printer;
|
||||
}
|
||||
|
||||
public void setPrinter(Printer printer) {
|
||||
super.setPrinter(getRightPrinter(printer));
|
||||
}
|
||||
|
||||
|
||||
public String getName() {
|
||||
return myName;
|
||||
}
|
||||
@@ -397,13 +418,14 @@ public class SMTestProxy extends AbstractTestProxy {
|
||||
* @param printer Printer
|
||||
*/
|
||||
public void printOn(final Printer printer) {
|
||||
super.printOn(printer);
|
||||
final Printer rightPrinter = getRightPrinter(printer);
|
||||
super.printOn(rightPrinter);
|
||||
|
||||
invokeInAlarm(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
//Tests State, that provide and formats additional output
|
||||
myState.printOn(printer);
|
||||
myState.printOn(rightPrinter);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
/*
|
||||
* Copyright 2000-2012 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 com.intellij.execution.testframework.sm.runner;
|
||||
|
||||
import com.intellij.execution.testframework.Printer;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* @author Sergey Simonchik
|
||||
*/
|
||||
public interface TestProxyPrinterProvider {
|
||||
|
||||
@Nullable
|
||||
Printer getPrinterByType(@NotNull String nodeType, @Nullable String arguments);
|
||||
|
||||
}
|
||||
+27
-1
@@ -26,14 +26,20 @@ public abstract class BaseStartedNodeEvent extends TreeNodeEvent {
|
||||
|
||||
private final int myParentId;
|
||||
private final String myLocationUrl;
|
||||
private final String myNodeType;
|
||||
private final String myNodeArgs;
|
||||
|
||||
protected BaseStartedNodeEvent(@NotNull String name,
|
||||
int id,
|
||||
int parentId,
|
||||
@Nullable final String locationUrl) {
|
||||
@Nullable final String locationUrl,
|
||||
@Nullable String nodeType,
|
||||
@Nullable String nodeArgs) {
|
||||
super(name, id);
|
||||
myParentId = parentId;
|
||||
myLocationUrl = locationUrl;
|
||||
myNodeType = nodeType;
|
||||
myNodeArgs = nodeArgs;
|
||||
validate();
|
||||
}
|
||||
|
||||
@@ -58,6 +64,16 @@ public abstract class BaseStartedNodeEvent extends TreeNodeEvent {
|
||||
return myLocationUrl;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public String getNodeType() {
|
||||
return myNodeType;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public String getNodeArgs() {
|
||||
return myNodeArgs;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void appendToStringInfo(@NotNull StringBuilder buf) {
|
||||
append(buf, "parentId", myParentId);
|
||||
@@ -68,4 +84,14 @@ public abstract class BaseStartedNodeEvent extends TreeNodeEvent {
|
||||
return TreeNodeEvent.getIntAttribute(message, "parentNodeId");
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static String getNodeType(@NotNull MessageWithAttributes message) {
|
||||
return message.getAttributes().get("nodeType");
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static String getNodeArgs(@NotNull MessageWithAttributes message) {
|
||||
return message.getAttributes().get("nodeArgs");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+7
-3
@@ -26,11 +26,15 @@ public class TestStartedEvent extends BaseStartedNodeEvent {
|
||||
|
||||
public TestStartedEvent(@NotNull TestStarted testStarted,
|
||||
@Nullable String locationUrl) {
|
||||
super(testStarted.getTestName(), TreeNodeEvent.getNodeId(testStarted),
|
||||
getParentNodeId(testStarted), locationUrl);
|
||||
super(testStarted.getTestName(),
|
||||
TreeNodeEvent.getNodeId(testStarted),
|
||||
getParentNodeId(testStarted),
|
||||
locationUrl,
|
||||
BaseStartedNodeEvent.getNodeType(testStarted),
|
||||
BaseStartedNodeEvent.getNodeArgs(testStarted));
|
||||
}
|
||||
|
||||
public TestStartedEvent(@NotNull String name, @Nullable String locationUrl) {
|
||||
super(name, -1, -1, locationUrl);
|
||||
super(name, -1, -1, locationUrl, null, null);
|
||||
}
|
||||
}
|
||||
|
||||
+7
-3
@@ -26,12 +26,16 @@ public class TestSuiteStartedEvent extends BaseStartedNodeEvent {
|
||||
|
||||
public TestSuiteStartedEvent(@NotNull TestSuiteStarted suiteStarted,
|
||||
@Nullable String locationUrl) {
|
||||
super(suiteStarted.getSuiteName(), TreeNodeEvent.getNodeId(suiteStarted),
|
||||
getParentNodeId(suiteStarted), locationUrl);
|
||||
super(suiteStarted.getSuiteName(),
|
||||
TreeNodeEvent.getNodeId(suiteStarted),
|
||||
getParentNodeId(suiteStarted),
|
||||
locationUrl,
|
||||
BaseStartedNodeEvent.getNodeType(suiteStarted),
|
||||
BaseStartedNodeEvent.getNodeArgs(suiteStarted));
|
||||
}
|
||||
|
||||
public TestSuiteStartedEvent(@NotNull String name, @Nullable String locationUrl) {
|
||||
super(name, -1, -1, locationUrl);
|
||||
super(name, -1, -1, locationUrl, null, null);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+4
@@ -100,6 +100,10 @@ public class MockGeneralTestEventsProcessorAdapter implements GeneralTestEventsP
|
||||
public void onFinishTesting() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPrinterProvider(@NotNull TestProxyPrinterProvider printerProvider) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispose() {
|
||||
myOutputBuffer.setLength(0);
|
||||
|
||||
+7
-4
@@ -85,10 +85,7 @@ public final class PropertyTable extends JBTable implements ComponentSelectionLi
|
||||
public PropertyTable() {
|
||||
setModel(myModel);
|
||||
setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
|
||||
|
||||
JTableHeader tableHeader = getTableHeader();
|
||||
tableHeader.setVisible(false);
|
||||
tableHeader.setPreferredSize(new Dimension());
|
||||
showColumns(false);
|
||||
|
||||
addMouseListener(new MouseTableListener());
|
||||
getSelectionModel().addListSelectionListener(new ListSelectionListener() {
|
||||
@@ -103,6 +100,12 @@ public final class PropertyTable extends JBTable implements ComponentSelectionLi
|
||||
// TODO: Updates UI after LAF updated
|
||||
}
|
||||
|
||||
public void showColumns(boolean value) {
|
||||
JTableHeader tableHeader = getTableHeader();
|
||||
tableHeader.setVisible(value);
|
||||
tableHeader.setPreferredSize(value ? null : new Dimension());
|
||||
}
|
||||
|
||||
public void initQuickFixManager(JViewport viewPort) {
|
||||
myQuickFixManager = new QuickFixManager(this, viewPort);
|
||||
}
|
||||
|
||||
+7
-8
@@ -16,10 +16,7 @@
|
||||
package com.intellij.designer.propertyTable;
|
||||
|
||||
import com.intellij.designer.DesignerBundle;
|
||||
import com.intellij.designer.propertyTable.actions.IPropertyTableAction;
|
||||
import com.intellij.designer.propertyTable.actions.RestoreDefault;
|
||||
import com.intellij.designer.propertyTable.actions.ShowExpert;
|
||||
import com.intellij.designer.propertyTable.actions.ShowJavadoc;
|
||||
import com.intellij.designer.propertyTable.actions.*;
|
||||
import com.intellij.openapi.actionSystem.*;
|
||||
import com.intellij.openapi.actionSystem.impl.ActionButton;
|
||||
import com.intellij.ui.IdeBorderFactory;
|
||||
@@ -61,10 +58,6 @@ public final class PropertyTablePanel extends JPanel implements ListSelectionLis
|
||||
|
||||
actionGroup.add(new ShowExpert(myPropertyTable));
|
||||
|
||||
PopupHandler.installPopupHandler(myPropertyTable, actionGroup,
|
||||
ActionPlaces.GUI_DESIGNER_PROPERTY_INSPECTOR_POPUP,
|
||||
actionManager);
|
||||
|
||||
myActions = actionGroup.getChildren(null);
|
||||
for (int i = 0; i < myActions.length; i++) {
|
||||
AnAction action = myActions[i];
|
||||
@@ -75,6 +68,12 @@ public final class PropertyTablePanel extends JPanel implements ListSelectionLis
|
||||
}
|
||||
}
|
||||
|
||||
actionGroup.add(new ShowColumns(myPropertyTable));
|
||||
|
||||
PopupHandler.installPopupHandler(myPropertyTable, actionGroup,
|
||||
ActionPlaces.GUI_DESIGNER_PROPERTY_INSPECTOR_POPUP,
|
||||
actionManager);
|
||||
|
||||
myPropertyTable.getSelectionModel().addListSelectionListener(this);
|
||||
valueChanged(null);
|
||||
|
||||
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
* Copyright 2000-2012 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 com.intellij.designer.propertyTable.actions;
|
||||
|
||||
import com.intellij.designer.DesignerBundle;
|
||||
import com.intellij.designer.propertyTable.PropertyTable;
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
import com.intellij.openapi.actionSystem.Presentation;
|
||||
import com.intellij.openapi.actionSystem.ToggleAction;
|
||||
|
||||
/**
|
||||
* @author Alexander Lobas
|
||||
*/
|
||||
public class ShowColumns extends ToggleAction {
|
||||
private final PropertyTable myTable;
|
||||
|
||||
public ShowColumns(PropertyTable table) {
|
||||
myTable = table;
|
||||
|
||||
Presentation presentation = getTemplatePresentation();
|
||||
String text = DesignerBundle.message("designer.properties.show.columns");
|
||||
presentation.setText(text);
|
||||
presentation.setDescription(text);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSelected(AnActionEvent e) {
|
||||
return myTable.getTableHeader().isVisible();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSelected(AnActionEvent e, boolean state) {
|
||||
myTable.showColumns(state);
|
||||
}
|
||||
}
|
||||
@@ -7,7 +7,8 @@ command.set.property.value=Set Property Value
|
||||
|
||||
designer.properties.title=Properties
|
||||
designer.properties.show.expert=Show expert properties
|
||||
designer.properties.show.javadoc=Show Documentation
|
||||
designer.properties.show.columns=Show columns
|
||||
designer.properties.show.javadoc=Show documentation
|
||||
designer.properties.javadoc.title=<html><body>Documentation for <b>{0}</b> property</body></html>
|
||||
designer.properties.restore_default=Restore default value
|
||||
designer.properties.column1=Property
|
||||
|
||||
Reference in New Issue
Block a user