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
;
12 public abstract class IncrementalCompilerInstructionCreatorBase
implements IncrementalCompilerInstructionCreator
{
13 protected final ArtifactsProcessingItemsBuilderContext myContext
;
15 public IncrementalCompilerInstructionCreatorBase(ArtifactsProcessingItemsBuilderContext 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());
32 subFolder(child
.getName()).addDirectoryCopyInstructions(child
, filter
);