mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-10-01 09:03:31 +07:00
conversion fixed for gwt facet linked to web facet
This commit is contained in:
+2
-4
@@ -7,12 +7,11 @@ import com.intellij.compiler.ant.Generator;
|
||||
import com.intellij.compiler.ant.taskdefs.Mkdir;
|
||||
import com.intellij.compiler.ant.taskdefs.Property;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.VfsUtil;
|
||||
import com.intellij.packaging.artifacts.Artifact;
|
||||
import com.intellij.packaging.artifacts.ArtifactManager;
|
||||
import com.intellij.packaging.elements.ArtifactAntGenerationContext;
|
||||
import com.intellij.packaging.elements.ArtifactRootElement;
|
||||
import com.intellij.packaging.impl.artifacts.ArtifactUtil;
|
||||
import gnu.trove.THashMap;
|
||||
import gnu.trove.THashSet;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
@@ -40,8 +39,7 @@ public class ArtifactAntGenerationContextImpl implements ArtifactAntGenerationCo
|
||||
myProject = project;
|
||||
myGenerationOptions = generationOptions;
|
||||
for (Artifact artifact : ArtifactManager.getInstance(project).getArtifacts()) {
|
||||
final String outputPath = artifact.getOutputPath();
|
||||
if (!StringUtil.isEmpty(outputPath) && artifact.getRootElement() instanceof ArtifactRootElement<?>) {
|
||||
if (ArtifactUtil.shouldClearArtifactOutputBeforeRebuild(artifact)) {
|
||||
myArtifactsToClean.add(artifact);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,22 +1,25 @@
|
||||
package com.intellij.compiler.ant.artifacts;
|
||||
|
||||
import com.intellij.compiler.ant.BuildProperties;
|
||||
import com.intellij.compiler.ant.Comment;
|
||||
import com.intellij.compiler.ant.GenerationOptions;
|
||||
import com.intellij.compiler.ant.Generator;
|
||||
import com.intellij.compiler.ant.Comment;
|
||||
import com.intellij.compiler.ant.taskdefs.*;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.packaging.impl.artifacts.ArtifactUtil;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.packaging.artifacts.Artifact;
|
||||
import com.intellij.packaging.artifacts.ArtifactManager;
|
||||
import com.intellij.packaging.elements.ComplexPackagingElement;
|
||||
import com.intellij.packaging.elements.CompositePackagingElement;
|
||||
import com.intellij.packaging.elements.PackagingElement;
|
||||
import com.intellij.packaging.elements.PackagingElementResolvingContext;
|
||||
import com.intellij.packaging.impl.artifacts.ArtifactUtil;
|
||||
import com.intellij.packaging.impl.artifacts.PackagingElementProcessor;
|
||||
import com.intellij.packaging.impl.elements.ArtifactPackagingElement;
|
||||
import com.intellij.packaging.impl.elements.ModuleOutputPackagingElement;
|
||||
import com.intellij.util.Processor;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -96,9 +99,14 @@ public class ArtifactsGenerator {
|
||||
private Target createArtifactTarget(Artifact artifact) {
|
||||
final StringBuilder depends = new StringBuilder(INIT_ARTIFACTS_TARGET);
|
||||
|
||||
//todo[nik] do not process content of included artifacts
|
||||
ArtifactUtil.processPackagingElements(artifact, null, new Processor<PackagingElement<?>>() {
|
||||
public boolean process(PackagingElement<?> packagingElement) {
|
||||
ArtifactUtil.processPackagingElements(artifact, null, new PackagingElementProcessor<PackagingElement<?>>() {
|
||||
@Override
|
||||
public boolean shouldProcessSubstitution(ComplexPackagingElement<?> element) {
|
||||
return !(element instanceof ArtifactPackagingElement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean process(@NotNull List<CompositePackagingElement<?>> parents, @NotNull PackagingElement<?> packagingElement) {
|
||||
if (packagingElement instanceof ArtifactPackagingElement) {
|
||||
final Artifact included = ((ArtifactPackagingElement)packagingElement).findArtifact(myResolvingContext);
|
||||
if (included != null) {
|
||||
|
||||
@@ -475,4 +475,9 @@ public class ArtifactUtil {
|
||||
|
||||
element.removeChildren(toRemove);
|
||||
}
|
||||
|
||||
public static boolean shouldClearArtifactOutputBeforeRebuild(Artifact artifact) {
|
||||
final String outputPath = artifact.getOutputPath();
|
||||
return !StringUtil.isEmpty(outputPath) && artifact.getRootElement() instanceof ArtifactRootElement<?>;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user