From cf71866986192b04cbc3952cbe2a6e36e4aed581 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Fri, 21 Mar 2014 18:48:04 +0400 Subject: [PATCH] moved method --- .../openapi/compiler/CompilerPaths.java | 48 +++---------------- .../openapi/project/ProjectUtilCore.java | 37 +++++++++++++- 2 files changed, 42 insertions(+), 43 deletions(-) diff --git a/java/compiler/openapi/src/com/intellij/openapi/compiler/CompilerPaths.java b/java/compiler/openapi/src/com/intellij/openapi/compiler/CompilerPaths.java index f02820fa0f93..15c19335af85 100644 --- a/java/compiler/openapi/src/com/intellij/openapi/compiler/CompilerPaths.java +++ b/java/compiler/openapi/src/com/intellij/openapi/compiler/CompilerPaths.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2012 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,17 +16,16 @@ package com.intellij.openapi.compiler; import com.intellij.compiler.CompilerConfiguration; -import com.intellij.ide.highlighter.ProjectFileType; import com.intellij.openapi.application.Application; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.PathManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.module.Module; import com.intellij.openapi.project.Project; +import com.intellij.openapi.project.ProjectUtilCore; import com.intellij.openapi.roots.CompilerModuleExtension; import com.intellij.openapi.roots.ModuleRootManager; import com.intellij.openapi.util.Computable; -import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.VirtualFileManager; @@ -38,7 +37,6 @@ import org.jetbrains.jps.model.java.compiler.AnnotationProcessingConfiguration; import java.io.File; import java.util.Arrays; import java.util.Comparator; -import java.util.Locale; /** * A set of utility methods for working with paths @@ -47,16 +45,13 @@ public class CompilerPaths { private static final Logger LOG = Logger.getInstance("#com.intellij.openapi.compiler.CompilerPaths"); private static volatile String ourSystemPath; private static final Comparator URLS_COMPARATOR = new Comparator() { + @Override public int compare(String o1, String o2) { return o1.compareTo(o2); } }; - private static final String DEFAULT_GENERATED_DIR_NAME = "generated"; - /** * Returns a directory - * @param project - * @param compiler * @return a directory where compiler may generate files. All generated files are not deleted when the application exits */ public static File getGeneratedDataDirectory(Project project, Compiler compiler) { @@ -65,7 +60,6 @@ public class CompilerPaths { } /** - * @param project * @return a root directory where generated files for various compilers are stored */ public static File getGeneratedDataDirectory(Project project) { @@ -74,7 +68,6 @@ public class CompilerPaths { } /** - * @param project * @return a root directory where compiler caches for the given project are stored */ public static File getCacheStoreDirectory(final Project project) { @@ -92,7 +85,6 @@ public class CompilerPaths { } /** - * @param project * @return a directory under IDEA "system" directory where all files related to compiler subsystem are stored (such as compiler caches or generated files) */ public static File getCompilerSystemDirectory(Project project) { @@ -104,36 +96,7 @@ public class CompilerPaths { } public static String getCompilerSystemDirectoryName(Project project) { - return getPresentableName(project) + "." + project.getLocationHash(); - } - - @Nullable - private static String getPresentableName(final Project project) { - if (project.isDefault()) { - return project.getName(); - } - - String location = project.getPresentableUrl(); - if (location == null) { - return null; - } - - String projectName = FileUtil.toSystemIndependentName(location); - if (projectName.endsWith("/")) { - projectName = projectName.substring(0, projectName.length() - 1); - } - - final int lastSlash = projectName.lastIndexOf('/'); - if (lastSlash >= 0 && lastSlash + 1 < projectName.length()) { - projectName = projectName.substring(lastSlash + 1); - } - - if (StringUtil.endsWithIgnoreCase(projectName, ProjectFileType.DOT_DEFAULT_EXTENSION)) { - projectName = projectName.substring(0, projectName.length() - ProjectFileType.DOT_DEFAULT_EXTENSION.length()); - } - - projectName = projectName.toLowerCase(Locale.US).replace(':', '_'); // replace ':' from windows drive names - return projectName; + return ProjectUtilCore.getPresentableName(project) + "." + project.getLocationHash(); } public static File getCompilerSystemDirectory() { @@ -143,7 +106,6 @@ public class CompilerPaths { } /** - * @param module * @param forTestClasses true if directory for test sources, false - for sources. * @return a directory to which the sources (or test sources depending on the second partameter) should be compiled. * Null is returned if output directory is not specified or is not valid @@ -190,6 +152,7 @@ public class CompilerPaths { } else { outPathUrl = application.runReadAction(new Computable() { + @Override public String compute() { final String url = extension.getCompilerOutputUrlForTests(); return url != null ? url : extension.getCompilerOutputUrl(); @@ -203,6 +166,7 @@ public class CompilerPaths { } else { outPathUrl = application.runReadAction(new Computable() { + @Override public String compute() { return extension.getCompilerOutputUrl(); } diff --git a/platform/projectModel-api/src/com/intellij/openapi/project/ProjectUtilCore.java b/platform/projectModel-api/src/com/intellij/openapi/project/ProjectUtilCore.java index 5dedb2dc093a..120605d93292 100644 --- a/platform/projectModel-api/src/com/intellij/openapi/project/ProjectUtilCore.java +++ b/platform/projectModel-api/src/com/intellij/openapi/project/ProjectUtilCore.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2013 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,15 +15,21 @@ */ package com.intellij.openapi.project; +import com.intellij.ide.highlighter.ProjectFileType; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleUtilCore; import com.intellij.openapi.roots.JdkOrderEntry; import com.intellij.openapi.roots.OrderEntry; import com.intellij.openapi.roots.libraries.LibraryUtil; import com.intellij.openapi.util.SystemInfo; +import com.intellij.openapi.util.io.FileUtil; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.LocalFileProvider; import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.Locale; public class ProjectUtilCore { public static String displayUrlRelativeToProject(@NotNull VirtualFile file, @@ -64,4 +70,33 @@ public class ProjectUtilCore { url + " - [" + module.getName() + "]" : "[" + module.getName() + "] - " + url; } + + @Nullable + public static String getPresentableName(@NotNull Project project) { + if (project.isDefault()) { + return project.getName(); + } + + String location = project.getPresentableUrl(); + if (location == null) { + return null; + } + + String projectName = FileUtil.toSystemIndependentName(location); + if (projectName.endsWith("/")) { + projectName = projectName.substring(0, projectName.length() - 1); + } + + final int lastSlash = projectName.lastIndexOf('/'); + if (lastSlash >= 0 && lastSlash + 1 < projectName.length()) { + projectName = projectName.substring(lastSlash + 1); + } + + if (StringUtil.endsWithIgnoreCase(projectName, ProjectFileType.DOT_DEFAULT_EXTENSION)) { + projectName = projectName.substring(0, projectName.length() - ProjectFileType.DOT_DEFAULT_EXTENSION.length()); + } + + projectName = projectName.toLowerCase(Locale.US).replace(':', '_'); // replace ':' from windows drive names + return projectName; + } }