Exclude some non-source folders from IntelliJ projects.
Add some excludeFolder lines to android.iml generated by idegen.sh.
This removes a large number of non-Java files that IntelliJ would
otherwise have to stat and parse.
Change-Id: I362711daba6cc0c7ebec761d013c57c27a29d58d
diff --git a/tools/idegen/src/IntelliJ.java b/tools/idegen/src/IntelliJ.java
index 00d731d..aa051ae 100644
--- a/tools/idegen/src/IntelliJ.java
+++ b/tools/idegen/src/IntelliJ.java
@@ -60,6 +60,19 @@
sourceRootsXml.append("<excludeFolder "
+ "url=\"file://$MODULE_DIR$/out/eclipse\"/>\n");
+ // Exclude some other directories that take a long time to scan.
+ sourceRootsXml.append("<excludeFolder url=\"file://$MODULE_DIR$/.repo\"/>\n");
+ sourceRootsXml.append("<excludeFolder url=\"file://$MODULE_DIR$/external/bluetooth\"/>\n");
+ sourceRootsXml.append("<excludeFolder url=\"file://$MODULE_DIR$/external/chromium\"/>\n");
+ sourceRootsXml.append("<excludeFolder url=\"file://$MODULE_DIR$/external/icu4c\"/>\n");
+ sourceRootsXml.append("<excludeFolder url=\"file://$MODULE_DIR$/external/webkit\"/>\n");
+ sourceRootsXml.append("<excludeFolder url=\"file://$MODULE_DIR$/frameworks/base/docs\"/>\n");
+ sourceRootsXml.append("<excludeFolder url=\"file://$MODULE_DIR$/out/host\"/>\n");
+ sourceRootsXml.append("<excludeFolder url=\"file://$MODULE_DIR$/out/target/common/docs\"/>\n");
+ sourceRootsXml.append("<excludeFolder url=\"file://$MODULE_DIR$/out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates\"/>\n");
+ sourceRootsXml.append("<excludeFolder url=\"file://$MODULE_DIR$/out/target/product\"/>\n");
+ sourceRootsXml.append("<excludeFolder url=\"file://$MODULE_DIR$/prebuilt\"/>\n");
+
StringBuilder jarsXml = new StringBuilder();
for (File jar : c.jarFiles) {
jarsXml.append("<orderEntry type=\"module-library\">"
@@ -86,4 +99,4 @@
return path.toUpperCase().contains("TEST");
}
-}
\ No newline at end of file
+}