maven: manifest serialization/deserialization to/from xml fix

This commit is contained in:
Vladislav.Soroka
2015-04-16 14:52:36 +03:00
parent bb3cd90e39
commit 93b3356fcc
2 changed files with 9 additions and 3 deletions
@@ -58,7 +58,9 @@ public class MavenCommonArtifactRootCopyingHandlerProvider extends ArtifactRootC
projectConfiguration.moduleConfigurations.get(getModuleName(artifact.getName()));
if (moduleResourceConfiguration != null && moduleResourceConfiguration.manifest != null) {
try {
FileUtil.writeToFile(root, moduleResourceConfiguration.manifest);
final String manifest =
StringUtil.unescapeXml(moduleResourceConfiguration.manifest).replaceAll("\n\r|\n|\r", "\r\n") + "\r\n\r\n";
FileUtil.writeToFile(root, manifest);
}
catch (IOException e) {
LOG.debug(e);
@@ -23,6 +23,9 @@ import org.jdom.Document;
import org.jdom.Element;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.idea.maven.dom.MavenDomUtil;
import org.jetbrains.idea.maven.dom.MavenPropertyResolver;
import org.jetbrains.idea.maven.dom.model.MavenDomProjectModel;
import org.jetbrains.idea.maven.dom.references.MavenFilteredPropertyPsiReferenceProvider;
import org.jetbrains.idea.maven.model.MavenId;
import org.jetbrains.idea.maven.model.MavenResource;
@@ -222,8 +225,9 @@ public class MavenResourceCompilerConfigurationGenerator {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
try {
manifest.write(outputStream);
resourceConfig.manifest = outputStream.toString("UTF8");
MavenDomProjectModel domModel = MavenDomUtil.getMavenDomProjectModel(module.getProject(), mavenProject.getFile());
final String resolvedText = MavenPropertyResolver.resolve(outputStream.toString("UTF8"), domModel);
resourceConfig.manifest = StringUtil.escapeXml(resolvedText);
}
finally {
StreamUtil.closeStream(outputStream);