mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
jps model: base classes for JPS elements moved to 'jps-model-api', unnecessary dependencies on 'jps-model-impl' removed
This commit is contained in:
@@ -26,6 +26,7 @@
|
||||
<orderEntry type="library" name="Netty" level="project" />
|
||||
<orderEntry type="module" module-name="testFramework-java" scope="TEST" />
|
||||
<orderEntry type="library" name="Jasper2.1" level="project" />
|
||||
<orderEntry type="module" module-name="jps-model-impl" />
|
||||
</component>
|
||||
<component name="copyright">
|
||||
<Base>
|
||||
|
||||
@@ -33,7 +33,7 @@ import com.intellij.util.ui.UIUtil;
|
||||
import gnu.trove.THashSet;
|
||||
import junit.framework.Assert;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
<orderEntry type="module" module-name="RegExpSupport" />
|
||||
<orderEntry type="module" module-name="java-indexing-impl" exported="" />
|
||||
<orderEntry type="module" module-name="java-indexing-api" />
|
||||
<orderEntry type="module" module-name="jps-model-impl" />
|
||||
</component>
|
||||
<component name="copyright">
|
||||
<Base>
|
||||
|
||||
@@ -15,6 +15,7 @@ import org.jetbrains.jps.model.module.JpsDependencyElement;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
import org.jetbrains.jps.model.module.JpsModuleSourceRoot;
|
||||
import org.jetbrains.jps.model.module.JpsSdkDependency;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.*;
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.jetbrains.jps.builders.impl;
|
||||
|
||||
import com.intellij.openapi.util.Key;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.io.FileUtilRt;
|
||||
import com.intellij.util.SmartList;
|
||||
import com.intellij.util.containers.ConcurrentHashMap;
|
||||
import gnu.trove.THashMap;
|
||||
@@ -172,7 +173,7 @@ public class BuildRootIndexImpl implements BuildRootIndex {
|
||||
if (!descriptors.isEmpty()) {
|
||||
return descriptors.get(0);
|
||||
}
|
||||
current = FileUtil.getParentFile(current);
|
||||
current = FileUtilRt.getParentFile(current);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@@ -197,7 +198,7 @@ public class BuildRootIndexImpl implements BuildRootIndex {
|
||||
result.addAll(descriptors);
|
||||
}
|
||||
}
|
||||
current = FileUtil.getParentFile(current);
|
||||
current = FileUtilRt.getParentFile(current);
|
||||
}
|
||||
return result != null ? result : Collections.<R>emptyList();
|
||||
}
|
||||
|
||||
+4
-3
@@ -1,11 +1,12 @@
|
||||
package org.jetbrains.jps.incremental;
|
||||
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.io.FileUtilRt;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import gnu.trove.THashMap;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
import org.jetbrains.jps.ModuleChunk;
|
||||
import org.jetbrains.jps.builders.BuildRootIndex;
|
||||
import org.jetbrains.jps.builders.java.JavaSourceRootDescriptor;
|
||||
@@ -59,7 +60,7 @@ public class CompilerEncodingConfiguration {
|
||||
map.put(module, set);
|
||||
|
||||
final File sourceRoot = rootDescriptor.root;
|
||||
File current = FileUtil.getParentFile(file);
|
||||
File current = FileUtilRt.getParentFile(file);
|
||||
String parentCharset = null;
|
||||
while (current != null) {
|
||||
final String currentCharset = myUrlToCharset.get(FileUtil.toSystemIndependentName(current.getAbsolutePath()));
|
||||
@@ -69,7 +70,7 @@ public class CompilerEncodingConfiguration {
|
||||
if (FileUtil.filesEqual(current, sourceRoot)) {
|
||||
break;
|
||||
}
|
||||
current = FileUtil.getParentFile(current);
|
||||
current = FileUtilRt.getParentFile(current);
|
||||
}
|
||||
if (parentCharset != null) {
|
||||
set.add(parentCharset);
|
||||
|
||||
@@ -5,7 +5,7 @@ import com.intellij.openapi.util.io.FileSystemUtil;
|
||||
import gnu.trove.THashSet;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
import org.jetbrains.jps.ModuleChunk;
|
||||
import org.jetbrains.jps.builders.BuildTarget;
|
||||
import org.jetbrains.jps.builders.FileProcessor;
|
||||
|
||||
@@ -14,7 +14,7 @@ import com.intellij.util.io.PersistentEnumerator;
|
||||
import gnu.trove.THashSet;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
import org.jetbrains.jps.ModuleChunk;
|
||||
import org.jetbrains.jps.ProjectPaths;
|
||||
import org.jetbrains.jps.api.CanceledStatus;
|
||||
|
||||
@@ -3,7 +3,7 @@ package org.jetbrains.jps.incremental;
|
||||
import com.intellij.util.Consumer;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
import org.jetbrains.jps.builders.BuildRootIndex;
|
||||
import org.jetbrains.jps.builders.BuildTarget;
|
||||
import org.jetbrains.jps.builders.java.JavaModuleBuildTargetType;
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.util.containers.ClassMap;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
import org.jetbrains.jps.incremental.artifacts.instructions.ArtifactCompilerInstructionCreator;
|
||||
import org.jetbrains.jps.incremental.artifacts.instructions.ArtifactInstructionsBuilderContext;
|
||||
import org.jetbrains.jps.incremental.artifacts.instructions.CopyToDirectoryInstructionCreator;
|
||||
|
||||
@@ -31,7 +31,6 @@ import gnu.trove.THashSet;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.builders.storage.SourceToOutputMapping;
|
||||
import org.jetbrains.jps.incremental.CompileContext;
|
||||
import org.jetbrains.jps.incremental.ProjectBuildException;
|
||||
@@ -209,7 +208,7 @@ public class JarsBuilder {
|
||||
if (!JarFile.MANIFEST_NAME.startsWith(rootPath)) {
|
||||
continue;
|
||||
}
|
||||
final String manifestPath = JpsPathUtil.trimForwardSlashes(JarFile.MANIFEST_NAME.substring(rootPath.length()));
|
||||
final String manifestPath = JpsArtifactPathUtil.trimForwardSlashes(JarFile.MANIFEST_NAME.substring(rootPath.length()));
|
||||
final ArtifactRootDescriptor descriptor = (ArtifactRootDescriptor)pair.getSecond();
|
||||
if (descriptor instanceof FileBasedArtifactRootDescriptor) {
|
||||
final File manifestFile = new File(descriptor.getRootFile(), manifestPath);
|
||||
@@ -265,7 +264,8 @@ public class JarsBuilder {
|
||||
root.processEntries(new JarBasedArtifactRootDescriptor.EntryProcessor() {
|
||||
@Override
|
||||
public void process(@Nullable InputStream inputStream, @NotNull String relativePath) throws IOException {
|
||||
String pathInJar = addParentDirectories(jarOutputStream, writtenPaths, JpsPathUtil.appendToPath(relativeOutputPath, relativePath));
|
||||
String pathInJar = addParentDirectories(jarOutputStream, writtenPaths, JpsArtifactPathUtil
|
||||
.appendToPath(relativeOutputPath, relativePath));
|
||||
|
||||
if (inputStream == null) {
|
||||
addDirectoryEntry(jarOutputStream, pathInJar + "/", writtenPaths);
|
||||
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
package org.jetbrains.jps.incremental.artifacts.impl;
|
||||
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.util.text.StringUtilRt;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public class JpsArtifactPathUtil {
|
||||
//todo[nik] copied from DeploymentUtil
|
||||
public static String trimForwardSlashes(@NotNull String path) {
|
||||
while (path.length() != 0 && (path.charAt(0) == '/' || path.charAt(0) == File.separatorChar)) {
|
||||
path = path.substring(1);
|
||||
}
|
||||
return path;
|
||||
}
|
||||
|
||||
//todo[nik] copied from DeploymentUtil
|
||||
public static String appendToPath(@NotNull String basePath, @NotNull String relativePath) {
|
||||
final boolean endsWithSlash = StringUtilRt.endsWithChar(basePath, '/') || StringUtilRt.endsWithChar(basePath, '\\');
|
||||
final boolean startsWithSlash = StringUtil.startsWithChar(relativePath, '/') || StringUtil.startsWithChar(relativePath, '\\');
|
||||
String tail;
|
||||
if (endsWithSlash && startsWithSlash) {
|
||||
tail = trimForwardSlashes(relativePath);
|
||||
}
|
||||
else if (!endsWithSlash && !startsWithSlash && basePath.length() > 0 && relativePath.length() > 0) {
|
||||
tail = "/" + relativePath;
|
||||
}
|
||||
else {
|
||||
tail = relativePath;
|
||||
}
|
||||
return basePath + tail;
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -7,8 +7,8 @@ import org.jetbrains.jps.model.JpsElementCollection;
|
||||
import org.jetbrains.jps.model.JpsModel;
|
||||
import org.jetbrains.jps.model.artifact.JpsArtifact;
|
||||
import org.jetbrains.jps.model.artifact.JpsArtifactService;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.impl.JpsElementCollectionRole;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementCollectionRole;
|
||||
import org.jetbrains.jps.service.JpsServiceManager;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
+2
-2
@@ -2,11 +2,11 @@ package org.jetbrains.jps.incremental.artifacts.instructions;
|
||||
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.builders.storage.SourceToOutputMapping;
|
||||
import org.jetbrains.jps.incremental.CompileContext;
|
||||
import org.jetbrains.jps.incremental.artifacts.ArtifactBuildTarget;
|
||||
import org.jetbrains.jps.incremental.artifacts.ArtifactOutputToSourceMapping;
|
||||
import org.jetbrains.jps.incremental.artifacts.impl.JpsArtifactPathUtil;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
@@ -38,7 +38,7 @@ public class FileBasedArtifactRootDescriptor extends ArtifactRootDescriptor {
|
||||
String targetPath;
|
||||
if (!FileUtil.filesEqual(file, getRootFile())) {
|
||||
final String relativePath = FileUtil.getRelativePath(FileUtil.toSystemIndependentName(getRootFile().getPath()), filePath, '/');
|
||||
targetPath = JpsPathUtil.appendToPath(outputPath, relativePath);
|
||||
targetPath = JpsArtifactPathUtil.appendToPath(outputPath, relativePath);
|
||||
}
|
||||
else {
|
||||
targetPath = outputPath;
|
||||
|
||||
+2
-2
@@ -4,12 +4,12 @@ import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.builders.storage.SourceToOutputMapping;
|
||||
import org.jetbrains.jps.incremental.CompileContext;
|
||||
import org.jetbrains.jps.incremental.artifacts.ArtifactBuildTarget;
|
||||
import org.jetbrains.jps.incremental.artifacts.ArtifactOutputToSourceMapping;
|
||||
import org.jetbrains.jps.incremental.artifacts.JarPathUtil;
|
||||
import org.jetbrains.jps.incremental.artifacts.impl.JpsArtifactPathUtil;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.Collections;
|
||||
@@ -70,7 +70,7 @@ public class JarBasedArtifactRootDescriptor extends ArtifactRootDescriptor {
|
||||
processEntries(new EntryProcessor() {
|
||||
@Override
|
||||
public void process(@Nullable InputStream inputStream, @NotNull String relativePath) throws IOException {
|
||||
final String fullOutputPath = FileUtil.toSystemDependentName(JpsPathUtil.appendToPath(outputPath, relativePath));
|
||||
final String fullOutputPath = FileUtil.toSystemDependentName(JpsArtifactPathUtil.appendToPath(outputPath, relativePath));
|
||||
final File outputFile = new File(fullOutputPath);
|
||||
|
||||
FileUtil.createParentDirs(outputFile);
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
package org.jetbrains.jps.incremental.java;
|
||||
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.io.FileUtilRt;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
|
||||
import java.io.File;
|
||||
@@ -34,7 +35,7 @@ public final class CopyResourcesUtil {
|
||||
final File file = new File(targetDir, className + ".class");
|
||||
FileUtil.createParentDirs(file);
|
||||
if (deleteOnExit) {
|
||||
for (File f = file; f != null && !FileUtil.filesEqual(f, targetDir); f = FileUtil.getParentFile(f)) {
|
||||
for (File f = file; f != null && !FileUtil.filesEqual(f, targetDir); f = FileUtilRt.getParentFile(f)) {
|
||||
f.deleteOnExit();
|
||||
}
|
||||
}
|
||||
@@ -66,7 +67,7 @@ public final class CopyResourcesUtil {
|
||||
final File targetDir = new File(targetPath).getAbsoluteFile();
|
||||
final File file = new File(targetDir, fileName);
|
||||
FileUtil.createParentDirs(file);
|
||||
for (File f = file; f != null && !FileUtil.filesEqual(f, targetDir); f = FileUtil.getParentFile(f)) {
|
||||
for (File f = file; f != null && !FileUtil.filesEqual(f, targetDir); f = FileUtilRt.getParentFile(f)) {
|
||||
f.deleteOnExit();
|
||||
}
|
||||
final String resourceName = "/" + fileName;
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.openapi.util.Ref;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
import org.jetbrains.jps.ModuleChunk;
|
||||
import org.jetbrains.jps.builders.DirtyFilesHolder;
|
||||
import org.jetbrains.jps.builders.FileProcessor;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package org.jetbrains.jps.indices.impl;
|
||||
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
import org.jetbrains.jps.indices.ModuleExcludeIndex;
|
||||
import org.jetbrains.jps.model.JpsModel;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package org.jetbrains.jps.javac;
|
||||
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.io.FileUtilRt;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.incremental.Utils;
|
||||
@@ -159,14 +159,14 @@ class JavacFileManager extends ForwardingJavaFileManager<StandardJavaFileManager
|
||||
}
|
||||
|
||||
private File findOutputDir(File src) {
|
||||
File file = FileUtil.getParentFile(src);
|
||||
File file = FileUtilRt.getParentFile(src);
|
||||
while (file != null) {
|
||||
for (Map.Entry<File, Set<File>> entry : myOutputsMap.entrySet()) {
|
||||
if (entry.getValue().contains(file)) {
|
||||
return entry.getKey();
|
||||
}
|
||||
}
|
||||
file = FileUtil.getParentFile(file);
|
||||
file = FileUtilRt.getParentFile(file);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ import com.intellij.openapi.application.ex.PathManagerEx;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.util.Processor;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
import org.jetbrains.jps.builders.BuildResult;
|
||||
import org.jetbrains.jps.builders.BuildTarget;
|
||||
import org.jetbrains.jps.builders.JpsBuildTestCase;
|
||||
|
||||
@@ -6,7 +6,7 @@ import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.testFramework.UsefulTestCase;
|
||||
import com.intellij.util.io.TestFileSystemBuilder;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
import org.jetbrains.jps.api.CanceledStatus;
|
||||
import org.jetbrains.jps.builders.impl.BuildRootIndexImpl;
|
||||
import org.jetbrains.jps.builders.impl.BuildTargetIndexImpl;
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ package org.jetbrains.jps.builders.rebuild
|
||||
import com.intellij.openapi.application.ex.PathManagerEx
|
||||
import com.intellij.openapi.util.io.FileUtil
|
||||
import com.intellij.util.io.TestFileSystemBuilder
|
||||
import org.jetbrains.jps.JpsPathUtil
|
||||
import org.jetbrains.jps.util.JpsPathUtil
|
||||
import org.jetbrains.jps.builders.JpsBuildTestCase
|
||||
import org.jetbrains.jps.model.java.JpsJavaExtensionService
|
||||
/**
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ package org.jetbrains.jps.incremental.artifacts;
|
||||
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.util.PathUtil;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
import org.jetbrains.jps.model.artifact.JpsArtifact;
|
||||
import org.jetbrains.jps.model.library.JpsLibrary;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ import com.intellij.openapi.application.PathManager;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.util.io.TestFileSystemBuilder;
|
||||
import com.intellij.util.text.UniqueNameGenerator;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
import org.jetbrains.jps.builders.BuildResult;
|
||||
import org.jetbrains.jps.builders.BuildTarget;
|
||||
import org.jetbrains.jps.builders.JpsBuildTestCase;
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package org.jetbrains.jps.model.artifact.impl.elements;
|
||||
package org.jetbrains.jps.model.artifact.elements.ex;
|
||||
|
||||
import org.jetbrains.jps.model.artifact.elements.JpsComplexPackagingElement;
|
||||
import org.jetbrains.jps.model.impl.JpsCompositeElementBase;
|
||||
import org.jetbrains.jps.model.ex.JpsCompositeElementBase;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
+7
-6
@@ -1,20 +1,21 @@
|
||||
package org.jetbrains.jps.model.impl;
|
||||
package org.jetbrains.jps.model.ex;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.*;
|
||||
import org.jetbrains.jps.model.JpsCompositeElement;
|
||||
import org.jetbrains.jps.model.JpsElementContainer;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public abstract class JpsCompositeElementBase<Self extends JpsCompositeElementBase<Self>> extends JpsElementBase<Self> implements JpsCompositeElement {
|
||||
protected final JpsElementContainerImpl myContainer;
|
||||
protected final JpsElementContainerEx myContainer;
|
||||
|
||||
protected JpsCompositeElementBase() {
|
||||
myContainer = new JpsElementContainerImpl(this);
|
||||
myContainer = JpsExElementFactory.getInstance().createContainer(this);
|
||||
}
|
||||
|
||||
protected JpsCompositeElementBase(JpsCompositeElementBase<Self> original) {
|
||||
myContainer = new JpsElementContainerImpl(original.myContainer, this);
|
||||
myContainer = JpsExElementFactory.getInstance().createContainerCopy(original.myContainer, this);
|
||||
}
|
||||
|
||||
public void applyChanges(@NotNull Self modified) {
|
||||
@@ -23,7 +24,7 @@ public abstract class JpsCompositeElementBase<Self extends JpsCompositeElementBa
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public JpsElementContainerImpl getContainer() {
|
||||
public JpsElementContainer getContainer() {
|
||||
return myContainer;
|
||||
}
|
||||
}
|
||||
+5
-5
@@ -1,15 +1,15 @@
|
||||
package org.jetbrains.jps.model.impl;
|
||||
package org.jetbrains.jps.model.ex;
|
||||
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.model.*;
|
||||
import org.jetbrains.jps.model.JpsElement;
|
||||
import org.jetbrains.jps.model.JpsEventDispatcher;
|
||||
import org.jetbrains.jps.model.JpsModel;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public abstract class JpsElementBase<Self extends JpsElementBase<Self>> implements JpsElement, JpsElement.BulkModificationSupport<Self> {
|
||||
private static final Logger LOG = Logger.getInstance("#org.jetbrains.jps.model.impl.JpsElementBase");
|
||||
protected JpsElementBase myParent;
|
||||
|
||||
protected JpsElementBase() {
|
||||
@@ -17,7 +17,7 @@ public abstract class JpsElementBase<Self extends JpsElementBase<Self>> implemen
|
||||
|
||||
public void setParent(@Nullable JpsElementBase<?> parent) {
|
||||
if (myParent != null && parent != null) {
|
||||
LOG.error("Parent for " + this + " is already set");
|
||||
throw new AssertionError("Parent for " + this + " is already set: " + myParent);
|
||||
}
|
||||
myParent = parent;
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.jetbrains.jps.model.impl;
|
||||
package org.jetbrains.jps.model.ex;
|
||||
|
||||
import org.jetbrains.jps.model.JpsElement;
|
||||
import org.jetbrains.jps.model.JpsElementChildRole;
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
package org.jetbrains.jps.model.impl;
|
||||
package org.jetbrains.jps.model.ex;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.*;
|
||||
@@ -18,7 +18,7 @@ public class JpsElementCollectionRole<E extends JpsElement> extends JpsElementCh
|
||||
@NotNull
|
||||
@Override
|
||||
public JpsElementCollection<E> create() {
|
||||
return new JpsElementCollectionImpl<E>(myChildRole);
|
||||
return JpsExElementFactory.getInstance().createCollection(myChildRole);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -0,0 +1,16 @@
|
||||
package org.jetbrains.jps.model.ex;
|
||||
|
||||
import org.jetbrains.jps.model.JpsElement;
|
||||
import org.jetbrains.jps.model.JpsElementChildRole;
|
||||
import org.jetbrains.jps.model.JpsElementContainer;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public abstract class JpsElementContainerEx implements JpsElementContainer {
|
||||
protected abstract Map<JpsElementChildRole<?>, JpsElement> getElementsMap();
|
||||
|
||||
protected abstract void applyChanges(JpsElementContainerEx modified);
|
||||
}
|
||||
+3
-2
@@ -1,4 +1,4 @@
|
||||
package org.jetbrains.jps.model.impl;
|
||||
package org.jetbrains.jps.model.ex;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsElement;
|
||||
@@ -8,7 +8,8 @@ import org.jetbrains.jps.model.JpsModel;
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public abstract class JpsElementReferenceBase<E extends JpsElementReferenceBase<E, T>, T extends JpsElement> extends JpsElementBase<E> implements JpsElementReference<T> {
|
||||
public abstract class JpsElementReferenceBase<E extends JpsElementReferenceBase<E, T>, T extends JpsElement> extends JpsElementBase<E>
|
||||
implements JpsElementReference<T> {
|
||||
@Override
|
||||
public JpsElementReference<T> asExternal(@NotNull JpsModel model) {
|
||||
model.registerExternalReference(this);
|
||||
@@ -0,0 +1,27 @@
|
||||
package org.jetbrains.jps.model.ex;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsElement;
|
||||
import org.jetbrains.jps.model.JpsElementChildRole;
|
||||
import org.jetbrains.jps.model.JpsElementCollection;
|
||||
import org.jetbrains.jps.service.JpsServiceManager;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public abstract class JpsExElementFactory {
|
||||
public static JpsExElementFactory getInstance() {
|
||||
return InstanceHolder.INSTANCE;
|
||||
}
|
||||
|
||||
public abstract <E extends JpsElement> JpsElementCollection<E> createCollection(JpsElementChildRole<E> role);
|
||||
|
||||
public abstract JpsElementContainerEx createContainer(@NotNull JpsCompositeElementBase<?> parent);
|
||||
|
||||
public abstract JpsElementContainerEx createContainerCopy(@NotNull JpsElementContainerEx original,
|
||||
@NotNull JpsCompositeElementBase<?> parent);
|
||||
|
||||
private static final class InstanceHolder {
|
||||
private static final JpsExElementFactory INSTANCE = JpsServiceManager.getInstance().getService(JpsExElementFactory.class);
|
||||
}
|
||||
}
|
||||
+3
-2
@@ -1,4 +1,4 @@
|
||||
package org.jetbrains.jps.model.impl;
|
||||
package org.jetbrains.jps.model.ex;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.*;
|
||||
@@ -6,7 +6,8 @@ import org.jetbrains.jps.model.*;
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public abstract class JpsNamedCompositeElementBase<Self extends JpsNamedCompositeElementBase<Self>> extends JpsCompositeElementBase<Self> implements JpsNamedElement {
|
||||
public abstract class JpsNamedCompositeElementBase<Self extends JpsNamedCompositeElementBase<Self>> extends JpsCompositeElementBase<Self>
|
||||
implements JpsNamedElement {
|
||||
private String myName;
|
||||
|
||||
protected JpsNamedCompositeElementBase(@NotNull String name) {
|
||||
@@ -0,0 +1,53 @@
|
||||
package org.jetbrains.jps.util;
|
||||
|
||||
import com.intellij.openapi.util.io.FileUtilRt;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public class JpsPathUtil {
|
||||
|
||||
public static boolean isUnder(Set<File> ancestors, File file) {
|
||||
File current = file;
|
||||
while (current != null) {
|
||||
if (ancestors.contains(current)) {
|
||||
return true;
|
||||
}
|
||||
current = FileUtilRt.getParentFile(current);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static File urlToFile(String url) {
|
||||
return new File(FileUtilRt.toSystemDependentName(urlToPath(url)));
|
||||
}
|
||||
|
||||
public static String urlToPath(String url) {
|
||||
if (url == null) return null;
|
||||
if (url.startsWith("file://")) {
|
||||
return url.substring("file://".length());
|
||||
}
|
||||
else if (url.startsWith("jar://")) {
|
||||
url = url.substring("jar://".length());
|
||||
if (url.endsWith("!/")) {
|
||||
url = url.substring(0, url.length() - "!/".length());
|
||||
}
|
||||
}
|
||||
return url;
|
||||
}
|
||||
|
||||
public static String pathToUrl(String path) {
|
||||
return "file://" + path;
|
||||
}
|
||||
|
||||
public static String getLibraryRootUrl(File file) {
|
||||
String path = FileUtilRt.toSystemIndependentName(file.getAbsolutePath());
|
||||
if (file.isDirectory()) {
|
||||
return "file://" + path;
|
||||
}
|
||||
return "jar://" + path + "!/";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
org.jetbrains.jps.model.impl.JpsExElementFactoryImpl
|
||||
@@ -1,81 +0,0 @@
|
||||
package org.jetbrains.jps;
|
||||
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.io.FileUtilRt;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public class JpsPathUtil {
|
||||
|
||||
//todo[nik] copied from DeploymentUtil
|
||||
public static String trimForwardSlashes(@NotNull String path) {
|
||||
while (path.length() != 0 && (path.charAt(0) == '/' || path.charAt(0) == File.separatorChar)) {
|
||||
path = path.substring(1);
|
||||
}
|
||||
return path;
|
||||
}
|
||||
|
||||
//todo[nik] copied from DeploymentUtil
|
||||
public static String appendToPath(@NotNull String basePath, @NotNull String relativePath) {
|
||||
final boolean endsWithSlash = StringUtil.endsWithChar(basePath, '/') || StringUtil.endsWithChar(basePath, '\\');
|
||||
final boolean startsWithSlash = StringUtil.startsWithChar(relativePath, '/') || StringUtil.startsWithChar(relativePath, '\\');
|
||||
String tail;
|
||||
if (endsWithSlash && startsWithSlash) {
|
||||
tail = trimForwardSlashes(relativePath);
|
||||
}
|
||||
else if (!endsWithSlash && !startsWithSlash && basePath.length() > 0 && relativePath.length() > 0) {
|
||||
tail = "/" + relativePath;
|
||||
}
|
||||
else {
|
||||
tail = relativePath;
|
||||
}
|
||||
return basePath + tail;
|
||||
}
|
||||
|
||||
public static boolean isUnder(Set<File> ancestors, File file) {
|
||||
File current = file;
|
||||
while (current != null) {
|
||||
if (ancestors.contains(current)) {
|
||||
return true;
|
||||
}
|
||||
current = FileUtil.getParentFile(current);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static File urlToFile(String url) {
|
||||
return new File(FileUtilRt.toSystemDependentName(urlToPath(url)));
|
||||
}
|
||||
|
||||
public static String urlToPath(String url) {
|
||||
if (url == null) return null;
|
||||
if (url.startsWith("file://")) {
|
||||
return url.substring("file://".length());
|
||||
}
|
||||
else if (url.startsWith("jar://")) {
|
||||
url = url.substring("jar://".length());
|
||||
if (url.endsWith("!/")) {
|
||||
url = url.substring(0, url.length() - "!/".length());
|
||||
}
|
||||
}
|
||||
return url;
|
||||
}
|
||||
|
||||
public static String pathToUrl(String path) {
|
||||
return "file://" + path;
|
||||
}
|
||||
|
||||
public static String getLibraryRootUrl(File file) {
|
||||
String path = FileUtilRt.toSystemIndependentName(file.getAbsolutePath());
|
||||
if (file.isDirectory()) {
|
||||
return "file://" + path;
|
||||
}
|
||||
return "jar://" + path + "!/";
|
||||
}
|
||||
}
|
||||
@@ -8,8 +8,8 @@ import org.jetbrains.jps.model.JpsElementChildRole;
|
||||
import org.jetbrains.jps.model.artifact.JpsArtifact;
|
||||
import org.jetbrains.jps.model.artifact.JpsArtifactType;
|
||||
import org.jetbrains.jps.model.artifact.elements.JpsCompositePackagingElement;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.impl.JpsNamedCompositeElementBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsNamedCompositeElementBase;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package org.jetbrains.jps.model.artifact.impl;
|
||||
|
||||
import org.jetbrains.jps.model.artifact.JpsArtifact;
|
||||
import org.jetbrains.jps.model.impl.JpsElementCollectionRole;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementCollectionRole;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
|
||||
+2
-1
@@ -8,7 +8,8 @@ import org.jetbrains.jps.model.artifact.elements.JpsArtifactOutputPackagingEleme
|
||||
import org.jetbrains.jps.model.artifact.elements.JpsArtifactRootElement;
|
||||
import org.jetbrains.jps.model.artifact.elements.JpsCompositePackagingElement;
|
||||
import org.jetbrains.jps.model.artifact.elements.JpsPackagingElement;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.artifact.elements.ex.JpsComplexPackagingElementBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
||||
+3
-3
@@ -3,9 +3,9 @@ package org.jetbrains.jps.model.artifact.impl.elements;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.artifact.elements.JpsCompositePackagingElement;
|
||||
import org.jetbrains.jps.model.artifact.elements.JpsPackagingElement;
|
||||
import org.jetbrains.jps.model.impl.JpsCompositeElementBase;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.impl.JpsElementCollectionRole;
|
||||
import org.jetbrains.jps.model.ex.JpsCompositeElementBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementCollectionRole;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ package org.jetbrains.jps.model.artifact.impl.elements;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.artifact.elements.JpsPackagingElement;
|
||||
import org.jetbrains.jps.model.impl.JpsElementBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementBase;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
|
||||
+2
-1
@@ -6,7 +6,8 @@ import org.jetbrains.jps.model.JpsElementChildRole;
|
||||
import org.jetbrains.jps.model.artifact.elements.JpsLibraryFilesPackagingElement;
|
||||
import org.jetbrains.jps.model.artifact.elements.JpsPackagingElement;
|
||||
import org.jetbrains.jps.model.artifact.elements.JpsPackagingElementFactory;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.artifact.elements.ex.JpsComplexPackagingElementBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.library.JpsLibrary;
|
||||
import org.jetbrains.jps.model.library.JpsLibraryReference;
|
||||
import org.jetbrains.jps.model.library.JpsOrderRootType;
|
||||
|
||||
+2
-2
@@ -4,8 +4,8 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.model.JpsElementChildRole;
|
||||
import org.jetbrains.jps.model.artifact.elements.JpsModuleOutputPackagingElement;
|
||||
import org.jetbrains.jps.model.impl.JpsCompositeElementBase;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsCompositeElementBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
import org.jetbrains.jps.model.module.JpsModuleReference;
|
||||
|
||||
|
||||
+12
-7
@@ -1,4 +1,4 @@
|
||||
package org.jetbrains.jps.model.impl;
|
||||
package org.jetbrains.jps.model.ex;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -10,7 +10,7 @@ import java.util.Map;
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public class JpsElementContainerImpl implements JpsElementContainer {
|
||||
public class JpsElementContainerImpl extends JpsElementContainerEx implements JpsElementContainer {
|
||||
private final Map<JpsElementChildRole<?>, JpsElement> myElements = new HashMap<JpsElementChildRole<?>, JpsElement>();
|
||||
private final @NotNull JpsCompositeElementBase<?> myParent;
|
||||
|
||||
@@ -18,9 +18,9 @@ public class JpsElementContainerImpl implements JpsElementContainer {
|
||||
myParent = parent;
|
||||
}
|
||||
|
||||
public JpsElementContainerImpl(@NotNull JpsElementContainerImpl original, @NotNull JpsCompositeElementBase<?> parent) {
|
||||
public JpsElementContainerImpl(@NotNull JpsElementContainerEx original, @NotNull JpsCompositeElementBase<?> parent) {
|
||||
myParent = parent;
|
||||
for (Map.Entry<JpsElementChildRole<?>, JpsElement> entry : original.myElements.entrySet()) {
|
||||
for (Map.Entry<JpsElementChildRole<?>, JpsElement> entry : original.getElementsMap().entrySet()) {
|
||||
final JpsElementChildRole role = entry.getKey();
|
||||
final JpsElement copy = entry.getValue().getBulkModificationSupport().createCopy();
|
||||
JpsElementBase.setParent(copy, myParent);
|
||||
@@ -82,18 +82,23 @@ public class JpsElementContainerImpl implements JpsElementContainer {
|
||||
JpsElementBase.setParent(removed, null);
|
||||
}
|
||||
|
||||
public void applyChanges(@NotNull JpsElementContainerImpl modified) {
|
||||
@Override
|
||||
protected Map<JpsElementChildRole<?>, JpsElement> getElementsMap() {
|
||||
return myElements;
|
||||
}
|
||||
|
||||
public void applyChanges(@NotNull JpsElementContainerEx modified) {
|
||||
for (JpsElementChildRole<?> role : myElements.keySet()) {
|
||||
applyChanges(role, modified);
|
||||
}
|
||||
for (JpsElementChildRole<?> role : modified.myElements.keySet()) {
|
||||
for (JpsElementChildRole<?> role : modified.getElementsMap().keySet()) {
|
||||
if (!myElements.containsKey(role)) {
|
||||
applyChanges(role, modified);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private <T extends JpsElement> void applyChanges(JpsElementChildRole<T> role, JpsElementContainerImpl modified) {
|
||||
private <T extends JpsElement> void applyChanges(JpsElementChildRole<T> role, JpsElementContainerEx modified) {
|
||||
final T child = getChild(role);
|
||||
final T modifiedChild = modified.getChild(role);
|
||||
if (child != null && modifiedChild != null) {
|
||||
@@ -2,6 +2,7 @@ package org.jetbrains.jps.model.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsDummyElement;
|
||||
import org.jetbrains.jps.model.ex.JpsElementBase;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.intellij.util.SmartList;
|
||||
import com.intellij.util.containers.FilteringIterator;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.*;
|
||||
import org.jetbrains.jps.model.ex.JpsElementBase;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@@ -16,7 +17,7 @@ public class JpsElementCollectionImpl<E extends JpsElement> extends JpsElementBa
|
||||
private final Map<E, E> myCopyToOriginal;
|
||||
private final JpsElementChildRole<E> myChildRole;
|
||||
|
||||
public JpsElementCollectionImpl(JpsElementChildRole<E> role) {
|
||||
JpsElementCollectionImpl(JpsElementChildRole<E> role) {
|
||||
myChildRole = role;
|
||||
myElements = new SmartList<E>();
|
||||
myCopyToOriginal = null;
|
||||
|
||||
+1
@@ -3,6 +3,7 @@ package org.jetbrains.jps.model.impl;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.model.*;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
+2
@@ -3,6 +3,8 @@ package org.jetbrains.jps.model.impl;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsElementChildRole;
|
||||
import org.jetbrains.jps.model.JpsEncodingProjectConfiguration;
|
||||
import org.jetbrains.jps.model.ex.JpsElementBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
package org.jetbrains.jps.model.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsElement;
|
||||
import org.jetbrains.jps.model.JpsElementChildRole;
|
||||
import org.jetbrains.jps.model.JpsElementCollection;
|
||||
import org.jetbrains.jps.model.ex.JpsCompositeElementBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementContainerEx;
|
||||
import org.jetbrains.jps.model.ex.JpsElementContainerImpl;
|
||||
import org.jetbrains.jps.model.ex.JpsExElementFactory;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public class JpsExElementFactoryImpl extends JpsExElementFactory {
|
||||
@Override
|
||||
public JpsElementContainerEx createContainer(@NotNull JpsCompositeElementBase<?> parent) {
|
||||
return new JpsElementContainerImpl(parent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public JpsElementContainerEx createContainerCopy(@NotNull JpsElementContainerEx original,
|
||||
@NotNull JpsCompositeElementBase<?> parent) {
|
||||
return new JpsElementContainerImpl(original, parent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <E extends JpsElement> JpsElementCollection<E> createCollection(JpsElementChildRole<E> role) {
|
||||
return new JpsElementCollectionImpl<E>(role);
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,8 @@ package org.jetbrains.jps.model.impl;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsElementChildRole;
|
||||
import org.jetbrains.jps.model.JpsFileTypesConfiguration;
|
||||
import org.jetbrains.jps.model.ex.JpsElementBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.jetbrains.jps.model.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.*;
|
||||
import org.jetbrains.jps.model.ex.JpsElementReferenceBase;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
|
||||
@@ -3,6 +3,8 @@ package org.jetbrains.jps.model.impl;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.model.*;
|
||||
import org.jetbrains.jps.model.ex.JpsCompositeElementBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -11,7 +13,8 @@ import java.util.List;
|
||||
*/
|
||||
public abstract class JpsNamedElementReferenceBase<S extends JpsNamedElement, T extends JpsNamedElement, Self extends JpsNamedElementReferenceBase<S, T, Self>>
|
||||
extends JpsCompositeElementBase<Self> implements JpsElementReference<T> {
|
||||
private static final JpsElementChildRole<JpsElementReference<? extends JpsCompositeElement>> PARENT_REFERENCE_ROLE = JpsElementChildRoleBase.create("parent");
|
||||
private static final JpsElementChildRole<JpsElementReference<? extends JpsCompositeElement>> PARENT_REFERENCE_ROLE = JpsElementChildRoleBase
|
||||
.create("parent");
|
||||
protected final String myElementName;
|
||||
|
||||
protected JpsNamedElementReferenceBase(@NotNull String elementName, @NotNull JpsElementReference<? extends JpsCompositeElement> parentReference) {
|
||||
|
||||
@@ -6,6 +6,7 @@ import org.jetbrains.jps.model.JpsCompositeElement;
|
||||
import org.jetbrains.jps.model.JpsElementCollection;
|
||||
import org.jetbrains.jps.model.JpsElementReference;
|
||||
import org.jetbrains.jps.model.JpsNamedElement;
|
||||
import org.jetbrains.jps.model.ex.JpsElementCollectionRole;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.jetbrains.jps.model.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.*;
|
||||
import org.jetbrains.jps.model.ex.JpsElementReferenceBase;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
|
||||
@@ -2,6 +2,8 @@ package org.jetbrains.jps.model.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.*;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementCollectionRole;
|
||||
import org.jetbrains.jps.model.library.JpsLibrary;
|
||||
import org.jetbrains.jps.model.library.JpsLibraryCollection;
|
||||
import org.jetbrains.jps.model.library.JpsLibraryType;
|
||||
|
||||
@@ -3,6 +3,7 @@ package org.jetbrains.jps.model.impl;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsEventDispatcher;
|
||||
import org.jetbrains.jps.model.JpsModel;
|
||||
import org.jetbrains.jps.model.ex.JpsCompositeElementBase;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.jetbrains.jps.model.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.*;
|
||||
import org.jetbrains.jps.model.ex.JpsElementBase;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.jetbrains.jps.model.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.*;
|
||||
import org.jetbrains.jps.model.ex.JpsElementBase;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -3,6 +3,7 @@ package org.jetbrains.jps.model.impl;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsElementCreator;
|
||||
import org.jetbrains.jps.model.JpsUrlList;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
|
||||
+2
-2
@@ -3,8 +3,8 @@ package org.jetbrains.jps.model.java.impl;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsElementCreator;
|
||||
import org.jetbrains.jps.model.impl.JpsElementBase;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.java.ExplodedDirectoryModuleExtension;
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,7 +2,7 @@ package org.jetbrains.jps.model.java.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsElementCreator;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.java.JpsJavaModuleExtension;
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,7 +2,7 @@ package org.jetbrains.jps.model.java.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsElementCreator;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.java.JpsJavaProjectExtension;
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
package org.jetbrains.jps.model.java.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.impl.JpsElementBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementBase;
|
||||
import org.jetbrains.jps.model.java.JpsJavaDependencyExtension;
|
||||
import org.jetbrains.jps.model.java.JpsJavaDependencyScope;
|
||||
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ package org.jetbrains.jps.model.java.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsElementCreator;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.java.JpsJavaDependencyExtension;
|
||||
import org.jetbrains.jps.model.java.JpsJavaDependencyScope;
|
||||
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ package org.jetbrains.jps.model.java.impl;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
import org.jetbrains.jps.model.JpsDummyElement;
|
||||
import org.jetbrains.jps.model.JpsGlobal;
|
||||
import org.jetbrains.jps.model.JpsProject;
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ 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.ex.JpsCompositeElementBase;
|
||||
import org.jetbrains.jps.model.impl.JpsUrlListRole;
|
||||
import org.jetbrains.jps.model.java.JpsJavaModuleExtension;
|
||||
import org.jetbrains.jps.model.java.LanguageLevel;
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ 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.ex.JpsElementBase;
|
||||
import org.jetbrains.jps.model.java.JpsJavaProjectExtension;
|
||||
import org.jetbrains.jps.model.java.LanguageLevel;
|
||||
|
||||
|
||||
+2
-2
@@ -6,8 +6,8 @@ import org.jetbrains.jps.model.JpsDummyElement;
|
||||
import org.jetbrains.jps.model.JpsElement;
|
||||
import org.jetbrains.jps.model.JpsElementReference;
|
||||
import org.jetbrains.jps.model.JpsModel;
|
||||
import org.jetbrains.jps.model.impl.JpsCompositeElementBase;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsCompositeElementBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.java.JpsJavaSdkType;
|
||||
import org.jetbrains.jps.model.java.JpsJavaSdkTypeWrapper;
|
||||
import org.jetbrains.jps.model.library.JpsLibrary;
|
||||
|
||||
+4
-4
@@ -1,7 +1,7 @@
|
||||
package org.jetbrains.jps.model.java.impl.compiler;
|
||||
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import com.intellij.openapi.util.io.FileUtilRt;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
import org.jetbrains.jps.model.java.compiler.JpsCompilerExcludes;
|
||||
|
||||
import java.io.File;
|
||||
@@ -41,7 +41,7 @@ public class JpsCompilerExcludesImpl implements JpsCompilerExcludes {
|
||||
}
|
||||
|
||||
if (!myDirectories.isEmpty() || !myRecursivelyExcludedDirectories.isEmpty()) { // optimization
|
||||
File parent = FileUtil.getParentFile(file);
|
||||
File parent = FileUtilRt.getParentFile(file);
|
||||
if (myDirectories.contains(parent)) {
|
||||
return true;
|
||||
}
|
||||
@@ -50,7 +50,7 @@ public class JpsCompilerExcludesImpl implements JpsCompilerExcludes {
|
||||
if (myRecursivelyExcludedDirectories.contains(parent)) {
|
||||
return true;
|
||||
}
|
||||
parent = FileUtil.getParentFile(parent);
|
||||
parent = FileUtilRt.getParentFile(parent);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
||||
+2
-2
@@ -3,8 +3,8 @@ package org.jetbrains.jps.model.java.impl.compiler;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.model.JpsElementChildRole;
|
||||
import org.jetbrains.jps.model.impl.JpsCompositeElementBase;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsCompositeElementBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.java.compiler.JpsCompilerExcludes;
|
||||
import org.jetbrains.jps.model.java.compiler.JpsJavaCompilerConfiguration;
|
||||
import org.jetbrains.jps.model.java.compiler.JpsJavaCompilerOptions;
|
||||
|
||||
@@ -3,11 +3,11 @@ package org.jetbrains.jps.model.library.impl;
|
||||
import com.intellij.openapi.util.io.FileUtilRt;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
import org.jetbrains.jps.model.*;
|
||||
import org.jetbrains.jps.model.impl.JpsElementCollectionImpl;
|
||||
import org.jetbrains.jps.model.impl.JpsElementCollectionRole;
|
||||
import org.jetbrains.jps.model.impl.JpsNamedCompositeElementBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementCollectionRole;
|
||||
import org.jetbrains.jps.model.ex.JpsNamedCompositeElementBase;
|
||||
import org.jetbrains.jps.model.library.*;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
@@ -2,8 +2,8 @@ package org.jetbrains.jps.model.library.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsEventDispatcher;
|
||||
import org.jetbrains.jps.model.impl.JpsElementCollectionRole;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementCollectionRole;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.library.JpsLibrary;
|
||||
import org.jetbrains.jps.model.library.JpsLibraryListener;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package org.jetbrains.jps.model.library.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.impl.JpsElementBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementBase;
|
||||
import org.jetbrains.jps.model.library.JpsLibrary;
|
||||
import org.jetbrains.jps.model.library.JpsLibraryRoot;
|
||||
import org.jetbrains.jps.model.library.JpsOrderRootType;
|
||||
|
||||
@@ -2,7 +2,7 @@ package org.jetbrains.jps.model.library.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsEventDispatcher;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.library.JpsLibraryRoot;
|
||||
import org.jetbrains.jps.model.library.JpsLibraryRootListener;
|
||||
import org.jetbrains.jps.model.library.JpsOrderRootType;
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.intellij.openapi.util.Comparing;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsElement;
|
||||
import org.jetbrains.jps.model.JpsElementFactory;
|
||||
import org.jetbrains.jps.model.impl.JpsCompositeElementBase;
|
||||
import org.jetbrains.jps.model.ex.JpsCompositeElementBase;
|
||||
import org.jetbrains.jps.model.library.sdk.JpsSdkType;
|
||||
import org.jetbrains.jps.model.library.impl.JpsLibraryImpl;
|
||||
import org.jetbrains.jps.model.library.sdk.JpsSdk;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package org.jetbrains.jps.model.module.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.impl.JpsCompositeElementBase;
|
||||
import org.jetbrains.jps.model.impl.JpsElementCollectionRole;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsCompositeElementBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementCollectionRole;
|
||||
import org.jetbrains.jps.model.library.JpsLibrary;
|
||||
import org.jetbrains.jps.model.library.JpsLibraryReference;
|
||||
import org.jetbrains.jps.model.library.sdk.JpsSdkType;
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ package org.jetbrains.jps.model.module.impl;
|
||||
import com.intellij.util.CollectConsumer;
|
||||
import com.intellij.util.Consumer;
|
||||
import com.intellij.util.Processor;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
import org.jetbrains.jps.model.library.JpsLibrary;
|
||||
import org.jetbrains.jps.model.library.JpsOrderRootType;
|
||||
import org.jetbrains.jps.model.module.*;
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package org.jetbrains.jps.model.module.impl;
|
||||
|
||||
import org.jetbrains.jps.model.impl.JpsCompositeElementBase;
|
||||
import org.jetbrains.jps.model.ex.JpsCompositeElementBase;
|
||||
import org.jetbrains.jps.model.module.JpsDependencyElement;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@ import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.model.JpsElement;
|
||||
import org.jetbrains.jps.model.JpsElementChildRole;
|
||||
import org.jetbrains.jps.model.JpsElementCollection;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.impl.JpsNamedCompositeElementBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsNamedCompositeElementBase;
|
||||
import org.jetbrains.jps.model.module.JpsFacet;
|
||||
import org.jetbrains.jps.model.module.JpsFacetReference;
|
||||
import org.jetbrains.jps.model.module.JpsFacetType;
|
||||
|
||||
@@ -2,8 +2,8 @@ package org.jetbrains.jps.model.module.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsEventDispatcher;
|
||||
import org.jetbrains.jps.model.impl.JpsElementCollectionRole;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementCollectionRole;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.module.JpsFacet;
|
||||
import org.jetbrains.jps.model.module.JpsFacetListener;
|
||||
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ package org.jetbrains.jps.model.module.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.*;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.library.JpsLibrary;
|
||||
import org.jetbrains.jps.model.library.JpsLibraryReference;
|
||||
import org.jetbrains.jps.model.module.JpsLibraryDependency;
|
||||
|
||||
@@ -3,7 +3,7 @@ package org.jetbrains.jps.model.module.impl;
|
||||
import com.intellij.openapi.util.Ref;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsElementChildRole;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
import org.jetbrains.jps.model.module.JpsModuleDependency;
|
||||
import org.jetbrains.jps.model.module.JpsModuleReference;
|
||||
|
||||
@@ -3,9 +3,8 @@ package org.jetbrains.jps.model.module.impl;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.model.*;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.impl.JpsElementCollectionImpl;
|
||||
import org.jetbrains.jps.model.impl.JpsNamedCompositeElementBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsNamedCompositeElementBase;
|
||||
import org.jetbrains.jps.model.impl.JpsUrlListRole;
|
||||
import org.jetbrains.jps.model.library.JpsLibrary;
|
||||
import org.jetbrains.jps.model.library.JpsLibraryCollection;
|
||||
|
||||
@@ -3,8 +3,8 @@ package org.jetbrains.jps.model.module.impl;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsElementChildRole;
|
||||
import org.jetbrains.jps.model.JpsEventDispatcher;
|
||||
import org.jetbrains.jps.model.impl.JpsElementCollectionRole;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementCollectionRole;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
import org.jetbrains.jps.model.module.JpsModuleListener;
|
||||
|
||||
|
||||
@@ -2,10 +2,10 @@ package org.jetbrains.jps.model.module.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
import org.jetbrains.jps.model.JpsElement;
|
||||
import org.jetbrains.jps.model.JpsElementType;
|
||||
import org.jetbrains.jps.model.impl.JpsCompositeElementBase;
|
||||
import org.jetbrains.jps.model.ex.JpsCompositeElementBase;
|
||||
import org.jetbrains.jps.model.module.JpsModuleSourceRootType;
|
||||
import org.jetbrains.jps.model.module.JpsTypedModuleSourceRoot;
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ package org.jetbrains.jps.model.module.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsEventDispatcher;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.impl.JpsElementCollectionRole;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementCollectionRole;
|
||||
import org.jetbrains.jps.model.module.JpsModuleSourceRoot;
|
||||
import org.jetbrains.jps.model.module.JpsModuleSourceRootListener;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package org.jetbrains.jps.model.module.impl;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.JpsElement;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.library.sdk.JpsSdkReference;
|
||||
import org.jetbrains.jps.model.library.sdk.JpsSdkType;
|
||||
|
||||
|
||||
+2
-2
@@ -4,8 +4,8 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.model.JpsElement;
|
||||
import org.jetbrains.jps.model.JpsElementCreator;
|
||||
import org.jetbrains.jps.model.impl.JpsCompositeElementBase;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsCompositeElementBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.library.sdk.JpsSdkReference;
|
||||
import org.jetbrains.jps.model.library.sdk.JpsSdkType;
|
||||
import org.jetbrains.jps.model.module.JpsSdkReferencesTable;
|
||||
|
||||
@@ -3,7 +3,7 @@ package org.jetbrains.jps.model;
|
||||
import com.intellij.openapi.application.PathManager;
|
||||
import com.intellij.openapi.application.ex.PathManagerEx;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
import org.jetbrains.jps.model.java.*;
|
||||
import org.jetbrains.jps.model.library.JpsLibrary;
|
||||
import org.jetbrains.jps.model.library.JpsOrderRootType;
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
package org.jetbrains.jps.model.serialization;
|
||||
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
import org.jetbrains.jps.model.java.JpsJavaExtensionService;
|
||||
import org.jetbrains.jps.model.java.compiler.JpsCompilerExcludes;
|
||||
import org.jetbrains.jps.model.java.compiler.JpsJavaCompilerConfiguration;
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<orderEntry type="module" module-name="projectModel-api" exported="" />
|
||||
<orderEntry type="module" module-name="core-impl" />
|
||||
<orderEntry type="module" module-name="jps-model-api" />
|
||||
<orderEntry type="module" module-name="jps-model-impl" exported="" />
|
||||
<orderEntry type="module" module-name="jps-model-impl" />
|
||||
<orderEntry type="module" module-name="jps-model-serialization" exported="" />
|
||||
</component>
|
||||
</module>
|
||||
|
||||
@@ -380,4 +380,36 @@ public class FileUtilRt {
|
||||
}
|
||||
return bytes;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get parent for the file. The method correctly
|
||||
* processes "." and ".." in file names. The name
|
||||
* remains relative if was relative before.
|
||||
*
|
||||
* @param file a file to analyze
|
||||
* @return a parent or the null if the file has no parent.
|
||||
*/
|
||||
@Nullable
|
||||
public static File getParentFile(@NotNull File file) {
|
||||
int skipCount = 0;
|
||||
File parentFile = file;
|
||||
while (true) {
|
||||
parentFile = parentFile.getParentFile();
|
||||
if (parentFile == null) {
|
||||
return null;
|
||||
}
|
||||
if (".".equals(parentFile.getName())) {
|
||||
continue;
|
||||
}
|
||||
if ("..".equals(parentFile.getName())) {
|
||||
skipCount++;
|
||||
continue;
|
||||
}
|
||||
if (skipCount > 0) {
|
||||
skipCount--;
|
||||
continue;
|
||||
}
|
||||
return parentFile;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -201,36 +201,9 @@ public class FileUtil extends FileUtilRt {
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get parent for the file. The method correctly
|
||||
* processes "." and ".." in file names. The name
|
||||
* remains relative if was relative before.
|
||||
*
|
||||
* @param file a file to analyze
|
||||
* @return a parent or the null if the file has no parent.
|
||||
*/
|
||||
@Nullable
|
||||
public static File getParentFile(@NotNull File file) {
|
||||
int skipCount = 0;
|
||||
File parentFile = file;
|
||||
while (true) {
|
||||
parentFile = parentFile.getParentFile();
|
||||
if (parentFile == null) {
|
||||
return null;
|
||||
}
|
||||
if (".".equals(parentFile.getName())) {
|
||||
continue;
|
||||
}
|
||||
if ("..".equals(parentFile.getName())) {
|
||||
skipCount++;
|
||||
continue;
|
||||
}
|
||||
if (skipCount > 0) {
|
||||
skipCount--;
|
||||
continue;
|
||||
}
|
||||
return parentFile;
|
||||
}
|
||||
return FileUtilRt.getParentFile(file);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
<orderEntry type="library" name="NanoXML" level="project" />
|
||||
<orderEntry type="module" module-name="jps-model-api" />
|
||||
<orderEntry type="module" module-name="jps-model-serialization" />
|
||||
<orderEntry type="module" module-name="jps-model-impl" />
|
||||
</component>
|
||||
</module>
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ import org.jetbrains.android.util.AndroidCompilerMessageKind;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
import org.jetbrains.jps.ModuleChunk;
|
||||
import org.jetbrains.jps.ProjectPaths;
|
||||
import org.jetbrains.jps.android.model.JpsAndroidModuleExtension;
|
||||
|
||||
+3
-2
@@ -8,6 +8,7 @@ import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.openapi.util.Ref;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.io.FileUtilRt;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import com.intellij.util.Processor;
|
||||
import com.intellij.util.containers.HashMap;
|
||||
@@ -911,7 +912,7 @@ public class AndroidSourceGeneratingBuilder extends ModuleLevelBuilder {
|
||||
}
|
||||
final File sourceRoot = descriptor.root;
|
||||
|
||||
final File parent = FileUtil.getParentFile(sourceFile);
|
||||
final File parent = FileUtilRt.getParentFile(sourceFile);
|
||||
if (parent == null) {
|
||||
return null;
|
||||
}
|
||||
@@ -980,7 +981,7 @@ public class AndroidSourceGeneratingBuilder extends ModuleLevelBuilder {
|
||||
return null;
|
||||
}
|
||||
|
||||
final String relPath = FileUtil.getRelativePath(descriptor.root, FileUtil.getParentFile(file));
|
||||
final String relPath = FileUtil.getRelativePath(descriptor.root, FileUtilRt.getParentFile(file));
|
||||
if (relPath == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
+3
-3
@@ -20,10 +20,10 @@ import com.intellij.util.xmlb.XmlSerializerUtil;
|
||||
import org.jetbrains.android.util.AndroidNativeLibData;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
import org.jetbrains.jps.android.model.JpsAndroidModuleExtension;
|
||||
import org.jetbrains.jps.model.impl.JpsElementBase;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<orderEntry type="module" module-name="jps-model-api" />
|
||||
<orderEntry type="module" module-name="jps-model-serialization" />
|
||||
<orderEntry type="module" module-name="jps-builders" />
|
||||
<orderEntry type="module" module-name="jps-model-impl" />
|
||||
<orderEntry type="module" module-name="jps-model-impl" scope="TEST" />
|
||||
</component>
|
||||
</module>
|
||||
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ import com.intellij.openapi.util.io.FileUtil;
|
||||
import org.jdom.Element;
|
||||
import org.jdom.JDOMException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
import org.jetbrains.jps.devkit.model.JpsIdeaSdkProperties;
|
||||
import org.jetbrains.jps.devkit.model.JpsIdeaSdkType;
|
||||
import org.jetbrains.jps.devkit.model.JpsPluginModuleProperties;
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@ import org.jetbrains.jps.maven.model.JpsMavenModuleExtension;
|
||||
import org.jetbrains.jps.model.JpsElementChildRole;
|
||||
import org.jetbrains.jps.model.JpsElementFactory;
|
||||
import org.jetbrains.jps.model.JpsSimpleElement;
|
||||
import org.jetbrains.jps.model.impl.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
|
||||
import org.jetbrains.jps.model.module.JpsDependencyElement;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user