migrated to artifacts

This commit is contained in:
nik
2009-10-02 14:45:21 +04:00
parent fcd6e431c0
commit eb9e26d2fa
81 changed files with 501 additions and 4372 deletions
@@ -22,7 +22,6 @@ import com.intellij.openapi.compiler.make.BuildRecipe;
import com.intellij.openapi.compiler.make.PackagingFileFilter;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.roots.OrderEntry;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.text.StringUtil;
@@ -148,12 +147,8 @@ public abstract class DeploymentUtil {
public abstract LibraryLink createLibraryLink(Library library, @NotNull Module parentModule);
public abstract PackagingConfiguration createPackagingConfiguration(@NotNull Module module);
public abstract BuildRecipe createBuildRecipe();
public @Nullable abstract ContainerElement findElementByOrderEntry(PackagingConfiguration packagingConfiguration, OrderEntry entry);
@Nullable
public abstract String getConfigFileErrorMessage(ConfigFile configFile);
@@ -203,10 +198,4 @@ public abstract class DeploymentUtil {
public abstract void checkConfigFile(final ConfigFile descriptor, final CompileContext compileContext, final Module module);
public abstract void addModuleOutputJarToParent(@NotNull BuildRecipe instructions,
@NotNull Module module,
@NotNull String relativePath,
@NotNull CompileContext context,
String linkContainerDescription,
@Nullable PackagingFileFilter fileFilter);
}
@@ -1,5 +1,6 @@
package com.intellij.packaging.artifacts;
import com.intellij.openapi.util.UserDataHolder;
import com.intellij.packaging.elements.CompositePackagingElement;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -9,7 +10,7 @@ import java.util.Collection;
/**
* @author nik
*/
public interface Artifact {
public interface Artifact extends UserDataHolder {
@NotNull
ArtifactType getArtifactType();
@@ -1,6 +1,5 @@
package com.intellij.packaging.artifacts;
import com.intellij.openapi.application.ex.ApplicationManagerEx;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.ModificationTracker;
@@ -13,17 +12,25 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.Collection;
import java.util.Comparator;
/**
* @author nik
*/
public abstract class ArtifactManager implements ArtifactModel {
public static final Topic<ArtifactListener> TOPIC = Topic.create("artifacts changes", ArtifactListener.class);
public static final Comparator<Artifact> ARTIFACT_COMPARATOR = new Comparator<Artifact>() {
public int compare(Artifact o1, Artifact o2) {
return o1.getName().compareToIgnoreCase(o2.getName());
}
};
public static ArtifactManager getInstance(@NotNull Project project) {
return ServiceManager.getService(project, ArtifactManager.class);
}
public abstract Artifact[] getSortedArtifacts();
public abstract ModifiableArtifactModel createModifiableModel();
public abstract PackagingElementResolvingContext getResolvingContext();
@@ -34,13 +41,8 @@ public abstract class ArtifactManager implements ArtifactModel {
public abstract void addElementsToDirectory(@NotNull Artifact artifact, @NotNull String relativePath,
@NotNull Collection<? extends PackagingElement<?>> elements);
public abstract void addElementsToDirectory(@NotNull Artifact artifact, @NotNull String relativePath,
@NotNull PackagingElement<?> element);
public abstract ModificationTracker getModificationTracker();
public static boolean useArtifactsForDeployment() {
return Boolean.parseBoolean(System.getProperty("idea.use.artifacts.for.deployment"));
}
public static boolean useArtifacts() {
return ApplicationManagerEx.getApplicationEx().isInternal();
}
}
@@ -65,6 +65,11 @@ public abstract class CompositePackagingElement<S> extends PackagingElement<S> i
myUnmodifiableChildren = null;
}
public void removeChildren(@NotNull Collection<? extends PackagingElement<?>> children) {
myChildren.removeAll(children);
myUnmodifiableChildren = null;
}
@NotNull
public List<PackagingElement<?>> getChildren() {
if (myUnmodifiableChildren == null) {
@@ -1,18 +1,22 @@
package com.intellij.packaging.elements;
import com.intellij.openapi.compiler.make.PackagingFileFilter;
import com.intellij.openapi.vfs.VirtualFile;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* @author nik
*/
public interface IncrementalCompilerInstructionCreator {
void addFileCopyInstruction(@NotNull VirtualFile file, String outputFileName);
void addFileCopyInstruction(@NotNull VirtualFile file, @NotNull String outputFileName);
void addDirectoryCopyInstructions(VirtualFile directory);
void addDirectoryCopyInstructions(@NotNull VirtualFile directory);
IncrementalCompilerInstructionCreator subFolder(String directoryName);
void addDirectoryCopyInstructions(@NotNull VirtualFile directory, @Nullable PackagingFileFilter filter);
IncrementalCompilerInstructionCreator archive(String archiveFileName);
IncrementalCompilerInstructionCreator subFolder(@NotNull String directoryName);
IncrementalCompilerInstructionCreator archive(@NotNull String archiveFileName);
}