mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
building plugins migrated to use artifacts compiler
This commit is contained in:
@@ -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;
|
||||
|
||||
-68
@@ -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();
|
||||
}
|
||||
|
||||
+2
-2
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user