View Javadoc

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  
27  /**
28   * @plexus.component role="org.apache.maven.model.converter.plugins.PluginConfigurationConverter" role-hint="compiler"
29   *
30   * @author Fabrizio Giustina
31   * @author Dennis Lundberg
32   * @version $Id: PCCCompiler.java 661727 2008-05-30 14:21:49Z bentmann $
33   */
34  public class PCCCompiler
35      extends AbstractPluginConfigurationConverter
36  {
37      /**
38       * @see org.apache.maven.model.converter.plugins.AbstractPluginConfigurationConverter#getArtifactId()
39       */
40      public String getArtifactId()
41      {
42          return "maven-compiler-plugin";
43      }
44  
45      public String getType()
46      {
47          return TYPE_BUILD_PLUGIN;
48      }
49  
50      protected void addOnOffConfigurationChild( Xpp3Dom configuration, Properties projectProperties,
51                                                 String mavenOneProperty, String mavenTwoElement )
52          throws ProjectConverterException
53      {
54          String value = projectProperties.getProperty( mavenOneProperty );
55          if ( value != null )
56          {
57              addConfigurationChild( configuration, mavenTwoElement, PropertyUtils.convertOnOffToBoolean( value ) );
58          }
59      }
60  
61      protected void buildConfiguration( Xpp3Dom configuration, org.apache.maven.model.v3_0_0.Model v3Model,
62                                         Properties projectProperties )
63          throws ProjectConverterException
64      {
65          addOnOffConfigurationChild( configuration, projectProperties, "maven.compile.debug", "debug" );
66  
67          addConfigurationChild( configuration, projectProperties, "maven.compile.encoding", "encoding" );
68  
69          addConfigurationChild( configuration, projectProperties, "maven.compile.executable", "executable" );
70  
71          String fork = projectProperties.getProperty( "maven.compile.fork" );
72          if ( fork != null )
73          {
74              addConfigurationChild( configuration, "fork", PropertyUtils.convertYesNoToBoolean( fork ) );
75          }
76  
77          addConfigurationChild( configuration, projectProperties, "maven.compile.memoryMaximumSize", "maxmem" );
78  
79          addConfigurationChild( configuration, projectProperties, "maven.compile.memoryInitialSize", "meminitial" );
80  
81          addOnOffConfigurationChild( configuration, projectProperties, "maven.compile.optimize", "optimize" );
82  
83          addOnOffConfigurationChild( configuration, projectProperties, "maven.compile.deprecation", "showDeprecation" );
84  
85          String nowarn = projectProperties.getProperty( "maven.compile.nowarn" );
86          if ( nowarn != null )
87          {
88              String convertedNowarn = PropertyUtils.convertOnOffToBoolean( nowarn );
89              if ( convertedNowarn != null )
90              {
91                  String showWarnings = PropertyUtils.invertBoolean( convertedNowarn );
92                  addConfigurationChild( configuration, "showWarnings", showWarnings );
93              }
94          }
95  
96          addConfigurationChild( configuration, projectProperties, "maven.compile.source", "source" );
97  
98          addConfigurationChild( configuration, projectProperties, "maven.compile.target", "target" );
99  
100         String value = projectProperties.getProperty( "maven.compile.verbose" );
101         if ( value != null )
102         {
103             addConfigurationChild( configuration, "verbose", PropertyUtils.convertYesNoToBoolean( value ) );
104         }
105     }
106 }