mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
external compiler: rename & move
This commit is contained in:
@@ -2,8 +2,8 @@ package org.jetbrains.jps.builders;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.builders.java.JavaSourceRootDescriptor;
|
||||
import org.jetbrains.jps.incremental.CompileContext;
|
||||
import org.jetbrains.jps.incremental.fs.RootDescriptor;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileFilter;
|
||||
@@ -43,7 +43,7 @@ public interface BuildRootIndex {
|
||||
<R extends BuildRootDescriptor> Collection<R> findAllParentDescriptors(@NotNull File file, @Nullable CompileContext context);
|
||||
|
||||
@Nullable
|
||||
RootDescriptor getModuleAndRoot(@Nullable CompileContext context, File file);
|
||||
JavaSourceRootDescriptor getModuleAndRoot(@Nullable CompileContext context, File file);
|
||||
|
||||
@NotNull
|
||||
FileFilter getRootFilter(@NotNull BuildRootDescriptor descriptor);
|
||||
|
||||
@@ -9,11 +9,11 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.builders.*;
|
||||
import org.jetbrains.jps.builders.java.JavaModuleBuildTargetType;
|
||||
import org.jetbrains.jps.builders.java.JavaSourceRootDescriptor;
|
||||
import org.jetbrains.jps.incremental.BuilderRegistry;
|
||||
import org.jetbrains.jps.incremental.CompileContext;
|
||||
import org.jetbrains.jps.indices.IgnoredFileIndex;
|
||||
import org.jetbrains.jps.indices.ModuleExcludeIndex;
|
||||
import org.jetbrains.jps.incremental.fs.RootDescriptor;
|
||||
import org.jetbrains.jps.model.JpsModel;
|
||||
import org.jetbrains.jps.service.JpsServiceManager;
|
||||
|
||||
@@ -213,7 +213,7 @@ public class BuildRootIndexImpl implements BuildRootIndex {
|
||||
public Collection<? extends BuildRootDescriptor> clearTempRoots(@NotNull CompileContext context) {
|
||||
try {
|
||||
final Map<File, BuildRootDescriptor> map = ROOT_DESCRIPTOR_MAP.get(context);
|
||||
return map != null? map.values() : Collections.<RootDescriptor>emptyList();
|
||||
return map != null? map.values() : Collections.<BuildRootDescriptor>emptyList();
|
||||
}
|
||||
finally {
|
||||
TEMP_TARGET_ROOTS_MAP.set(context, null);
|
||||
@@ -223,7 +223,7 @@ public class BuildRootIndexImpl implements BuildRootIndex {
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public RootDescriptor getModuleAndRoot(@Nullable CompileContext context, File file) {
|
||||
public JavaSourceRootDescriptor getModuleAndRoot(@Nullable CompileContext context, File file) {
|
||||
return findParentDescriptor(file, JavaModuleBuildTargetType.ALL_TYPES, context);
|
||||
}
|
||||
|
||||
|
||||
@@ -14,7 +14,6 @@ import org.jetbrains.jps.incremental.CompileContext;
|
||||
import org.jetbrains.jps.incremental.FSOperations;
|
||||
import org.jetbrains.jps.incremental.ModuleBuildTarget;
|
||||
import org.jetbrains.jps.incremental.Utils;
|
||||
import org.jetbrains.jps.incremental.fs.RootDescriptor;
|
||||
import org.jetbrains.jps.incremental.messages.ProgressMessage;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
|
||||
@@ -164,7 +163,7 @@ public class JavaBuilderUtil {
|
||||
final List<Pair<File, JpsModule>> result = new ArrayList<Pair<File, JpsModule>>();
|
||||
for (File file : affected) {
|
||||
if (!moduleBasedFilter.accept(file)) {
|
||||
final RootDescriptor moduleAndRoot = context.getProjectDescriptor().getBuildRootIndex().getModuleAndRoot(context, file);
|
||||
final JavaSourceRootDescriptor moduleAndRoot = context.getProjectDescriptor().getBuildRootIndex().getModuleAndRoot(context, file);
|
||||
result.add(Pair.create(file, moduleAndRoot != null ? moduleAndRoot.target.getModule() : null));
|
||||
}
|
||||
}
|
||||
@@ -176,7 +175,7 @@ public class JavaBuilderUtil {
|
||||
final Set<JpsModule> chunkModules = chunk.getModules();
|
||||
if (!chunkModules.isEmpty()) {
|
||||
for (File file : affected) {
|
||||
final RootDescriptor moduleAndRoot = context.getProjectDescriptor().getBuildRootIndex().getModuleAndRoot(context, file);
|
||||
final JavaSourceRootDescriptor moduleAndRoot = context.getProjectDescriptor().getBuildRootIndex().getModuleAndRoot(context, file);
|
||||
if (moduleAndRoot != null && chunkModules.contains(moduleAndRoot.target.getModule())) {
|
||||
return true;
|
||||
}
|
||||
@@ -250,7 +249,7 @@ public class JavaBuilderUtil {
|
||||
|
||||
@Override
|
||||
public boolean accept(File file) {
|
||||
final RootDescriptor rd = myContext.getProjectDescriptor().getBuildRootIndex().getModuleAndRoot(myContext, file);
|
||||
final JavaSourceRootDescriptor rd = myContext.getProjectDescriptor().getBuildRootIndex().getModuleAndRoot(myContext, file);
|
||||
if (rd == null) {
|
||||
return true;
|
||||
}
|
||||
|
||||
+3
-3
@@ -1,4 +1,4 @@
|
||||
package org.jetbrains.jps.incremental.fs;
|
||||
package org.jetbrains.jps.builders.java;
|
||||
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -15,7 +15,7 @@ import java.io.FileFilter;
|
||||
* @author Eugene Zhuravlev
|
||||
* Date: 1/3/12
|
||||
*/
|
||||
public final class RootDescriptor extends BuildRootDescriptor {
|
||||
public final class JavaSourceRootDescriptor extends BuildRootDescriptor {
|
||||
@NotNull
|
||||
public final File root;
|
||||
@NotNull
|
||||
@@ -23,7 +23,7 @@ public final class RootDescriptor extends BuildRootDescriptor {
|
||||
public final boolean isGeneratedSources;
|
||||
public final boolean isTemp;
|
||||
|
||||
public RootDescriptor(@NotNull File root, @NotNull ModuleBuildTarget target, boolean isGenerated, boolean isTemp) {
|
||||
public JavaSourceRootDescriptor(@NotNull File root, @NotNull ModuleBuildTarget target, boolean isGenerated, boolean isTemp) {
|
||||
this.root = root;
|
||||
this.target = target;
|
||||
this.isGeneratedSources = isGenerated;
|
||||
+2
-2
@@ -8,7 +8,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.ModuleChunk;
|
||||
import org.jetbrains.jps.builders.BuildRootIndex;
|
||||
import org.jetbrains.jps.incremental.fs.RootDescriptor;
|
||||
import org.jetbrains.jps.builders.java.JavaSourceRootDescriptor;
|
||||
import org.jetbrains.jps.model.JpsEncodingConfigurationService;
|
||||
import org.jetbrains.jps.model.JpsEncodingProjectConfiguration;
|
||||
import org.jetbrains.jps.model.JpsModel;
|
||||
@@ -49,7 +49,7 @@ public class CompilerEncodingConfiguration {
|
||||
File file = JpsPathUtil.urlToFile(fileUrl);
|
||||
if (charset == null || (!file.isDirectory() && !shouldHonorEncodingForCompilation(builders, file))) continue;
|
||||
|
||||
final RootDescriptor rootDescriptor = myRootsIndex.getModuleAndRoot(null, file);
|
||||
final JavaSourceRootDescriptor rootDescriptor = myRootsIndex.getModuleAndRoot(null, file);
|
||||
if (rootDescriptor == null) continue;
|
||||
|
||||
final JpsModule module = rootDescriptor.target.getModule();
|
||||
|
||||
@@ -10,9 +10,9 @@ import org.jetbrains.jps.ModuleChunk;
|
||||
import org.jetbrains.jps.builders.BuildTarget;
|
||||
import org.jetbrains.jps.builders.FileProcessor;
|
||||
import org.jetbrains.jps.builders.impl.BuildTargetChunk;
|
||||
import org.jetbrains.jps.builders.java.JavaSourceRootDescriptor;
|
||||
import org.jetbrains.jps.cmdline.ProjectDescriptor;
|
||||
import org.jetbrains.jps.incremental.fs.BuildFSState;
|
||||
import org.jetbrains.jps.incremental.fs.RootDescriptor;
|
||||
import org.jetbrains.jps.incremental.storage.Timestamps;
|
||||
import org.jetbrains.jps.indices.ModuleExcludeIndex;
|
||||
import org.jetbrains.jps.model.java.JpsJavaClasspathKind;
|
||||
@@ -30,7 +30,7 @@ import java.util.Set;
|
||||
*/
|
||||
public class FSOperations {
|
||||
public static void markDirty(CompileContext context, final File file) throws IOException {
|
||||
final RootDescriptor rd = context.getProjectDescriptor().getBuildRootIndex().getModuleAndRoot(context, file);
|
||||
final JavaSourceRootDescriptor rd = context.getProjectDescriptor().getBuildRootIndex().getModuleAndRoot(context, file);
|
||||
if (rd != null) {
|
||||
final ProjectDescriptor pd = context.getProjectDescriptor();
|
||||
pd.fsState.markDirty(context, file, rd, pd.timestamps.getStorage());
|
||||
@@ -38,7 +38,7 @@ public class FSOperations {
|
||||
}
|
||||
|
||||
public static void markDirtyIfNotDeleted(CompileContext context, final File file) throws IOException {
|
||||
final RootDescriptor rd = context.getProjectDescriptor().getBuildRootIndex().getModuleAndRoot(context, file);
|
||||
final JavaSourceRootDescriptor rd = context.getProjectDescriptor().getBuildRootIndex().getModuleAndRoot(context, file);
|
||||
if (rd != null) {
|
||||
final ProjectDescriptor pd = context.getProjectDescriptor();
|
||||
pd.fsState.markDirtyIfNotDeleted(context, file, rd, pd.timestamps.getStorage());
|
||||
@@ -46,7 +46,7 @@ public class FSOperations {
|
||||
}
|
||||
|
||||
public static void markDeleted(CompileContext context, File file) throws IOException {
|
||||
final RootDescriptor rd = context.getProjectDescriptor().getBuildRootIndex().getModuleAndRoot(context, file);
|
||||
final JavaSourceRootDescriptor rd = context.getProjectDescriptor().getBuildRootIndex().getModuleAndRoot(context, file);
|
||||
if (rd != null) {
|
||||
final ProjectDescriptor pd = context.getProjectDescriptor();
|
||||
pd.fsState.registerDeleted(rd.target, file, pd.timestamps.getStorage());
|
||||
@@ -132,7 +132,7 @@ public class FSOperations {
|
||||
@Nullable THashSet<File> currentFiles) throws IOException {
|
||||
final ModuleExcludeIndex rootsIndex = context.getProjectDescriptor().getModuleExcludeIndex();
|
||||
final Set<File> excludes = new HashSet<File>(rootsIndex.getModuleExcludes(target.getModule()));
|
||||
for (RootDescriptor rd : context.getProjectDescriptor().getBuildRootIndex().getTargetRoots(target, context)) {
|
||||
for (JavaSourceRootDescriptor rd : context.getProjectDescriptor().getBuildRootIndex().getTargetRoots(target, context)) {
|
||||
if (!rd.root.exists()) {
|
||||
continue;
|
||||
}
|
||||
@@ -141,7 +141,7 @@ public class FSOperations {
|
||||
}
|
||||
}
|
||||
|
||||
private static void traverseRecursively(CompileContext context, final RootDescriptor rd, final File file, Set<File> excludes, @NotNull final Timestamps tsStorage, final boolean forceDirty, @Nullable Set<File> currentFiles) throws IOException {
|
||||
private static void traverseRecursively(CompileContext context, final JavaSourceRootDescriptor rd, final File file, Set<File> excludes, @NotNull final Timestamps tsStorage, final boolean forceDirty, @Nullable Set<File> currentFiles) throws IOException {
|
||||
final File[] children = file.listFiles();
|
||||
if (children != null) { // is directory
|
||||
if (children.length > 0 && !JpsPathUtil.isUnder(excludes, file)) {
|
||||
|
||||
@@ -24,12 +24,12 @@ import org.jetbrains.jps.builders.*;
|
||||
import org.jetbrains.jps.builders.impl.BuildTargetChunk;
|
||||
import org.jetbrains.jps.builders.java.JavaBuilderUtil;
|
||||
import org.jetbrains.jps.builders.java.JavaModuleBuildTargetType;
|
||||
import org.jetbrains.jps.builders.java.JavaSourceRootDescriptor;
|
||||
import org.jetbrains.jps.builders.java.dependencyView.Callbacks;
|
||||
import org.jetbrains.jps.builders.storage.SourceToOutputMapping;
|
||||
import org.jetbrains.jps.cmdline.BuildRunner;
|
||||
import org.jetbrains.jps.cmdline.ProjectDescriptor;
|
||||
import org.jetbrains.jps.incremental.fs.BuildFSState;
|
||||
import org.jetbrains.jps.incremental.fs.RootDescriptor;
|
||||
import org.jetbrains.jps.incremental.java.ExternalJavacDescriptor;
|
||||
import org.jetbrains.jps.incremental.java.JavaBuilder;
|
||||
import org.jetbrains.jps.incremental.java.JavaBuilderLogger;
|
||||
@@ -598,9 +598,7 @@ public class IncProjectBuilder {
|
||||
rootFiles.add(rd.getRootFile());
|
||||
context.getProjectDescriptor().fsState.clearRecompile(rd);
|
||||
}
|
||||
myAsyncTasks.add(
|
||||
FileUtil.asyncDelete(rootFiles)
|
||||
);
|
||||
myAsyncTasks.add(FileUtil.asyncDelete(rootFiles));
|
||||
}
|
||||
|
||||
try {
|
||||
@@ -760,9 +758,9 @@ public class IncProjectBuilder {
|
||||
nextPassRequired = false;
|
||||
myProjectDescriptor.fsState.beforeNextRoundStart(context, chunk);
|
||||
|
||||
DirtyFilesHolder<RootDescriptor, ModuleBuildTarget> dirtyFilesHolder = new DirtyFilesHolder<RootDescriptor, ModuleBuildTarget>() {
|
||||
DirtyFilesHolder<JavaSourceRootDescriptor, ModuleBuildTarget> dirtyFilesHolder = new DirtyFilesHolder<JavaSourceRootDescriptor, ModuleBuildTarget>() {
|
||||
@Override
|
||||
public void processDirtyFiles(@NotNull FileProcessor<RootDescriptor, ModuleBuildTarget> processor) throws IOException {
|
||||
public void processDirtyFiles(@NotNull FileProcessor<JavaSourceRootDescriptor, ModuleBuildTarget> processor) throws IOException {
|
||||
FSOperations.processFilesToRecompile(context, chunk, processor);
|
||||
}
|
||||
};
|
||||
@@ -834,16 +832,16 @@ public class IncProjectBuilder {
|
||||
}
|
||||
|
||||
private static void syncOutputFiles(final CompileContext context,
|
||||
DirtyFilesHolder<RootDescriptor, ModuleBuildTarget> dirtyFilesHolder) throws ProjectBuildException {
|
||||
DirtyFilesHolder<JavaSourceRootDescriptor, ModuleBuildTarget> dirtyFilesHolder) throws ProjectBuildException {
|
||||
final BuildDataManager dataManager = context.getProjectDescriptor().dataManager;
|
||||
try {
|
||||
final Collection<String> allOutputs = new LinkedList<String>();
|
||||
|
||||
dirtyFilesHolder.processDirtyFiles(new FileProcessor<RootDescriptor, ModuleBuildTarget>() {
|
||||
dirtyFilesHolder.processDirtyFiles(new FileProcessor<JavaSourceRootDescriptor, ModuleBuildTarget>() {
|
||||
private final Map<ModuleBuildTarget, SourceToOutputMapping> storageMap = new HashMap<ModuleBuildTarget, SourceToOutputMapping>();
|
||||
|
||||
@Override
|
||||
public boolean apply(ModuleBuildTarget target, File file, RootDescriptor sourceRoot) throws IOException {
|
||||
public boolean apply(ModuleBuildTarget target, File file, JavaSourceRootDescriptor sourceRoot) throws IOException {
|
||||
SourceToOutputMapping srcToOut = storageMap.get(target);
|
||||
if (srcToOut == null) {
|
||||
srcToOut = dataManager.getSourceToOutputMap(target);
|
||||
@@ -943,7 +941,7 @@ public class IncProjectBuilder {
|
||||
fsState.markInitialScanPerformed(target);
|
||||
}
|
||||
final Timestamps timestamps = pd.timestamps.getStorage();
|
||||
for (RootDescriptor rd : pd.getBuildRootIndex().getTargetRoots(target, context)) {
|
||||
for (JavaSourceRootDescriptor rd : pd.getBuildRootIndex().getTargetRoots(target, context)) {
|
||||
marked |= fsState.markAllUpToDate(context, rd, timestamps);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,10 +6,10 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.builders.BuildRootIndex;
|
||||
import org.jetbrains.jps.builders.BuildTarget;
|
||||
import org.jetbrains.jps.builders.java.JavaSourceRootDescriptor;
|
||||
import org.jetbrains.jps.indices.IgnoredFileIndex;
|
||||
import org.jetbrains.jps.indices.ModuleExcludeIndex;
|
||||
import org.jetbrains.jps.builders.java.JavaModuleBuildTargetType;
|
||||
import org.jetbrains.jps.incremental.fs.RootDescriptor;
|
||||
import org.jetbrains.jps.model.JpsModel;
|
||||
import org.jetbrains.jps.model.java.JavaSourceRootType;
|
||||
import org.jetbrains.jps.model.java.JpsJavaDependenciesEnumerator;
|
||||
@@ -26,7 +26,7 @@ import java.util.List;
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public class ModuleBuildTarget extends BuildTarget<RootDescriptor> {
|
||||
public class ModuleBuildTarget extends BuildTarget<JavaSourceRootDescriptor> {
|
||||
private final JpsModule myModule;
|
||||
private final String myModuleName;
|
||||
private final JavaModuleBuildTargetType myTargetType;
|
||||
@@ -77,21 +77,21 @@ public class ModuleBuildTarget extends BuildTarget<RootDescriptor> {
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public List<RootDescriptor> computeRootDescriptors(JpsModel model, ModuleExcludeIndex index, IgnoredFileIndex ignoredFileIndex) {
|
||||
List<RootDescriptor> roots = new ArrayList<RootDescriptor>();
|
||||
public List<JavaSourceRootDescriptor> computeRootDescriptors(JpsModel model, ModuleExcludeIndex index, IgnoredFileIndex ignoredFileIndex) {
|
||||
List<JavaSourceRootDescriptor> roots = new ArrayList<JavaSourceRootDescriptor>();
|
||||
for (JpsModuleSourceRoot sourceRoot : myModule.getSourceRoots()) {
|
||||
final File root = JpsPathUtil.urlToFile(sourceRoot.getUrl());
|
||||
final boolean testRoot = JavaSourceRootType.TEST_SOURCE.equals(sourceRoot.getRootType());
|
||||
if (testRoot == isTests()) {
|
||||
roots.add(new RootDescriptor(root, this, false, false));
|
||||
roots.add(new JavaSourceRootDescriptor(root, this, false, false));
|
||||
}
|
||||
}
|
||||
return roots;
|
||||
}
|
||||
|
||||
@Override
|
||||
public RootDescriptor findRootDescriptor(String rootId, BuildRootIndex rootIndex) {
|
||||
List<RootDescriptor> descriptors = rootIndex.getRootDescriptors(new File(rootId), Collections.<JavaModuleBuildTargetType>singletonList(myTargetType), null);
|
||||
public JavaSourceRootDescriptor findRootDescriptor(String rootId, BuildRootIndex rootIndex) {
|
||||
List<JavaSourceRootDescriptor> descriptors = rootIndex.getRootDescriptors(new File(rootId), Collections.<JavaModuleBuildTargetType>singletonList(myTargetType), null);
|
||||
return ContainerUtil.getFirstItem(descriptors);
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package org.jetbrains.jps.incremental;
|
||||
|
||||
import org.jetbrains.jps.ModuleChunk;
|
||||
import org.jetbrains.jps.builders.DirtyFilesHolder;
|
||||
import org.jetbrains.jps.incremental.fs.RootDescriptor;
|
||||
import org.jetbrains.jps.builders.java.JavaSourceRootDescriptor;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
@@ -25,7 +25,7 @@ public abstract class ModuleLevelBuilder extends Builder {
|
||||
|
||||
public abstract ExitCode build(CompileContext context,
|
||||
ModuleChunk chunk,
|
||||
DirtyFilesHolder<RootDescriptor, ModuleBuildTarget> dirtyFilesHolder) throws ProjectBuildException;
|
||||
DirtyFilesHolder<JavaSourceRootDescriptor, ModuleBuildTarget> dirtyFilesHolder) throws ProjectBuildException;
|
||||
|
||||
public boolean shouldHonorFileEncodingForCompilation(File file) {
|
||||
return false;
|
||||
|
||||
@@ -10,9 +10,9 @@ import org.jetbrains.jps.builders.BuildRootDescriptor;
|
||||
import org.jetbrains.jps.builders.BuildRootIndex;
|
||||
import org.jetbrains.jps.builders.BuildTarget;
|
||||
import org.jetbrains.jps.builders.FileProcessor;
|
||||
import org.jetbrains.jps.builders.java.JavaSourceRootDescriptor;
|
||||
import org.jetbrains.jps.incremental.CompileContext;
|
||||
import org.jetbrains.jps.incremental.CompileScope;
|
||||
import org.jetbrains.jps.incremental.ModuleBuildTarget;
|
||||
import org.jetbrains.jps.incremental.Utils;
|
||||
import org.jetbrains.jps.incremental.artifacts.instructions.ArtifactRootDescriptor;
|
||||
import org.jetbrains.jps.incremental.storage.Timestamps;
|
||||
@@ -30,7 +30,7 @@ import java.util.Set;
|
||||
*/
|
||||
public class BuildFSState extends FSState {
|
||||
private static final Logger LOG = Logger.getInstance("#org.jetbrains.jps.incremental.fs.BuildFSState");
|
||||
private static final Key<Set<ModuleBuildTarget>> CONTEXT_TARGETS_KEY = Key.create("_fssfate_context_modules_");
|
||||
private static final Key<Set<? extends BuildTarget<?>>> CONTEXT_TARGETS_KEY = Key.create("_fssfate_context_targets_");
|
||||
private static final Key<FilesDelta> CURRENT_ROUND_DELTA_KEY = Key.create("_current_round_delta_");
|
||||
private static final Key<FilesDelta> LAST_ROUND_DELTA_KEY = Key.create("_last_round_delta_");
|
||||
|
||||
@@ -69,12 +69,12 @@ public class BuildFSState extends FSState {
|
||||
if (context == null) {
|
||||
return false;
|
||||
}
|
||||
Set<ModuleBuildTarget> targets = CONTEXT_TARGETS_KEY.get(context, Collections.<ModuleBuildTarget>emptySet());
|
||||
Set<? extends BuildTarget<?>> targets = CONTEXT_TARGETS_KEY.get(context, Collections.<BuildTarget<?>>emptySet());
|
||||
return targets.contains(rd.getTarget());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean markDirtyIfNotDeleted(@Nullable CompileContext context, File file, final RootDescriptor rd, @Nullable Timestamps tsStorage) throws IOException {
|
||||
public boolean markDirtyIfNotDeleted(@Nullable CompileContext context, File file, final BuildRootDescriptor rd, @Nullable Timestamps tsStorage) throws IOException {
|
||||
final boolean marked = super.markDirtyIfNotDeleted(context, file, rd, tsStorage);
|
||||
if (marked) {
|
||||
final FilesDelta roundDelta = getRoundDelta(CURRENT_ROUND_DELTA_KEY, context);
|
||||
@@ -112,7 +112,7 @@ public class BuildFSState extends FSState {
|
||||
setRoundDelta(CURRENT_ROUND_DELTA_KEY, context, new FilesDelta());
|
||||
}
|
||||
|
||||
public <R extends RootDescriptor, T extends BuildTarget<R>> boolean processFilesToRecompile(CompileContext context, final T target, final FileProcessor<R, T> processor) throws IOException {
|
||||
public <R extends BuildRootDescriptor, T extends BuildTarget<R>> boolean processFilesToRecompile(CompileContext context, final T target, final FileProcessor<R, T> processor) throws IOException {
|
||||
final Map<BuildRootDescriptor, Set<File>> data = getSourcesToRecompile(context, target);
|
||||
BuildRootIndex rootIndex = context.getProjectDescriptor().getBuildRootIndex();
|
||||
final CompileScope scope = context.getScope();
|
||||
@@ -137,7 +137,7 @@ public class BuildFSState extends FSState {
|
||||
/**
|
||||
* @return true if marked something, false otherwise
|
||||
*/
|
||||
public boolean markAllUpToDate(CompileContext context, final RootDescriptor rd, final Timestamps stamps) throws IOException {
|
||||
public boolean markAllUpToDate(CompileContext context, final JavaSourceRootDescriptor rd, final Timestamps stamps) throws IOException {
|
||||
boolean marked = false;
|
||||
final FilesDelta delta = getDelta(rd.target);
|
||||
final Set<File> files = delta.clearRecompile(rd);
|
||||
@@ -192,7 +192,7 @@ public class BuildFSState extends FSState {
|
||||
return marked;
|
||||
}
|
||||
|
||||
private static void setContextTargets(@Nullable CompileContext context, @Nullable Set<ModuleBuildTarget> targets) {
|
||||
private static void setContextTargets(@Nullable CompileContext context, @Nullable Set<? extends BuildTarget<?>> targets) {
|
||||
if (context != null) {
|
||||
CONTEXT_TARGETS_KEY.set(context, targets);
|
||||
}
|
||||
|
||||
@@ -89,11 +89,11 @@ public class FSState {
|
||||
|
||||
public boolean markDirtyIfNotDeleted(@Nullable CompileContext context,
|
||||
final File file,
|
||||
final RootDescriptor rd,
|
||||
final BuildRootDescriptor rd,
|
||||
final @Nullable Timestamps tsStorage) throws IOException {
|
||||
final boolean marked = getDelta(rd.target).markRecompileIfNotDeleted(rd, file);
|
||||
final boolean marked = getDelta(rd.getTarget()).markRecompileIfNotDeleted(rd, file);
|
||||
if (marked && tsStorage != null) {
|
||||
tsStorage.removeStamp(file, rd.target);
|
||||
tsStorage.removeStamp(file, rd.getTarget());
|
||||
}
|
||||
return marked;
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ final class FilesDelta {
|
||||
return added;
|
||||
}
|
||||
|
||||
public boolean markRecompileIfNotDeleted(RootDescriptor root, File file) {
|
||||
public boolean markRecompileIfNotDeleted(BuildRootDescriptor root, File file) {
|
||||
final boolean isMarkedDeleted;
|
||||
synchronized (myDeletedPaths) {
|
||||
isMarkedDeleted = !myDeletedPaths.isEmpty() && myDeletedPaths.contains(FileUtil.toCanonicalPath(file.getPath()));
|
||||
|
||||
@@ -35,11 +35,11 @@ import org.jetbrains.jps.builders.BuildRootIndex;
|
||||
import org.jetbrains.jps.builders.DirtyFilesHolder;
|
||||
import org.jetbrains.jps.builders.FileProcessor;
|
||||
import org.jetbrains.jps.builders.java.JavaBuilderUtil;
|
||||
import org.jetbrains.jps.builders.java.JavaSourceRootDescriptor;
|
||||
import org.jetbrains.jps.builders.java.dependencyView.Callbacks;
|
||||
import org.jetbrains.jps.builders.java.dependencyView.Mappings;
|
||||
import org.jetbrains.jps.cmdline.ProjectDescriptor;
|
||||
import org.jetbrains.jps.incremental.*;
|
||||
import org.jetbrains.jps.incremental.fs.RootDescriptor;
|
||||
import org.jetbrains.jps.incremental.messages.BuildMessage;
|
||||
import org.jetbrains.jps.incremental.messages.CompilerMessage;
|
||||
import org.jetbrains.jps.incremental.messages.ProgressMessage;
|
||||
@@ -124,7 +124,7 @@ public class JavaBuilder extends ModuleLevelBuilder {
|
||||
if (srcFile != null && content != null) {
|
||||
final String outputPath = FileUtil.toSystemIndependentName(out.getFile().getPath());
|
||||
final String sourcePath = FileUtil.toSystemIndependentName(srcFile.getPath());
|
||||
final RootDescriptor rootDescriptor = context.getProjectDescriptor().getBuildRootIndex().getModuleAndRoot(context, srcFile);
|
||||
final JavaSourceRootDescriptor rootDescriptor = context.getProjectDescriptor().getBuildRootIndex().getModuleAndRoot(context, srcFile);
|
||||
final BuildDataManager dataManager = context.getProjectDescriptor().dataManager;
|
||||
boolean isTemp = false;
|
||||
if (rootDescriptor != null) {
|
||||
@@ -172,13 +172,13 @@ public class JavaBuilder extends ModuleLevelBuilder {
|
||||
|
||||
public ExitCode build(final CompileContext context,
|
||||
final ModuleChunk chunk,
|
||||
DirtyFilesHolder<RootDescriptor, ModuleBuildTarget> dirtyFilesHolder) throws ProjectBuildException {
|
||||
DirtyFilesHolder<JavaSourceRootDescriptor, ModuleBuildTarget> dirtyFilesHolder) throws ProjectBuildException {
|
||||
try {
|
||||
final Set<File> filesToCompile = new THashSet<File>(FileUtil.FILE_HASHING_STRATEGY);
|
||||
final Set<File> formsToCompile = new THashSet<File>(FileUtil.FILE_HASHING_STRATEGY);
|
||||
|
||||
dirtyFilesHolder.processDirtyFiles(new FileProcessor<RootDescriptor, ModuleBuildTarget>() {
|
||||
public boolean apply(ModuleBuildTarget target, File file, RootDescriptor sourceRoot) throws IOException {
|
||||
dirtyFilesHolder.processDirtyFiles(new FileProcessor<JavaSourceRootDescriptor, ModuleBuildTarget>() {
|
||||
public boolean apply(ModuleBuildTarget target, File file, JavaSourceRootDescriptor sourceRoot) throws IOException {
|
||||
if (JAVA_SOURCES_FILTER.accept(file)) {
|
||||
filesToCompile.add(file);
|
||||
}
|
||||
@@ -195,11 +195,11 @@ public class JavaBuilder extends ModuleLevelBuilder {
|
||||
if (!context.isProjectRebuild()) {
|
||||
for (Iterator<File> formsIterator = formsToCompile.iterator(); formsIterator.hasNext(); ) {
|
||||
final File form = formsIterator.next();
|
||||
final RootDescriptor descriptor = context.getProjectDescriptor().getBuildRootIndex().getModuleAndRoot(context, form);
|
||||
final JavaSourceRootDescriptor descriptor = context.getProjectDescriptor().getBuildRootIndex().getModuleAndRoot(context, form);
|
||||
if (descriptor == null) {
|
||||
continue;
|
||||
}
|
||||
for (RootDescriptor rd : context.getProjectDescriptor().getBuildRootIndex().getTargetRoots(descriptor.target, context)) {
|
||||
for (JavaSourceRootDescriptor rd : context.getProjectDescriptor().getBuildRootIndex().getTargetRoots(descriptor.target, context)) {
|
||||
final File boundSource = getBoundSource(rd.root, form);
|
||||
if (boundSource == null) {
|
||||
continue;
|
||||
@@ -330,7 +330,7 @@ public class JavaBuilder extends ModuleLevelBuilder {
|
||||
final Set<File> tempRootsSourcePath = new HashSet<File>();
|
||||
final BuildRootIndex index = pd.getBuildRootIndex();
|
||||
for (ModuleBuildTarget target : chunk.getTargets()) {
|
||||
for (RootDescriptor rd : index.getTempTargetRoots(target, context)) {
|
||||
for (JavaSourceRootDescriptor rd : index.getTempTargetRoots(target, context)) {
|
||||
tempRootsSourcePath.add(rd.root);
|
||||
}
|
||||
}
|
||||
@@ -893,7 +893,7 @@ public class JavaBuilder extends ModuleLevelBuilder {
|
||||
continue;
|
||||
}
|
||||
final Set<File> roots = new LinkedHashSet<File>();
|
||||
for (RootDescriptor descriptor : context.getProjectDescriptor().getBuildRootIndex().getTargetRoots(target, context)) {
|
||||
for (JavaSourceRootDescriptor descriptor : context.getProjectDescriptor().getBuildRootIndex().getTargetRoots(target, context)) {
|
||||
roots.add(descriptor.root);
|
||||
}
|
||||
map.put(outputDir, roots);
|
||||
|
||||
@@ -8,9 +8,9 @@ import org.jetbrains.jps.JpsPathUtil;
|
||||
import org.jetbrains.jps.ModuleChunk;
|
||||
import org.jetbrains.jps.builders.DirtyFilesHolder;
|
||||
import org.jetbrains.jps.builders.FileProcessor;
|
||||
import org.jetbrains.jps.builders.java.JavaSourceRootDescriptor;
|
||||
import org.jetbrains.jps.builders.storage.SourceToOutputMapping;
|
||||
import org.jetbrains.jps.incremental.*;
|
||||
import org.jetbrains.jps.incremental.fs.RootDescriptor;
|
||||
import org.jetbrains.jps.incremental.messages.BuildMessage;
|
||||
import org.jetbrains.jps.incremental.messages.CompilerMessage;
|
||||
import org.jetbrains.jps.incremental.messages.ProgressMessage;
|
||||
@@ -49,7 +49,7 @@ public class ResourcesBuilder extends ModuleLevelBuilder {
|
||||
|
||||
public ExitCode build(final CompileContext context,
|
||||
final ModuleChunk chunk,
|
||||
DirtyFilesHolder<RootDescriptor, ModuleBuildTarget> dirtyFilesHolder) throws ProjectBuildException {
|
||||
DirtyFilesHolder<JavaSourceRootDescriptor, ModuleBuildTarget> dirtyFilesHolder) throws ProjectBuildException {
|
||||
final ResourcePatterns patterns = ResourcePatterns.KEY.get(context);
|
||||
assert patterns != null;
|
||||
try {
|
||||
@@ -66,8 +66,8 @@ public class ResourcesBuilder extends ModuleLevelBuilder {
|
||||
}
|
||||
};
|
||||
|
||||
FSOperations.processFilesToRecompile(context, chunk, moduleFilter, new FileProcessor<RootDescriptor, ModuleBuildTarget>() {
|
||||
public boolean apply(final ModuleBuildTarget target, final File file, final RootDescriptor sourceRoot) throws IOException {
|
||||
FSOperations.processFilesToRecompile(context, chunk, moduleFilter, new FileProcessor<JavaSourceRootDescriptor, ModuleBuildTarget>() {
|
||||
public boolean apply(final ModuleBuildTarget target, final File file, final JavaSourceRootDescriptor sourceRoot) throws IOException {
|
||||
if (patterns.isResourceFile(file, sourceRoot.root)) {
|
||||
try {
|
||||
context.processMessage(new ProgressMessage("Copying " + file.getPath()));
|
||||
@@ -99,7 +99,7 @@ public class ResourcesBuilder extends ModuleLevelBuilder {
|
||||
private static void copyResource(CompileContext context,
|
||||
JpsModule module,
|
||||
File file,
|
||||
RootDescriptor sourceRoot,
|
||||
JavaSourceRootDescriptor sourceRoot,
|
||||
final SourceToOutputMapping outputToSourceMapping, final boolean tests) throws IOException {
|
||||
final String outputRootUrl = JpsJavaExtensionService.getInstance().getOutputUrl(module, tests);
|
||||
if (outputRootUrl == null) {
|
||||
|
||||
+6
-6
@@ -4,8 +4,8 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.builders.AdditionalRootsProviderService;
|
||||
import org.jetbrains.jps.builders.BuildTarget;
|
||||
import org.jetbrains.jps.builders.java.JavaModuleBuildTargetType;
|
||||
import org.jetbrains.jps.builders.java.JavaSourceRootDescriptor;
|
||||
import org.jetbrains.jps.incremental.ModuleBuildTarget;
|
||||
import org.jetbrains.jps.incremental.fs.RootDescriptor;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
@@ -15,17 +15,17 @@ import java.util.List;
|
||||
/**
|
||||
* @author Eugene.Kudelevsky
|
||||
*/
|
||||
public class AndroidAdditionalRootProviderService extends AdditionalRootsProviderService<RootDescriptor> {
|
||||
public class AndroidAdditionalRootProviderService extends AdditionalRootsProviderService<JavaSourceRootDescriptor> {
|
||||
public AndroidAdditionalRootProviderService() {
|
||||
super(Collections.singletonList(JavaModuleBuildTargetType.PRODUCTION));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public List<RootDescriptor> getAdditionalRoots(@NotNull BuildTarget<RootDescriptor> target, File dataStorageRoot) {
|
||||
public List<JavaSourceRootDescriptor> getAdditionalRoots(@NotNull BuildTarget<JavaSourceRootDescriptor> target, File dataStorageRoot) {
|
||||
ModuleBuildTarget buildTarget = (ModuleBuildTarget)target;
|
||||
final File generatedSourcesRoot = AndroidJpsUtil.getGeneratedSourcesStorage(buildTarget.getModule(), dataStorageRoot);
|
||||
final List<RootDescriptor> result = new ArrayList<RootDescriptor>();
|
||||
final List<JavaSourceRootDescriptor> result = new ArrayList<JavaSourceRootDescriptor>();
|
||||
|
||||
addRoot(result, buildTarget, new File(generatedSourcesRoot, AndroidJpsUtil.AAPT_GENERATED_SOURCE_ROOT_NAME));
|
||||
addRoot(result, buildTarget, new File(generatedSourcesRoot, AndroidJpsUtil.AIDL_GENERATED_SOURCE_ROOT_NAME));
|
||||
@@ -35,7 +35,7 @@ public class AndroidAdditionalRootProviderService extends AdditionalRootsProvide
|
||||
return result;
|
||||
}
|
||||
|
||||
private static void addRoot(List<RootDescriptor> result, ModuleBuildTarget buildTarget, final File file) {
|
||||
result.add(new RootDescriptor(file, buildTarget, true, false));
|
||||
private static void addRoot(List<JavaSourceRootDescriptor> result, ModuleBuildTarget buildTarget, final File file) {
|
||||
result.add(new JavaSourceRootDescriptor(file, buildTarget, true, false));
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -8,8 +8,8 @@ import org.jetbrains.jps.ModuleChunk;
|
||||
import org.jetbrains.jps.ProjectPaths;
|
||||
import org.jetbrains.jps.android.model.JpsAndroidModuleExtension;
|
||||
import org.jetbrains.jps.builders.DirtyFilesHolder;
|
||||
import org.jetbrains.jps.builders.java.JavaSourceRootDescriptor;
|
||||
import org.jetbrains.jps.incremental.*;
|
||||
import org.jetbrains.jps.incremental.fs.RootDescriptor;
|
||||
import org.jetbrains.jps.incremental.messages.ProgressMessage;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
|
||||
@@ -28,7 +28,7 @@ public class AndroidLibraryPackagingBuilder extends ModuleLevelBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ExitCode build(CompileContext context, ModuleChunk chunk, DirtyFilesHolder<RootDescriptor, ModuleBuildTarget> dirtyFilesHolder) throws ProjectBuildException {
|
||||
public ExitCode build(CompileContext context, ModuleChunk chunk, DirtyFilesHolder<JavaSourceRootDescriptor, ModuleBuildTarget> dirtyFilesHolder) throws ProjectBuildException {
|
||||
if (chunk.containsTests() || !AndroidJpsUtil.containsAndroidFacet(chunk) || AndroidJpsUtil.isLightBuild(context)) {
|
||||
return ExitCode.NOTHING_DONE;
|
||||
}
|
||||
|
||||
+7
-7
@@ -23,9 +23,9 @@ import org.jetbrains.jps.ModuleChunk;
|
||||
import org.jetbrains.jps.android.model.JpsAndroidModuleExtension;
|
||||
import org.jetbrains.jps.builders.DirtyFilesHolder;
|
||||
import org.jetbrains.jps.builders.FileProcessor;
|
||||
import org.jetbrains.jps.builders.java.JavaSourceRootDescriptor;
|
||||
import org.jetbrains.jps.builders.storage.SourceToOutputMapping;
|
||||
import org.jetbrains.jps.incremental.*;
|
||||
import org.jetbrains.jps.incremental.fs.RootDescriptor;
|
||||
import org.jetbrains.jps.incremental.java.FormsParsing;
|
||||
import org.jetbrains.jps.incremental.messages.BuildMessage;
|
||||
import org.jetbrains.jps.incremental.messages.CompilerMessage;
|
||||
@@ -75,7 +75,7 @@ public class AndroidSourceGeneratingBuilder extends ModuleLevelBuilder {
|
||||
@Override
|
||||
public ModuleLevelBuilder.ExitCode build(CompileContext context,
|
||||
ModuleChunk chunk,
|
||||
DirtyFilesHolder<RootDescriptor, ModuleBuildTarget> dirtyFilesHolder) throws ProjectBuildException {
|
||||
DirtyFilesHolder<JavaSourceRootDescriptor, ModuleBuildTarget> dirtyFilesHolder) throws ProjectBuildException {
|
||||
if (chunk.containsTests() || !AndroidJpsUtil.containsAndroidFacet(chunk)) {
|
||||
return ExitCode.NOTHING_DONE;
|
||||
}
|
||||
@@ -90,7 +90,7 @@ public class AndroidSourceGeneratingBuilder extends ModuleLevelBuilder {
|
||||
|
||||
private static ModuleLevelBuilder.ExitCode doBuild(CompileContext context,
|
||||
ModuleChunk chunk,
|
||||
DirtyFilesHolder<RootDescriptor, ModuleBuildTarget> dirtyFilesHolder) throws IOException {
|
||||
DirtyFilesHolder<JavaSourceRootDescriptor, ModuleBuildTarget> dirtyFilesHolder) throws IOException {
|
||||
final Map<JpsModule, MyModuleData> moduleDataMap = computeModuleDatas(chunk.getModules(), context);
|
||||
if (moduleDataMap == null || moduleDataMap.size() == 0) {
|
||||
return ExitCode.ABORT;
|
||||
@@ -110,9 +110,9 @@ public class AndroidSourceGeneratingBuilder extends ModuleLevelBuilder {
|
||||
final Map<File, ModuleBuildTarget> idlFilesToCompile = new HashMap<File, ModuleBuildTarget>();
|
||||
final Map<File, ModuleBuildTarget> rsFilesToCompile = new HashMap<File, ModuleBuildTarget>();
|
||||
|
||||
dirtyFilesHolder.processDirtyFiles(new FileProcessor<RootDescriptor, ModuleBuildTarget>() {
|
||||
dirtyFilesHolder.processDirtyFiles(new FileProcessor<JavaSourceRootDescriptor, ModuleBuildTarget>() {
|
||||
@Override
|
||||
public boolean apply(ModuleBuildTarget target, File file, RootDescriptor sourceRoot) throws IOException {
|
||||
public boolean apply(ModuleBuildTarget target, File file, JavaSourceRootDescriptor sourceRoot) throws IOException {
|
||||
final JpsAndroidModuleExtension extension = AndroidJpsUtil.getExtension(target.getModule());
|
||||
|
||||
if (extension == null) {
|
||||
@@ -905,7 +905,7 @@ public class AndroidSourceGeneratingBuilder extends ModuleLevelBuilder {
|
||||
|
||||
@Nullable
|
||||
private static String getDependencyFolder(@NotNull CompileContext context, @NotNull File sourceFile, @NotNull File genFolder) {
|
||||
final RootDescriptor descriptor = context.getProjectDescriptor().getBuildRootIndex().getModuleAndRoot(context, sourceFile);
|
||||
final JavaSourceRootDescriptor descriptor = context.getProjectDescriptor().getBuildRootIndex().getModuleAndRoot(context, sourceFile);
|
||||
if (descriptor == null) {
|
||||
return null;
|
||||
}
|
||||
@@ -975,7 +975,7 @@ public class AndroidSourceGeneratingBuilder extends ModuleLevelBuilder {
|
||||
|
||||
@Nullable
|
||||
private static String computePackageForFile(@NotNull CompileContext context, @NotNull File file) throws IOException {
|
||||
final RootDescriptor descriptor = context.getProjectDescriptor().getBuildRootIndex().getModuleAndRoot(context, file);
|
||||
final JavaSourceRootDescriptor descriptor = context.getProjectDescriptor().getBuildRootIndex().getModuleAndRoot(context, file);
|
||||
if (descriptor == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
+8
-8
@@ -14,12 +14,12 @@ import org.jetbrains.jps.builders.BuildRootIndex;
|
||||
import org.jetbrains.jps.builders.DirtyFilesHolder;
|
||||
import org.jetbrains.jps.builders.FileProcessor;
|
||||
import org.jetbrains.jps.builders.java.JavaBuilderUtil;
|
||||
import org.jetbrains.jps.builders.java.JavaSourceRootDescriptor;
|
||||
import org.jetbrains.jps.builders.java.dependencyView.Callbacks;
|
||||
import org.jetbrains.jps.builders.java.dependencyView.Mappings;
|
||||
import org.jetbrains.jps.builders.storage.SourceToOutputMapping;
|
||||
import org.jetbrains.jps.cmdline.ClasspathBootstrap;
|
||||
import org.jetbrains.jps.incremental.*;
|
||||
import org.jetbrains.jps.incremental.fs.RootDescriptor;
|
||||
import org.jetbrains.jps.incremental.java.ClassPostProcessor;
|
||||
import org.jetbrains.jps.incremental.java.JavaBuilder;
|
||||
import org.jetbrains.jps.incremental.messages.BuildMessage;
|
||||
@@ -67,7 +67,7 @@ public class GroovyBuilder extends ModuleLevelBuilder {
|
||||
|
||||
public ModuleLevelBuilder.ExitCode build(final CompileContext context,
|
||||
ModuleChunk chunk,
|
||||
DirtyFilesHolder<RootDescriptor, ModuleBuildTarget> dirtyFilesHolder) throws ProjectBuildException {
|
||||
DirtyFilesHolder<JavaSourceRootDescriptor, ModuleBuildTarget> dirtyFilesHolder) throws ProjectBuildException {
|
||||
try {
|
||||
final List<File> toCompile = collectChangedFiles(context, dirtyFilesHolder);
|
||||
if (toCompile.isEmpty()) {
|
||||
@@ -136,7 +136,7 @@ public class GroovyBuilder extends ModuleLevelBuilder {
|
||||
final BuildRootIndex rootsIndex = context.getProjectDescriptor().getBuildRootIndex();
|
||||
for (ModuleBuildTarget target : generationOutputs.keySet()) {
|
||||
File root = new File(generationOutputs.get(target));
|
||||
rootsIndex.associateTempRoot(context, target, new RootDescriptor(root, target, true, true));
|
||||
rootsIndex.associateTempRoot(context, target, new JavaSourceRootDescriptor(root, target, true, true));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -206,7 +206,7 @@ public class GroovyBuilder extends ModuleLevelBuilder {
|
||||
GroovycOSProcessHandler.OutputItem item, Map<ModuleBuildTarget, String> generationOutputs, String compilerOutput) throws IOException {
|
||||
if (chunk.getModules().size() > 1) {
|
||||
final BuildRootIndex rootsIndex = context.getProjectDescriptor().getBuildRootIndex();
|
||||
RootDescriptor descriptor = rootsIndex.getModuleAndRoot(context, new File(item.sourcePath));
|
||||
JavaSourceRootDescriptor descriptor = rootsIndex.getModuleAndRoot(context, new File(item.sourcePath));
|
||||
if (descriptor != null) {
|
||||
ModuleBuildTarget srcTarget = descriptor.target;
|
||||
if (!srcTarget.equals(chunk.representativeTarget())) {
|
||||
@@ -238,12 +238,12 @@ public class GroovyBuilder extends ModuleLevelBuilder {
|
||||
}
|
||||
|
||||
private static List<File> collectChangedFiles(CompileContext context,
|
||||
DirtyFilesHolder<RootDescriptor, ModuleBuildTarget> dirtyFilesHolder) throws IOException {
|
||||
DirtyFilesHolder<JavaSourceRootDescriptor, ModuleBuildTarget> dirtyFilesHolder) throws IOException {
|
||||
final ResourcePatterns patterns = ResourcePatterns.KEY.get(context);
|
||||
assert patterns != null;
|
||||
final List<File> toCompile = new ArrayList<File>();
|
||||
dirtyFilesHolder.processDirtyFiles(new FileProcessor<RootDescriptor, ModuleBuildTarget>() {
|
||||
public boolean apply(ModuleBuildTarget target, File file, RootDescriptor sourceRoot) throws IOException {
|
||||
dirtyFilesHolder.processDirtyFiles(new FileProcessor<JavaSourceRootDescriptor, ModuleBuildTarget>() {
|
||||
public boolean apply(ModuleBuildTarget target, File file, JavaSourceRootDescriptor sourceRoot) throws IOException {
|
||||
final String path = file.getPath();
|
||||
if (isGroovyFile(path) && !patterns.isResourceFile(file, sourceRoot.root)) { //todo file type check
|
||||
toCompile.add(file);
|
||||
@@ -269,7 +269,7 @@ public class GroovyBuilder extends ModuleLevelBuilder {
|
||||
for (GroovycOSProcessHandler.OutputItem item : successfullyCompiled) {
|
||||
final String sourcePath = FileUtil.toSystemIndependentName(item.sourcePath);
|
||||
final String outputPath = FileUtil.toSystemIndependentName(item.outputPath);
|
||||
final RootDescriptor moduleAndRoot = context.getProjectDescriptor().getBuildRootIndex().getModuleAndRoot(context, new File(sourcePath));
|
||||
final JavaSourceRootDescriptor moduleAndRoot = context.getProjectDescriptor().getBuildRootIndex().getModuleAndRoot(context, new File(sourcePath));
|
||||
if (moduleAndRoot != null) {
|
||||
final ModuleBuildTarget target = moduleAndRoot.target;
|
||||
context.getProjectDescriptor().dataManager.getSourceToOutputMap(target).appendOutput(sourcePath, outputPath);
|
||||
|
||||
Reference in New Issue
Block a user