[java] moves module-info index into a separate location
authorRoman Shevchenko <roman.shevchenko@jetbrains.com>
Sun, 18 Sep 2016 10:25:35 +0000 (13:25 +0300)
committerRoman Shevchenko <roman.shevchenko@jetbrains.com>
Sun, 18 Sep 2016 10:25:35 +0000 (13:25 +0300)
java/compiler/impl/src/com/intellij/compiler/impl/JavaModuleIndexBuildTask.kt
jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java
jps/model-api/src/org/jetbrains/jps/model/java/JpsJavaExtensionService.java
jps/model-impl/src/org/jetbrains/jps/model/java/impl/JavaModuleIndexImpl.java
jps/model-impl/src/org/jetbrains/jps/model/java/impl/JpsJavaExtensionServiceImpl.java

index 5f0fa7ff0695b6430d8bc6dac095109683b369f1..6d2715b2950811eddda0f588819bd747337a4fd8 100644 (file)
@@ -48,8 +48,8 @@ class JavaModuleIndexBuildTask : CompileTask {
     } ?: return false
 
     try {
-      val dir = BuildManager.getInstance().getProjectSystemDirectory(project)!!
-      JavaModuleIndexImpl.store(BuildDataPathsImpl(dir).targetsDataRoot, map)
+      val systemDir = BuildManager.getInstance().getProjectSystemDirectory(project)!!
+      JavaModuleIndexImpl.store(BuildDataPathsImpl(systemDir).dataStorageRoot, map)
     }
     catch(e: Exception) {
       Logger.getInstance(JavaModuleIndexBuildTask::class.java).error(e)
index 884f73bd47c90cc205fa09cfc33901160c815a28..488aa7d8d6d61829efa3a3c67977a4d45a6dd16c 100644 (file)
@@ -50,7 +50,10 @@ import org.jetbrains.jps.incremental.messages.ProgressMessage;
 import org.jetbrains.jps.javac.*;
 import org.jetbrains.jps.model.JpsDummyElement;
 import org.jetbrains.jps.model.JpsProject;
-import org.jetbrains.jps.model.java.*;
+import org.jetbrains.jps.model.java.JavaModuleIndex;
+import org.jetbrains.jps.model.java.JpsJavaExtensionService;
+import org.jetbrains.jps.model.java.JpsJavaSdkType;
+import org.jetbrains.jps.model.java.LanguageLevel;
 import org.jetbrains.jps.model.java.compiler.*;
 import org.jetbrains.jps.model.library.sdk.JpsSdk;
 import org.jetbrains.jps.model.module.JpsModule;
@@ -970,8 +973,8 @@ public class JavaBuilder extends ModuleLevelBuilder {
   }
 
   private static JavaModuleIndex getJavaModuleIndex(CompileContext context) {
-    File dir = context.getProjectDescriptor().dataManager.getDataPaths().getTargetsDataRoot();
-    return JpsJavaExtensionService.getInstance().getJavaModuleIndex(dir);
+    File storageRoot = context.getProjectDescriptor().dataManager.getDataPaths().getDataStorageRoot();
+    return JpsJavaExtensionService.getInstance().getJavaModuleIndex(storageRoot);
   }
 
   private static class DiagnosticSink implements DiagnosticOutputConsumer {
index db0e9ba878dbb85cdbcfd49d638bfd489f538139..9550eecb02a2905fb9fd0e6d1bfb01e16d6ab2ab 100644 (file)
@@ -130,5 +130,5 @@ public abstract class JpsJavaExtensionService {
   public abstract JavaResourceRootProperties createResourceRootProperties(@NotNull String relativeOutputPath, boolean forGeneratedResource);
 
   @NotNull
-  public abstract JavaModuleIndex getJavaModuleIndex(@NotNull File indexDir);
+  public abstract JavaModuleIndex getJavaModuleIndex(@NotNull File storageRoot);
 }
\ No newline at end of file
index d6a3d6012b000fb5a525fd046c72df7a45ae5751..f6ddb4c212efa1acd9955de458f04732dde20f4d 100644 (file)
@@ -32,7 +32,8 @@ import java.util.Properties;
 import java.util.Set;
 
 public class JavaModuleIndexImpl extends JavaModuleIndex {
-  private static final String INDEX_NAME = "jigsaw.map";
+  private static final String INDEX_DIR = "jigsaw";
+  private static final String INDEX_NAME = "module-info.map";
   private static final String NULL_PATH = "-";
   private static final String MODULE_INFO_FILE = "module-info.java";
 
@@ -76,13 +77,14 @@ public class JavaModuleIndexImpl extends JavaModuleIndex {
     return null;
   }
 
-  public static void store(@NotNull File indexDir, @NotNull Map<String, String> mapping) throws IOException {
+  public static void store(@NotNull File storageRoot, @NotNull Map<String, String> mapping) throws IOException {
     Properties p = new Properties();
     for (String key : mapping.keySet()) {
       String path = mapping.get(key);
       p.setProperty(key, path != null ? FileUtil.toSystemDependentName(path) : NULL_PATH);
     }
 
+    File indexDir = new File(storageRoot, INDEX_DIR);
     FileUtil.ensureExists(indexDir);
     File index = new File(indexDir, INDEX_NAME);
 
@@ -95,8 +97,8 @@ public class JavaModuleIndexImpl extends JavaModuleIndex {
     }
   }
 
-  public static JavaModuleIndex load(@NotNull File indexDir) {
-    File index = new File(indexDir, INDEX_NAME);
+  public static JavaModuleIndex load(@NotNull File storageRoot) {
+    File index = new File(new File(storageRoot, INDEX_DIR), INDEX_NAME);
     if (!index.exists()) {
       Map<String, File> mapping = ContainerUtil.newHashMap();
       return new JavaModuleIndexImpl(mapping);
index 964c632e1c6e5eb1b7a09649e75f622862642e76..007e4ea93879435f7ea80ca7fe2545e215825e0d 100644 (file)
@@ -237,9 +237,9 @@ public class JpsJavaExtensionServiceImpl extends JpsJavaExtensionService {
 
   @NotNull
   @Override
-  public JavaModuleIndex getJavaModuleIndex(@NotNull File indexDir) {
+  public JavaModuleIndex getJavaModuleIndex(@NotNull File storageRoot) {
     if (myModuleIndex == null) {
-      myModuleIndex = JavaModuleIndexImpl.load(indexDir);
+      myModuleIndex = JavaModuleIndexImpl.load(storageRoot);
     }
     return myModuleIndex;
   }