Author: khmarbaise
Date: Sun Apr 10 17:27:20 2016
New Revision: 1738445
URL: http://svn.apache.org/viewvc?rev=1738445&view=rev
Log:
o Refactored Code
- introduced some handle methods to get shorter method length.
o Removed System.out.println from test code
Modified:
maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java
maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java
Modified:
maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java
URL:
http://svn.apache.org/viewvc/maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java?rev=1738445&r1=1738444&r2=1738445&view=diff
==============================================================================
---
maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java
(original)
+++
maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java
Sun Apr 10 17:27:20 2016
@@ -275,32 +275,7 @@ public class MavenArchiver
{
List<ValueSource> valueSources = new
ArrayList<ValueSource>();
- valueSources.add( new PrefixedObjectValueSource(
ARTIFACT_EXPRESSION_PREFIXES, artifact,
- true
) );
- valueSources.add( new PrefixedObjectValueSource(
ARTIFACT_EXPRESSION_PREFIXES,
-
artifact.getArtifactHandler(), true ) );
-
- Properties extraExpressions = new Properties();
- // FIXME: This query method SHOULD NOT affect the
internal
- // state of the artifact version, but it does.
- if ( !artifact.isSnapshot() )
- {
- extraExpressions.setProperty( "baseVersion",
artifact.getVersion() );
- }
-
- extraExpressions.setProperty( "groupIdPath",
artifact.getGroupId().replace( '.', '/' ) );
- if ( StringUtils.isNotEmpty( artifact.getClassifier()
) )
- {
- extraExpressions.setProperty( "dashClassifier",
"-" + artifact.getClassifier() );
- extraExpressions.setProperty( "dashClassifier?",
"-" + artifact.getClassifier() );
- }
- else
- {
- extraExpressions.setProperty( "dashClassifier", ""
);
- extraExpressions.setProperty( "dashClassifier?",
"" );
- }
- valueSources.add( new PrefixedPropertiesValueSource(
ARTIFACT_EXPRESSION_PREFIXES,
-
extraExpressions, true ) );
+ handleExtraExpression( artifact, valueSources );
for ( ValueSource vs : valueSources )
{
@@ -386,42 +361,12 @@ public class MavenArchiver
if ( config.isAddDefaultSpecificationEntries() )
{
- addManifestAttribute( m, entries, "Specification-Title",
project.getName() );
-
- try
- {
- ArtifactVersion version =
project.getArtifact().getSelectedVersion();
- String specVersion = String.format( "%s.%s",
version.getMajorVersion(), version.getMinorVersion() );
- addManifestAttribute( m, entries, "Specification-Version",
specVersion );
- }
- catch ( OverConstrainedVersionException e )
- {
- throw new ManifestException( "Failed to get selected artifact
version to calculate"
- + " the specification version: " + e.getMessage() );
- }
-
- if ( project.getOrganization() != null )
- {
- addManifestAttribute( m, entries, "Specification-Vendor",
project.getOrganization().getName() );
- }
+ handleSpecificationEntries( project, entries, m );
}
if ( config.isAddDefaultImplementationEntries() )
{
- addManifestAttribute( m, entries, "Implementation-Title",
project.getName() );
- addManifestAttribute( m, entries, "Implementation-Version",
project.getVersion() );
- // MJAR-5
- addManifestAttribute( m, entries, "Implementation-Vendor-Id",
project.getGroupId() );
-
- if ( project.getOrganization() != null )
- {
- addManifestAttribute( m, entries, "Implementation-Vendor",
project.getOrganization().getName() );
- }
-
- if ( project.getUrl() != null )
- {
- addManifestAttribute( m, entries, "Implementation-URL",
project.getUrl() );
- }
+ handleImplementationEntries( project, entries, m );
}
String mainClass = config.getMainClass();
@@ -430,57 +375,134 @@ public class MavenArchiver
addManifestAttribute( m, entries, "Main-Class", mainClass );
}
- // Added extensions
if ( config.isAddExtensions() )
{
- // TODO: this is only for applets - should we distinguish them as
a packaging?
- StringBuilder extensionsList = new StringBuilder();
- Set<Artifact> artifacts = (Set<Artifact>) project.getArtifacts();
+ handleExtensions( project, entries, m );
+ }
+
+ return m;
+ }
+
+ private void handleExtraExpression( Artifact artifact, List<ValueSource>
valueSources )
+ {
+ valueSources.add( new PrefixedObjectValueSource(
ARTIFACT_EXPRESSION_PREFIXES, artifact,
+ true ) );
+ valueSources.add( new PrefixedObjectValueSource(
ARTIFACT_EXPRESSION_PREFIXES,
+
artifact.getArtifactHandler(), true ) );
+
+ Properties extraExpressions = new Properties();
+ // FIXME: This query method SHOULD NOT affect the internal
+ // state of the artifact version, but it does.
+ if ( !artifact.isSnapshot() )
+ {
+ extraExpressions.setProperty( "baseVersion", artifact.getVersion()
);
+ }
+
+ extraExpressions.setProperty( "groupIdPath",
artifact.getGroupId().replace( '.', '/' ) );
+ if ( StringUtils.isNotEmpty( artifact.getClassifier() ) )
+ {
+ extraExpressions.setProperty( "dashClassifier", "-" +
artifact.getClassifier() );
+ extraExpressions.setProperty( "dashClassifier?", "-" +
artifact.getClassifier() );
+ }
+ else
+ {
+ extraExpressions.setProperty( "dashClassifier", "" );
+ extraExpressions.setProperty( "dashClassifier?", "" );
+ }
+ valueSources.add( new PrefixedPropertiesValueSource(
ARTIFACT_EXPRESSION_PREFIXES,
+ extraExpressions,
true ) );
+ }
+
+ private void handleExtensions( MavenProject project, Map<String, String>
entries, Manifest m )
+ throws ManifestException
+ {
+ // TODO: this is only for applets - should we distinguish them as a
packaging?
+ StringBuilder extensionsList = new StringBuilder();
+ Set<Artifact> artifacts = (Set<Artifact>) project.getArtifacts();
- for ( Artifact artifact : artifacts )
+ for ( Artifact artifact : artifacts )
+ {
+ if ( !Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
{
- if ( !Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
+ if ( "jar".equals( artifact.getType() ) )
{
- if ( "jar".equals( artifact.getType() ) )
+ if ( extensionsList.length() > 0 )
{
- if ( extensionsList.length() > 0 )
- {
- extensionsList.append( " " );
- }
- extensionsList.append( artifact.getArtifactId() );
+ extensionsList.append( " " );
}
+ extensionsList.append( artifact.getArtifactId() );
}
}
+ }
- if ( extensionsList.length() > 0 )
- {
- addManifestAttribute( m, entries, "Extension-List",
extensionsList.toString() );
- }
+ if ( extensionsList.length() > 0 )
+ {
+ addManifestAttribute( m, entries, "Extension-List",
extensionsList.toString() );
+ }
- for ( Object artifact1 : artifacts )
- {
- // TODO: the correct solution here would be to have an
extension type, and to read
- // the real extension values either from the artifact's
manifest or some part of the POM
- Artifact artifact = (Artifact) artifact1;
- if ( "jar".equals( artifact.getType() ) )
- {
- String artifactId = artifact.getArtifactId().replace( '.',
'_' );
- String ename = artifactId + "-Extension-Name";
- addManifestAttribute( m, entries, ename,
artifact.getArtifactId() );
- String iname = artifactId + "-Implementation-Version";
- addManifestAttribute( m, entries, iname,
artifact.getVersion() );
+ for ( Object artifact1 : artifacts )
+ {
+ // TODO: the correct solution here would be to have an extension
type, and to read
+ // the real extension values either from the artifact's manifest
or some part of the POM
+ Artifact artifact = (Artifact) artifact1;
+ if ( "jar".equals( artifact.getType() ) )
+ {
+ String artifactId = artifact.getArtifactId().replace( '.', '_'
);
+ String ename = artifactId + "-Extension-Name";
+ addManifestAttribute( m, entries, ename,
artifact.getArtifactId() );
+ String iname = artifactId + "-Implementation-Version";
+ addManifestAttribute( m, entries, iname, artifact.getVersion()
);
- if ( artifact.getRepository() != null )
- {
- iname = artifactId + "-Implementation-URL";
- String url = artifact.getRepository().getUrl() + "/" +
artifact.toString();
- addManifestAttribute( m, entries, iname, url );
- }
+ if ( artifact.getRepository() != null )
+ {
+ iname = artifactId + "-Implementation-URL";
+ String url = artifact.getRepository().getUrl() + "/" +
artifact.toString();
+ addManifestAttribute( m, entries, iname, url );
}
}
}
+ }
+
+ private void handleImplementationEntries( MavenProject project,
Map<String, String> entries, Manifest m )
+ throws ManifestException
+ {
+ addManifestAttribute( m, entries, "Implementation-Title",
project.getName() );
+ addManifestAttribute( m, entries, "Implementation-Version",
project.getVersion() );
+ // MJAR-5
+ addManifestAttribute( m, entries, "Implementation-Vendor-Id",
project.getGroupId() );
+
+ if ( project.getOrganization() != null )
+ {
+ addManifestAttribute( m, entries, "Implementation-Vendor",
project.getOrganization().getName() );
+ }
- return m;
+ if ( project.getUrl() != null )
+ {
+ addManifestAttribute( m, entries, "Implementation-URL",
project.getUrl() );
+ }
+ }
+
+ private void handleSpecificationEntries( MavenProject project, Map<String,
String> entries, Manifest m )
+ throws ManifestException
+ {
+ addManifestAttribute( m, entries, "Specification-Title",
project.getName() );
+
+ try
+ {
+ ArtifactVersion version =
project.getArtifact().getSelectedVersion();
+ String specVersion = String.format( "%s.%s",
version.getMajorVersion(), version.getMinorVersion() );
+ addManifestAttribute( m, entries, "Specification-Version",
specVersion );
+ }
+ catch ( OverConstrainedVersionException e )
+ {
+ throw new ManifestException( "Failed to get selected artifact
version to calculate"
+ + " the specification version: " + e.getMessage() );
+ }
+
+ if ( project.getOrganization() != null )
+ {
+ addManifestAttribute( m, entries, "Specification-Vendor",
project.getOrganization().getName() );
+ }
}
private void addCustomEntries( Manifest m, Map<String, String> entries,
ManifestConfiguration config )
Modified:
maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java
URL:
http://svn.apache.org/viewvc/maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java?rev=1738445&r1=1738444&r2=1738445&view=diff
==============================================================================
---
maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java
(original)
+++
maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java
Sun Apr 10 17:27:20 2016
@@ -111,12 +111,6 @@ public class MavenArchiverTest
assertNotNull( manifest.getMainAttributes() );
- for ( Map.Entry<String, Attributes> entry :
manifest.getEntries().entrySet() )
- {
- System.out.println( entry.getKey() + " " +
entry.getValue().getValue( "Extension-List" ) );
-
- }
-
assertEquals( null, manifest.getMainAttributes().getValue(
"Extension-List" ) );
MockArtifact artifact1 = new MockArtifact();