diff --git a/java/compiler/impl/src/com/intellij/packaging/impl/compiler/IncrementalCompilerInstructionCreatorBase.java b/java/compiler/impl/src/com/intellij/packaging/impl/compiler/IncrementalCompilerInstructionCreatorBase.java index 2ad38b20fd3b..05b02e4c57fd 100644 --- a/java/compiler/impl/src/com/intellij/packaging/impl/compiler/IncrementalCompilerInstructionCreatorBase.java +++ b/java/compiler/impl/src/com/intellij/packaging/impl/compiler/IncrementalCompilerInstructionCreatorBase.java @@ -15,6 +15,7 @@ */ package com.intellij.packaging.impl.compiler; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.packaging.elements.PackagingFileFilter; import com.intellij.openapi.fileTypes.FileTypeManager; import com.intellij.openapi.vfs.VirtualFile; @@ -22,6 +23,8 @@ import com.intellij.packaging.elements.IncrementalCompilerInstructionCreator; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.List; + /** * @author nik */ @@ -53,4 +56,13 @@ public abstract class IncrementalCompilerInstructionCreatorBase implements Incre } } } + + public IncrementalCompilerInstructionCreator subFolderByRelativePath(@NotNull String relativeDirectoryPath) { + final List folders = StringUtil.split(relativeDirectoryPath, "/"); + IncrementalCompilerInstructionCreator current = this; + for (String folder : folders) { + current = current.subFolder(folder); + } + return current; + } } diff --git a/java/compiler/openapi/src/com/intellij/packaging/elements/IncrementalCompilerInstructionCreator.java b/java/compiler/openapi/src/com/intellij/packaging/elements/IncrementalCompilerInstructionCreator.java index a083e3bbf672..7c1f1d0a5f39 100644 --- a/java/compiler/openapi/src/com/intellij/packaging/elements/IncrementalCompilerInstructionCreator.java +++ b/java/compiler/openapi/src/com/intellij/packaging/elements/IncrementalCompilerInstructionCreator.java @@ -15,7 +15,6 @@ */ package com.intellij.packaging.elements; -import com.intellij.packaging.elements.PackagingFileFilter; import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -34,4 +33,6 @@ public interface IncrementalCompilerInstructionCreator { IncrementalCompilerInstructionCreator subFolder(@NotNull String directoryName); IncrementalCompilerInstructionCreator archive(@NotNull String archiveFileName); + + IncrementalCompilerInstructionCreator subFolderByRelativePath(@NotNull String relativeDirectoryPath); }