Coverage Report - org.apache.maven.model.converter.plugins.PCCJar
 
Classes in this File Line Coverage Branch Coverage Complexity
PCCJar
92%
24/26
60%
6/10
2,667
 
 1  
 package org.apache.maven.model.converter.plugins;
 2  
 
 3  
 /*
 4  
  * Licensed to the Apache Software Foundation (ASF) under one
 5  
  * or more contributor license agreements.  See the NOTICE file
 6  
  * distributed with this work for additional information
 7  
  * regarding copyright ownership.  The ASF licenses this file
 8  
  * to you under the Apache License, Version 2.0 (the
 9  
  * "License"); you may not use this file except in compliance
 10  
  * with the License.  You may obtain a copy of the License at
 11  
  *
 12  
  *   http://www.apache.org/licenses/LICENSE-2.0
 13  
  *
 14  
  * Unless required by applicable law or agreed to in writing,
 15  
  * software distributed under the License is distributed on an
 16  
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 17  
  * KIND, either express or implied.  See the License for the
 18  
  * specific language governing permissions and limitations
 19  
  * under the License.
 20  
  */
 21  
 
 22  
 import org.apache.maven.model.converter.ProjectConverterException;
 23  
 import org.codehaus.plexus.util.xml.Xpp3Dom;
 24  
 
 25  
 import java.util.Properties;
 26  
 import java.util.StringTokenizer;
 27  
 
 28  
 /**
 29  
  * A <code>PluginConfigurationConverter</code> for the maven-jar-plugin.
 30  
  *
 31  
  * @plexus.component role="org.apache.maven.model.converter.plugins.PluginConfigurationConverter" role-hint="jar"
 32  
  *
 33  
  * @author Dennis Lundberg
 34  
  * @version $Id: PCCJar.java 661727 2008-05-30 14:21:49Z bentmann $
 35  
  */
 36  1
 public class PCCJar
 37  
     extends AbstractPluginConfigurationConverter
 38  
 {
 39  
     /**
 40  
      * @see org.apache.maven.model.converter.plugins.AbstractPluginConfigurationConverter#getArtifactId()
 41  
      */
 42  
     public String getArtifactId()
 43  
     {
 44  0
         return "maven-jar-plugin";
 45  
     }
 46  
 
 47  
     public String getType()
 48  
     {
 49  0
         return TYPE_BUILD_PLUGIN;
 50  
     }
 51  
 
 52  
     protected void buildConfiguration( Xpp3Dom configuration, org.apache.maven.model.v3_0_0.Model v3Model,
 53  
                                        Properties projectProperties )
 54  
         throws ProjectConverterException
 55  
     {
 56  1
         Xpp3Dom archive = new Xpp3Dom( "archive" );
 57  1
         addConfigurationChild( archive, projectProperties, "maven.jar.compress", "compress" );
 58  1
         addConfigurationChild( archive, projectProperties, "maven.jar.index", "index" );
 59  
 
 60  1
         Xpp3Dom manifest = new Xpp3Dom( "manifest" );
 61  1
         addConfigurationChild( manifest, projectProperties, "maven.jar.manifest.classpath.add", "addClasspath" );
 62  1
         addConfigurationChild( manifest, projectProperties, "maven.jar.manifest.extensions.add", "addExtensions" );
 63  1
         if ( manifest.getChildCount() > 0 )
 64  
         {
 65  1
             archive.addChild( manifest );
 66  
         }
 67  1
         addConfigurationChild( manifest, projectProperties, "maven.jar.mainclass", "mainClass" );
 68  
 
 69  1
         String manifestEntriesProperty = projectProperties.getProperty( "maven.jar.manifest.attributes.list" );
 70  1
         if ( manifestEntriesProperty != null )
 71  
         {
 72  1
             Xpp3Dom manifestEntries = new Xpp3Dom( "manifestEntries" );
 73  
 
 74  
             // Loop through property and add values to manifestEntries
 75  1
             StringTokenizer tokenizer = new StringTokenizer( manifestEntriesProperty, "," );
 76  3
             while ( tokenizer.hasMoreTokens() )
 77  
             {
 78  2
                 String attribute = tokenizer.nextToken();
 79  2
                 addConfigurationChild( manifestEntries, projectProperties, "maven.jar.manifest.attribute." + attribute,
 80  
                                        attribute );
 81  
             }
 82  
 
 83  1
             if ( manifestEntries.getChildCount() > 0 )
 84  
             {
 85  1
                 archive.addChild( manifestEntries );
 86  
             }
 87  
         }
 88  
 
 89  1
         addConfigurationChild( archive, projectProperties, "maven.jar.manifest", "manifestFile" );
 90  
 
 91  1
         if ( archive.getChildCount() > 0 )
 92  
         {
 93  1
             configuration.addChild( archive );
 94  
         }
 95  
 
 96  1
         addConfigurationChild( configuration, projectProperties, "maven.jar.final.name", "finalName" );
 97  1
     }
 98  
 }