mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-25934 Maven: Webapp resources filtering
store web resources configuration.
This commit is contained in:
+2
@@ -71,6 +71,8 @@ public class MavenModuleResourceConfiguration {
|
||||
@AbstractCollection(surroundWithTag = false, elementTag = "resource")
|
||||
public List<ResourceRootConfiguration> testResources = new ArrayList<ResourceRootConfiguration>();
|
||||
|
||||
public String webArtifactName;
|
||||
|
||||
@Tag("web-resources")
|
||||
@AbstractCollection(surroundWithTag = false, elementTag = "resource")
|
||||
public List<ResourceRootConfiguration> webResources = new ArrayList<ResourceRootConfiguration>();
|
||||
|
||||
+11
-3
@@ -17,6 +17,7 @@ import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.xmlb.XmlSerializer;
|
||||
import org.jdom.Document;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.idea.maven.dom.references.MavenFilteredPropertyPsiReferenceProvider;
|
||||
import org.jetbrains.idea.maven.model.MavenId;
|
||||
import org.jetbrains.idea.maven.model.MavenResource;
|
||||
@@ -118,7 +119,7 @@ public class MavenResourceCompilerConfigurationGenerator {
|
||||
addResources(resourceConfig.resources, mavenProject.getResources());
|
||||
addResources(resourceConfig.testResources, mavenProject.getTestResources());
|
||||
|
||||
addWebResources(resourceConfig.webResources, mavenProject);
|
||||
addWebResources(module, resourceConfig, mavenProject);
|
||||
|
||||
resourceConfig.filteringExclusions.addAll(MavenProjectsTree.getFilterExclusions(mavenProject));
|
||||
|
||||
@@ -224,20 +225,27 @@ public class MavenResourceCompilerConfigurationGenerator {
|
||||
}
|
||||
}
|
||||
|
||||
private static void addWebResources(final List<ResourceRootConfiguration> container, MavenProject mavenProject) {
|
||||
private static void addWebResources(@NotNull Module module, MavenModuleResourceConfiguration moduleCfg, MavenProject mavenProject) {
|
||||
Element warCfg = mavenProject.getPluginConfiguration("org.apache.maven.plugins", "maven-war-plugin");
|
||||
if (warCfg == null) return;
|
||||
|
||||
Element webResources = warCfg.getChild("webResources");
|
||||
if (webResources == null) return;
|
||||
|
||||
moduleCfg.webArtifactName = MavenUtil.getArtifactName("war", module, true);
|
||||
|
||||
for (Element resource : webResources.getChildren("resource")) {
|
||||
ResourceRootConfiguration r = new ResourceRootConfiguration();
|
||||
String directory = resource.getChildTextTrim("directory");
|
||||
if (StringUtil.isEmptyOrSpaces(directory)) continue;
|
||||
|
||||
if (!FileUtil.isAbsolute(directory)) {
|
||||
directory = mavenProject.getDirectory() + '/' + directory;
|
||||
}
|
||||
|
||||
r.directory = directory;
|
||||
r.isFiltered = Boolean.parseBoolean(resource.getChildTextTrim("filtering"));
|
||||
|
||||
r.targetPath = resource.getChildTextTrim("targetPath");
|
||||
|
||||
Element includes = resource.getChild("includes");
|
||||
@@ -260,7 +268,7 @@ public class MavenResourceCompilerConfigurationGenerator {
|
||||
}
|
||||
}
|
||||
|
||||
container.add(r);
|
||||
moduleCfg.webResources.add(r);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -927,4 +927,9 @@ public class MavenUtil {
|
||||
return (V)res;
|
||||
}
|
||||
|
||||
public static String getArtifactName(String packaging, Module module, boolean exploded) {
|
||||
final String baseName = module.getName() + ":" + packaging;
|
||||
return exploded ? baseName + " exploded" : baseName;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user