building plugins migrated to use artifacts compiler

This commit is contained in:
nik
2009-11-02 12:48:42 +03:00
parent 606f42f1a8
commit 7ae657e3ae
22 changed files with 184 additions and 306 deletions
@@ -32,11 +32,6 @@ public abstract class BuildTargetsFactory {
return ServiceManager.getService(BuildTargetsFactory.class);
}
public abstract CompositeGenerator createCompositeBuildTarget(ExplodedAndJarTargetParameters parameters, @NonNls String targetName,
String description, String depends, @Nullable String jarPath);
public abstract Target createBuildExplodedTarget(ExplodedAndJarTargetParameters parameters, BuildRecipe buildRecipe, String description);
public abstract Generator createComment(String comment);
//for test
@@ -17,6 +17,7 @@ package com.intellij.openapi.compiler.make;
import com.intellij.openapi.compiler.CompileContext;
import com.intellij.openapi.module.Module;
import com.intellij.packaging.artifacts.Artifact;
import org.jetbrains.annotations.Nullable;
import java.io.File;
@@ -40,6 +41,9 @@ public abstract class BuildParticipant {
public abstract BuildConfiguration getBuildConfiguration();
@Nullable
public abstract Artifact createArtifact(CompileContext context);
@Nullable
public String getOrCreateTemporaryDirForExploded() {
return null;
@@ -15,20 +15,7 @@
*/
package com.intellij.openapi.compiler.make;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ReadAction;
import com.intellij.openapi.application.Result;
import com.intellij.openapi.compiler.CompileContext;
import com.intellij.openapi.deployment.DeploymentUtil;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.vfs.VfsUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.VirtualFileManager;
import com.intellij.util.descriptors.ConfigFile;
import com.intellij.util.descriptors.CustomConfigFile;
import com.intellij.util.descriptors.ConfigFileMetaData;
import java.io.File;
public abstract class BuildParticipantBase extends BuildParticipant {
private final Module myModule;
@@ -41,59 +28,4 @@ public abstract class BuildParticipantBase extends BuildParticipant {
return myModule;
}
public void buildStarted(final CompileContext context) {
new ReadAction() {
protected void run(final Result result) {
ConfigFile[] descriptors = getDeploymentDescriptors();
for (ConfigFile descriptor : descriptors) {
DeploymentUtil.getInstance().checkConfigFile(descriptor, context, myModule);
}
}
}.execute();
}
protected void registerDescriptorCopyingInstructions(final BuildRecipe instructions, final CompileContext context) {
final ConfigFile[] deploymentDescriptors = getDeploymentDescriptors();
ApplicationManager.getApplication().runReadAction(new Runnable() {
public void run() {
registerDescriptorCopyingInstructions(BuildParticipantBase.this.myModule, deploymentDescriptors, instructions);
final CustomConfigFile[] customDescriptors = getCustomDescriptors();
for (CustomConfigFile descriptor : customDescriptors) {
final String url = descriptor.getUrl();
final VirtualFile virtualFile = VirtualFileManager.getInstance().findFileByUrl(url);
if (virtualFile != null) {
File file = VfsUtil.virtualToIoFile(virtualFile);
instructions.addFileCopyInstruction(file, false, myModule, descriptor.getOutputDirectoryPath() + "/" + virtualFile.getName(), null);
}
}
}
});
}
public static void registerDescriptorCopyingInstructions(Module module, ConfigFile[] deploymentDescriptors, BuildRecipe instructions) {
for (ConfigFile descriptor : deploymentDescriptors) {
VirtualFile virtualFile = descriptor.getVirtualFile();
if (virtualFile != null) {
ConfigFileMetaData metaData = descriptor.getMetaData();
final File file = VfsUtil.virtualToIoFile(virtualFile);
final String fileName;
if (metaData.isFileNameFixed()) {
fileName = metaData.getFileName();
}
else {
fileName = virtualFile.getName();
}
instructions.addFileCopyInstruction(file, false, module, metaData.getDirectoryPath() + "/" + fileName, null);
}
}
}
protected CustomConfigFile[] getCustomDescriptors() {
return CustomConfigFile.EMPTY_ARRAY;
}
protected abstract ConfigFile[] getDeploymentDescriptors();
}
@@ -24,10 +24,10 @@ import java.util.Collection;
/**
* @author nik
*/
public abstract class BuildParticipantProvider<P extends BuildParticipant> {
public abstract class BuildParticipantProvider {
public static final ExtensionPointName<BuildParticipantProvider> EXTENSION_POINT_NAME = ExtensionPointName.create("com.intellij.compiler.buildParticipantProvider");
public abstract Collection<P> getParticipants(Module module);
public abstract Collection<? extends BuildParticipant> getParticipants(Module module);
}
@@ -97,15 +97,6 @@ public abstract class DeploymentUtil {
@NotNull BuildRecipe instructions,
@NotNull CompileContext context,
String explodedPath, final String linkContainerDescription);
@Deprecated
/**@deprecated
* use {@link DeploymentUtil.addJavaModuleOutputs()}
*/
public abstract void addJavaModuleOutputs(@NotNull Module module,
@NotNull ModuleLink[] containingModules,
@NotNull BuildRecipe instructions,
@NotNull CompileContext context,
String explodedPath);
public static String concatPaths(String... paths) {
final StringBuilder builder = new StringBuilder();