mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-26864: Generate Ant Build File with GWT and Artifacts don't copy files
This commit is contained in:
@@ -15,13 +15,17 @@
|
||||
*/
|
||||
package com.intellij.compiler.ant;
|
||||
|
||||
import com.intellij.compiler.ant.taskdefs.Target;
|
||||
import com.intellij.compiler.ant.artifacts.ArtifactsGenerator;
|
||||
import com.intellij.compiler.ant.taskdefs.Target;
|
||||
import com.intellij.openapi.compiler.CompilerBundle;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Eugene Zhuravlev
|
||||
@@ -30,20 +34,17 @@ import java.io.PrintWriter;
|
||||
public class CleanProject extends Generator {
|
||||
private final Target myTarget;
|
||||
|
||||
public CleanProject(@NotNull GenerationOptions genOptions, @NotNull ArtifactsGenerator artifactsGenerator) {
|
||||
StringBuffer dependencies = new StringBuffer();
|
||||
public CleanProject(Project project, @NotNull GenerationOptions genOptions, @NotNull ArtifactsGenerator artifactsGenerator) {
|
||||
List<String> dependencies = new ArrayList<String>();
|
||||
final ModuleChunk[] chunks = genOptions.getModuleChunks();
|
||||
for (int idx = 0; idx < chunks.length; idx++) {
|
||||
if (idx > 0) {
|
||||
dependencies.append(", ");
|
||||
}
|
||||
dependencies.append(BuildProperties.getModuleCleanTargetName(chunks[idx].getName()));
|
||||
for (ModuleChunk chunk : chunks) {
|
||||
dependencies.add(BuildProperties.getModuleCleanTargetName(chunk.getName()));
|
||||
}
|
||||
for (String target : artifactsGenerator.getCleanTargetNames()) {
|
||||
if (dependencies.length() > 0) dependencies.append(", ");
|
||||
dependencies.append(target);
|
||||
dependencies.addAll(artifactsGenerator.getCleanTargetNames());
|
||||
for (ChunkBuildExtension extension : ChunkBuildExtension.EP_NAME.getExtensions()) {
|
||||
dependencies.addAll(extension.getCleanTargetNames(project, genOptions));
|
||||
}
|
||||
myTarget = new Target(BuildProperties.TARGET_CLEAN, dependencies.toString(),
|
||||
myTarget = new Target(BuildProperties.TARGET_CLEAN, StringUtil.join(dependencies, ", "),
|
||||
CompilerBundle.message("generated.ant.build.clean.all.task.comment"), null);
|
||||
}
|
||||
|
||||
|
||||
@@ -61,6 +61,9 @@ public abstract class ProjectBuild extends Generator {
|
||||
}
|
||||
}
|
||||
}
|
||||
for (ChunkBuildExtension extension : ChunkBuildExtension.EP_NAME.getExtensions()) {
|
||||
extension.generateProjectTargets(project, genOptions, myAntProject);
|
||||
}
|
||||
|
||||
final Target initTarget = new Target(BuildProperties.TARGET_INIT, null,
|
||||
CompilerBundle.message("generated.ant.build.initialization.section.title"), null);
|
||||
@@ -69,7 +72,7 @@ public abstract class ProjectBuild extends Generator {
|
||||
|
||||
ArtifactsGenerator artifactsGenerator = new ArtifactsGenerator(project, genOptions);
|
||||
|
||||
myAntProject.add(new CleanProject(genOptions, artifactsGenerator), 1);
|
||||
myAntProject.add(new CleanProject(project, genOptions, artifactsGenerator), 1);
|
||||
|
||||
myAntProject.add(new Target(BuildProperties.TARGET_BUILD_MODULES, buildModulesTargetNames.toString(),
|
||||
CompilerBundle.message("generated.ant.build.build.all.modules.target.name"), null), 1);
|
||||
|
||||
@@ -26,6 +26,7 @@ import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public abstract class ChunkBuildExtension {
|
||||
@@ -37,9 +38,16 @@ public abstract class ChunkBuildExtension {
|
||||
|
||||
public abstract void process(Project project, ModuleChunk chunk, GenerationOptions genOptions, CompositeGenerator generator);
|
||||
|
||||
public void generateProjectTargets(Project project, GenerationOptions genOptions, CompositeGenerator generator) {
|
||||
}
|
||||
|
||||
public void generateProperties(final PropertyFileGenerator generator, final Project project, final GenerationOptions options) {
|
||||
}
|
||||
|
||||
public List<String> getCleanTargetNames(Project project, GenerationOptions genOptions) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
public static String[] getAllTargets(ModuleChunk chunk) {
|
||||
List<String> allTargets = new ArrayList<String>();
|
||||
final ChunkBuildExtension[] extensions = Extensions.getRootArea().getExtensionPoint(EP_NAME).getExtensions();
|
||||
|
||||
Reference in New Issue
Block a user