From 06f261c307d9455f384b110f12364d48e7871548 Mon Sep 17 00:00:00 2001 From: "Vladislav.Soroka" Date: Tue, 27 May 2014 12:01:22 +0400 Subject: [PATCH] Maven: artifact's manifest generation support related issues: http://youtrack.jetbrains.com/issue/IDEA-82725 http://youtrack.jetbrains.com/issue/IDEA-91497 http://youtrack.jetbrains.com/issue/IDEA-47990 --- plugins/maven/lib/plexus-archiver-2.4.4.jar | Bin 0 -> 163961 bytes plugins/maven/maven.iml | 9 + .../maven/importing/ManifestImporter.java | 85 +++++ ...esourceCompilerConfigurationGenerator.java | 36 ++ .../idea/maven/utils/ManifestBuilder.java | 317 ++++++++++++++++++ .../src/main/resources/META-INF/plugin.xml | 1 + .../compiler/ManifestGenerationTest.java | 224 +++++++++++++ 7 files changed, 672 insertions(+) create mode 100644 plugins/maven/lib/plexus-archiver-2.4.4.jar create mode 100644 plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/ManifestImporter.java create mode 100644 plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/ManifestBuilder.java create mode 100644 plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/ManifestGenerationTest.java diff --git a/plugins/maven/lib/plexus-archiver-2.4.4.jar b/plugins/maven/lib/plexus-archiver-2.4.4.jar new file mode 100644 index 0000000000000000000000000000000000000000..1a73adb04868544174c9635b73526c386c5fa74e GIT binary patch literal 163961 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ÜcK`wtT1fJ_oc)v|!Lr1`LFD&{~ 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 + + + + + + + + + diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/ManifestImporter.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/ManifestImporter.java new file mode 100644 index 000000000000..65fb06cebfce --- /dev/null +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/ManifestImporter.java @@ -0,0 +1,85 @@ +/* + * Copyright 2000-2014 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jetbrains.idea.maven.importing; + +import com.intellij.openapi.extensions.ExtensionPointName; +import com.intellij.openapi.roots.DependencyScope; +import org.jdom.Element; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.jetbrains.idea.maven.model.MavenArtifact; +import org.jetbrains.idea.maven.project.MavenProject; + +import static org.jetbrains.idea.maven.utils.ManifestBuilder.getClasspathPrefix; + +/** + * @author Vladislav.Soroka + * @since 5/26/2014 + */ +public abstract class ManifestImporter { + public static ExtensionPointName EXTENSION_POINT_NAME = + ExtensionPointName.create("org.jetbrains.idea.maven.manifestImporter"); + + @NotNull + public static ManifestImporter getManifestImporter(@NotNull String packaging) { + for (ManifestImporter importer : EXTENSION_POINT_NAME.getExtensions()) { + if (importer.isApplicable(packaging)) { + return importer; + } + } + return new DefaultManifestImporter(); + } + + @NotNull + public String getClasspath(@NotNull MavenProject mavenProject, + @Nullable Element manifestConfiguration) { + StringBuilder classpath = new StringBuilder(); + String classpathPrefix = getClasspathPrefix(manifestConfiguration); + for (MavenArtifact mavenArtifact : mavenProject.getDependencies()) { + final DependencyScope scope = MavenModuleImporter.selectScope(mavenArtifact.getScope()); + if (scope.isForProductionRuntime()) { + if (classpath.length() > 0) { + classpath.append(" "); + } + classpath.append(classpathPrefix); + String artifactFileName = mavenArtifact.getArtifactId() + "-" + mavenArtifact.getVersion() + "." + mavenArtifact.getExtension(); + classpath.append(doGetClasspathItem(mavenProject, mavenArtifact, artifactFileName)); + } + } + return classpath.toString(); + } + + protected abstract boolean isApplicable(String packaging); + + protected abstract String doGetClasspathItem(@NotNull MavenProject mavenProject, + @NotNull MavenArtifact mavenArtifact, + @NotNull String artifactFileName); + + private static class DefaultManifestImporter extends ManifestImporter { + + @Override + protected boolean isApplicable(String packaging) { + return true; + } + + @Override + protected String doGetClasspathItem(@NotNull MavenProject mavenProject, + @NotNull MavenArtifact mavenArtifact, + @NotNull String artifactFileName) { + return artifactFileName; + } + } +} diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenResourceCompilerConfigurationGenerator.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenResourceCompilerConfigurationGenerator.java index 4a8365c3f830..86f73e9721fa 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenResourceCompilerConfigurationGenerator.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenResourceCompilerConfigurationGenerator.java @@ -7,14 +7,17 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleManager; import com.intellij.openapi.project.Project; +import com.intellij.openapi.projectRoots.Sdk; import com.intellij.openapi.roots.*; import com.intellij.openapi.util.Comparing; import com.intellij.openapi.util.JDOMUtil; import com.intellij.openapi.util.io.FileUtil; +import com.intellij.openapi.util.io.StreamUtil; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VfsUtil; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.packaging.impl.elements.ManifestFileUtil; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.xmlb.XmlSerializer; import org.jdom.Document; @@ -23,12 +26,14 @@ 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; +import org.jetbrains.idea.maven.utils.ManifestBuilder; import org.jetbrains.idea.maven.utils.MavenJDOMUtil; import org.jetbrains.idea.maven.utils.MavenUtil; import org.jetbrains.jps.maven.model.impl.*; import java.io.*; import java.util.*; +import java.util.jar.Manifest; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -146,6 +151,8 @@ public class MavenResourceCompilerConfigurationGenerator { } projectConfig.moduleConfigurations.put(module.getName(), resourceConfig); + + generateManifest(mavenProject, module); } addNonMavenResources(projectConfig); @@ -175,6 +182,35 @@ public class MavenResourceCompilerConfigurationGenerator { }); } + private static void generateManifest(@NotNull MavenProject mavenProject, @NotNull Module module) { + try { + String jdkVersion = null; + Sdk sdk = ModuleRootManager.getInstance(module).getSdk(); + if (sdk != null && (jdkVersion = sdk.getVersionString()) != null) { + final int quoteIndex = jdkVersion.indexOf('"'); + if (quoteIndex != -1) { + jdkVersion = jdkVersion.substring(quoteIndex + 1, jdkVersion.length() - 1); + } + } + Manifest manifest = new ManifestBuilder(mavenProject).withJdkVersion(jdkVersion).build(); + File manifestFile = new File(mavenProject.getBuildDirectory(), ManifestFileUtil.MANIFEST_FILE_NAME); + FileUtil.createIfDoesntExist(manifestFile); + OutputStream outputStream = new FileOutputStream(manifestFile); + try { + manifest.write(outputStream); + } + finally { + StreamUtil.closeStream(outputStream); + } + } + catch (ManifestBuilder.ManifestBuilderException e) { + LOG.error("Unable to generate artifact manifest", e); + } + catch (IOException e) { + LOG.error("Unable to save generated artifact manifest", e); + } + } + private Properties getFilteringProperties(MavenProject mavenProject) { final Properties properties = new Properties(); diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/ManifestBuilder.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/ManifestBuilder.java new file mode 100644 index 000000000000..eaeacedf72b0 --- /dev/null +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/ManifestBuilder.java @@ -0,0 +1,317 @@ +/* + * Copyright 2000-2014 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jetbrains.idea.maven.utils; + +import com.intellij.openapi.util.Pair; +import com.intellij.openapi.util.io.StreamUtil; +import com.intellij.openapi.util.text.StringUtil; +import com.intellij.util.containers.ContainerUtil; +import org.codehaus.plexus.archiver.jar.Manifest; +import org.codehaus.plexus.archiver.jar.ManifestException; +import org.jdom.Element; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.jetbrains.idea.maven.importing.ManifestImporter; +import org.jetbrains.idea.maven.project.MavenProject; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; +import java.util.jar.Attributes; + +import static org.codehaus.plexus.archiver.jar.Manifest.Attribute; + +/** + * @author Vladislav.Soroka + * @since 5/22/2014 + */ +public class ManifestBuilder { + + private static final Map PACKAGING_PLUGINS = ContainerUtil.newHashMap( + Pair.create("jar", "maven-jar-plugin"), + Pair.create("ejb", "maven-ejb-plugin"), + Pair.create("ejb-client", "maven-ejb-plugin"), + Pair.create("war", "maven-war-plugin"), + Pair.create("ear", "maven-ear-plugin") + ); + + @NotNull private final MavenProject myMavenProject; + @Nullable private String myJdkVersion; + + public ManifestBuilder(@NotNull MavenProject mavenProject) { + myMavenProject = mavenProject; + } + + public ManifestBuilder withJdkVersion(String jdkVersion) { + myJdkVersion = jdkVersion; + return this; + } + + @NotNull + public java.util.jar.Manifest build() throws ManifestBuilderException { + try { + Element mavenPackagingPluginConfiguration = null; + final String packaging = myMavenProject.getPackaging(); + if (StringUtil.isEmpty(packaging)) { + mavenPackagingPluginConfiguration = myMavenProject.getPluginConfiguration("org.apache.maven.plugins", "maven-jar-plugin"); + } + else { + final String pluginArtifactId = PACKAGING_PLUGINS.get(StringUtil.toLowerCase(packaging)); + if (pluginArtifactId != null) { + mavenPackagingPluginConfiguration = myMavenProject.getPluginConfiguration("org.apache.maven.plugins", pluginArtifactId); + } + } + + final Element mavenArchiveConfiguration = + mavenPackagingPluginConfiguration != null ? mavenPackagingPluginConfiguration.getChild("archive") : null; + + if (mavenArchiveConfiguration == null) return getDefaultManifest(Collections.emptyMap()); + + final Element manifestEntries = mavenArchiveConfiguration.getChild("manifestEntries"); + Map entries = getManifestEntries(manifestEntries); + + final Element manifestConfiguration = mavenArchiveConfiguration.getChild("manifest"); + final Manifest configuredManifest = getConfiguredManifest(myMavenProject, manifestConfiguration, entries); + + if (!entries.isEmpty()) { + addManifestEntries(configuredManifest, entries); + } + + addCustomManifestSections(configuredManifest, mavenArchiveConfiguration); + + Manifest finalManifest = getDefaultManifest(entries); + // merge configured manifest + merge(finalManifest, configuredManifest); + + // merge user supplied manifest + final Manifest userSuppliedManifest = getUserSuppliedManifest(mavenArchiveConfiguration); + merge(finalManifest, userSuppliedManifest); + return finalManifest; + } + catch (ManifestException e) { + throw new ManifestBuilderException(e); + } + } + + @NotNull + public static String getClasspathPrefix(@Nullable Element manifestConfiguration) { + String classpathPrefix = MavenJDOMUtil.findChildValueByPath(manifestConfiguration, "classpathPrefix", "").replaceAll("\\\\", "/"); + if (classpathPrefix.length() != 0 && !classpathPrefix.endsWith("/")) { + classpathPrefix += "/"; + } + return classpathPrefix; + } + + + private static Map getManifestEntries(Element manifestEntries) { + boolean hasManifestEntries = manifestEntries != null && manifestEntries.getContentSize() > 0; + Map entries = hasManifestEntries ? + new HashMap(manifestEntries.getContentSize()) : + Collections.emptyMap(); + if (hasManifestEntries) { + for (Element element : manifestEntries.getChildren()) { + entries.put(element.getName(), element.getTextTrim()); + } + } + return entries; + } + + private static void addCustomManifestSections(@NotNull Manifest manifest, @NotNull Element mavenArchiveConfiguration) + throws ManifestException { + + for (Element section : MavenJDOMUtil.findChildrenByPath(mavenArchiveConfiguration, "manifestSections", "manifestSection")) { + Manifest.Section theSection = new Manifest.Section(); + + final String sectionName = MavenJDOMUtil.findChildValueByPath(section, "name"); + theSection.setName(sectionName); + + final Element manifestEntries = section.getChild("manifestEntries"); + Map entries = getManifestEntries(manifestEntries); + + if (!entries.isEmpty()) { + for (Map.Entry entry : entries.entrySet()) { + Attribute attr = new Attribute(entry.getKey(), entry.getValue()); + theSection.addConfiguredAttribute(attr); + } + } + manifest.addConfiguredSection(theSection); + } + } + + @NotNull + private Manifest getDefaultManifest(@NotNull Map entries) throws ManifestException { + Manifest finalManifest = new Manifest(); + addManifestAttribute(finalManifest, entries, "Created-By", "IntelliJ IDEA"); + addManifestAttribute(finalManifest, entries, "Built-By", System.getProperty("user.name")); + if (!StringUtil.isEmpty(myJdkVersion)) { + addManifestAttribute(finalManifest, entries, "Build-Jdk", myJdkVersion); + } + return finalManifest; + } + + private static void addManifestEntries(@NotNull Manifest manifest, @NotNull Map entries) + throws ManifestException { + if (!entries.isEmpty()) { + for (Map.Entry entry : entries.entrySet()) { + Attribute attr = manifest.getMainSection().getAttribute(entry.getKey()); + if ("Class-Path".equals(entry.getKey()) && attr != null) { + // Merge the user-supplied Class-Path value with the programmatically + // generated Class-Path. Note that the user-supplied value goes first + // so that resources there will override any in the standard Class-Path. + attr.setValue(entry.getValue() + " " + attr.getValue()); + } + else { + addManifestAttribute(manifest, entry.getKey(), entry.getValue()); + } + } + } + + Set keys = entries.keySet(); + for (String key : keys) { + String value = entries.get(key); + Attribute attr = manifest.getMainSection().getAttribute(key); + if (key.equals("Class-Path") && attr != null) { + // Merge the user-supplied Class-Path value with the programmatically + // generated Class-Path. Note that the user-supplied value goes first + // so that resources there will override any in the standard Class-Path. + attr.setValue(value + " " + attr.getValue()); + } + else { + addManifestAttribute(manifest, key, value); + } + } + } + + @Nullable + private Manifest getUserSuppliedManifest(@Nullable Element mavenArchiveConfiguration) { + Manifest manifest = null; + String manifestPath = MavenJDOMUtil.findChildValueByPath(mavenArchiveConfiguration, "manifestFile"); + if (manifestPath != null) { + File manifestFile = new File(manifestPath); + if (!manifestFile.isAbsolute()) { + manifestFile = new File(myMavenProject.getDirectory(), manifestPath); + } + if (manifestFile.isFile()) { + FileInputStream fis = null; + try { + //noinspection IOResourceOpenedButNotSafelyClosed + fis = new FileInputStream(manifestFile); + manifest = new Manifest(fis); + } + catch (IOException ignore) { + } + finally { + StreamUtil.closeStream(fis); + } + } + } + + return manifest; + } + + @NotNull + private static Manifest getConfiguredManifest(@NotNull MavenProject mavenProject, + @Nullable Element manifestConfiguration, + @NotNull Map entries) throws ManifestException { + final Manifest manifest = new Manifest(); + + boolean isAddDefaultSpecificationEntries = + Boolean.valueOf(MavenJDOMUtil.findChildValueByPath(manifestConfiguration, "addDefaultSpecificationEntries", "false")); + if (isAddDefaultSpecificationEntries) { + addManifestAttribute(manifest, entries, "Specification-Title", mavenProject.getName()); + addManifestAttribute(manifest, entries, "Specification-Version", mavenProject.getMavenId().getVersion()); + } + + boolean isAddDefaultImplementationEntries = + Boolean.valueOf(MavenJDOMUtil.findChildValueByPath(manifestConfiguration, "addDefaultImplementationEntries", "false")); + if (isAddDefaultImplementationEntries) { + addManifestAttribute(manifest, entries, "Implementation-Title", mavenProject.getName()); + addManifestAttribute(manifest, entries, "Implementation-Version", mavenProject.getMavenId().getVersion()); + addManifestAttribute(manifest, entries, "Implementation-Vendor-Id", mavenProject.getMavenId().getGroupId()); + } + + String packageName = MavenJDOMUtil.findChildValueByPath(manifestConfiguration, "packageName"); + if (packageName != null) { + addManifestAttribute(manifest, entries, "Package", packageName); + } + + String mainClass = MavenJDOMUtil.findChildValueByPath(manifestConfiguration, "mainClass"); + if (!StringUtil.isEmpty(mainClass)) { + addManifestAttribute(manifest, entries, "Main-Class", mainClass); + } + + boolean isAddClasspath = Boolean.valueOf(MavenJDOMUtil.findChildValueByPath(manifestConfiguration, "addClasspath", "false")); + if (isAddClasspath) { + final ManifestImporter manifestImporter = ManifestImporter.getManifestImporter(mavenProject.getPackaging()); + String classpath = manifestImporter.getClasspath(mavenProject, manifestConfiguration); + if (!classpath.isEmpty()) { + addManifestAttribute(manifest, "Class-Path", classpath); + } + } + return manifest; + } + + private static void addManifestAttribute(@NotNull Manifest manifest, @NotNull Map map, String key, String value) + throws ManifestException { + if (map.containsKey(key)) return; + addManifestAttribute(manifest, key, value); + } + + private static void addManifestAttribute(@NotNull Manifest manifest, String key, String value) throws ManifestException { + if (!StringUtil.isEmpty(value)) { + Attribute attr = new Attribute(key, value); + manifest.addConfiguredAttribute(attr); + } + } + + private static void merge(@NotNull java.util.jar.Manifest target, @Nullable java.util.jar.Manifest other) { + if (other != null) { + mergeAttributes(target.getMainAttributes(), other.getMainAttributes()); + + for (Map.Entry o : other.getEntries().entrySet()) { + Attributes ourSection = target.getAttributes(o.getKey()); + Attributes otherSection = o.getValue(); + if (ourSection == null) { + if (otherSection != null) { + target.getEntries().put(o.getKey(), (Attributes)otherSection.clone()); + } + } + else { + mergeAttributes(ourSection, otherSection); + } + } + } + } + + private static void mergeAttributes(@NotNull Attributes target, @NotNull Attributes section) { + for (Object o : section.keySet()) { + Attributes.Name key = (Attributes.Name)o; + final Object value = section.get(o); + target.put(key, value); + } + } + + + public static class ManifestBuilderException extends Exception { + public ManifestBuilderException(Throwable cause) { + super(cause); + } + } +} diff --git a/plugins/maven/src/main/resources/META-INF/plugin.xml b/plugins/maven/src/main/resources/META-INF/plugin.xml index 303c92f1b56c..9580f83405ed 100644 --- a/plugins/maven/src/main/resources/META-INF/plugin.xml +++ b/plugins/maven/src/main/resources/META-INF/plugin.xml @@ -21,6 +21,7 @@ + diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/ManifestGenerationTest.java b/plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/ManifestGenerationTest.java new file mode 100644 index 000000000000..bdb025bf3edf --- /dev/null +++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/ManifestGenerationTest.java @@ -0,0 +1,224 @@ +/* + * Copyright 2000-2014 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jetbrains.idea.maven.compiler; + +import com.intellij.openapi.module.Module; +import com.intellij.openapi.projectRoots.Sdk; +import com.intellij.openapi.roots.ModuleRootManager; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * @author Vladislav.Soroka + * @since 5/23/2014 + */ +public class ManifestGenerationTest extends MavenCompilingTestCase { + @Override + protected boolean useJps() { + return true; + } + + public void testBasic() throws Exception { + importProject("test" + + "project" + + "1"); + + compileModules("project"); + + assertSameLinesWithFile(getProjectPath() + "/target/MANIFEST.MF", + "Manifest-Version: 1.0\n" + + "Build-Jdk: " + extractJdkVersion(getModule("project")) + "\n" + + "Built-By: " + System.getProperty("user.name") + "\n" + + "Created-By: IntelliJ IDEA"); + } + + public void testClasspathEntry() throws Exception { + importProject("test" + + "project" + + "1" + + + "" + + " " + + " test" + + " other-project" + + " 1" + + " " + + "" + + + "" + + " " + + " " + + " maven-jar-plugin" + + " 2.4" + + " " + + " " + + " " + + " true" + + " lib" + + " " + + " " + + " " + + " " + + " " + + ""); + + compileModules("project"); + + assertSameLinesWithFile(getProjectPath() + "/target/MANIFEST.MF", + "Manifest-Version: 1.0\n" + + "Class-Path: lib/other-project-1.jar\n" + + "Build-Jdk: " + extractJdkVersion(getModule("project")) + "\n" + + "Built-By: " + System.getProperty("user.name") + "\n" + + "Created-By: IntelliJ IDEA\n"); + } + + public void testDefaultEntries() throws Exception { + importProject("test" + + "project" + + "1" + + + "" + + " " + + " test" + + " other-project" + + " 1" + + " " + + "" + + + "" + + " " + + " " + + " maven-jar-plugin" + + " 2.4" + + " " + + " " + + " " + + " true" + + " true" + + " " + + " " + + " " + + " " + + " " + + ""); + + compileModules("project"); + + assertSameLinesWithFile(getProjectPath() + "/target/MANIFEST.MF", + "Manifest-Version: 1.0\n" + + "Implementation-Version: 1\n" + + "Implementation-Vendor-Id: test\n" + + "Build-Jdk: " + extractJdkVersion(getModule("project")) + "\n" + + "Built-By: " + System.getProperty("user.name") + "\n" + + "Created-By: IntelliJ IDEA\n" + + "Specification-Version: 1"); + } + + + public void testManifestEntries() throws Exception { + importProject("test" + + "project" + + "1" + + + "" + + " " + + " " + + " maven-jar-plugin" + + " 2.4" + + " " + + " " + + " " + + " some.package" + + " other entry value " + + " " + + " " + + " " + + " " + + " " + + ""); + + compileModules("project"); + + assertSameLinesWithFile(getProjectPath() + "/target/MANIFEST.MF", + "Manifest-Version: 1.0\n" + + "otherEntry: other entry value\n" + + "Dependencies: some.package\n" + + "Build-Jdk: " + extractJdkVersion(getModule("project")) + "\n" + + "Built-By: " + System.getProperty("user.name") + "\n" + + "Created-By: IntelliJ IDEA"); + } + + public void testManifestSections() throws Exception { + importProject("test" + + "project" + + "1" + + + "" + + " " + + " " + + " maven-jar-plugin" + + " 2.4" + + " " + + " " + + " " + + " " + + " org/test/Some.class" + + " " + + " true" + + " " + + " " + + " " + + " org/test/SomeOther.class" + + " " + + " true" + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + ""); + + compileModules("project"); + + assertSameLinesWithFile(getProjectPath() + "/target/MANIFEST.MF", + "Manifest-Version: 1.0\n" + + "Build-Jdk: " + extractJdkVersion(getModule("project")) + "\n" + + "Built-By: " + System.getProperty("user.name") + "\n" + + "Created-By: IntelliJ IDEA\n" + + "\n" + + "Name: org/test/SomeOther.class\n" + + "Java-Bean: true\n" + + "\n" + + "Name: org/test/Some.class\n" + + "Java-Bean: true"); + } + + @Nullable + public static String extractJdkVersion(@NotNull Module module) { + String jdkVersion = null; + Sdk sdk = ModuleRootManager.getInstance(module).getSdk(); + if (sdk != null && (jdkVersion = sdk.getVersionString()) != null) { + final int quoteIndex = jdkVersion.indexOf('"'); + if (quoteIndex != -1) { + jdkVersion = jdkVersion.substring(quoteIndex + 1, jdkVersion.length() - 1); + } + } + + return jdkVersion; + } +}