migrated to artifacts
[fedora-idea.git] / java / compiler / impl / src / com / intellij / packaging / impl / compiler / IncrementalCompilerInstructionCreatorBase.java
blobcc62c4e74910e4f2ff7cd9b3a767265b9a7db624
1 package com.intellij.packaging.impl.compiler;
3 import com.intellij.openapi.compiler.make.PackagingFileFilter;
4 import com.intellij.packaging.elements.IncrementalCompilerInstructionCreator;
5 import com.intellij.openapi.vfs.VirtualFile;
6 import org.jetbrains.annotations.NotNull;
7 import org.jetbrains.annotations.Nullable;
9 /**
10 * @author nik
12 public abstract class IncrementalCompilerInstructionCreatorBase implements IncrementalCompilerInstructionCreator {
13 protected final ArtifactsProcessingItemsBuilderContext myContext;
15 public IncrementalCompilerInstructionCreatorBase(ArtifactsProcessingItemsBuilderContext context) {
16 myContext = context;
19 public void addDirectoryCopyInstructions(@NotNull VirtualFile directory) {
20 addDirectoryCopyInstructions(directory, null);
23 public void addDirectoryCopyInstructions(@NotNull VirtualFile directory, @Nullable PackagingFileFilter filter) {
24 final VirtualFile[] children = directory.getChildren();
25 if (children != null) {
26 for (VirtualFile child : children) {
27 if (filter == null || filter.accept(child, myContext.getCompileContext())) {
28 if (!child.isDirectory()) {
29 addFileCopyInstruction(child, child.getName());
31 else {
32 subFolder(child.getName()).addDirectoryCopyInstructions(child, filter);