View Javadoc

1   package org.apache.maven.mkslib;
2   
3   /* ====================================================================
4    *   Licensed to the Apache Software Foundation (ASF) under one or more
5    *   contributor license agreements.  See the NOTICE file distributed with
6    *   this work for additional information regarding copyright ownership.
7    *   The ASF licenses this file to You under the Apache License, Version 2.0
8    *   (the "License"); you may not use this file except in compliance with
9    *   the License.  You may obtain a copy of the License at
10   *
11   *       http://www.apache.org/licenses/LICENSE-2.0
12   *
13   *   Unless required by applicable law or agreed to in writing, software
14   *   distributed under the License is distributed on an "AS IS" BASIS,
15   *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   *   See the License for the specific language governing permissions and
17   *   limitations under the License.
18   * ====================================================================
19   */
20  
21  
22  import java.util.Date;
23  
24  import org.apache.maven.changelog.AbstractChangeLogGenerator;
25  import org.apache.maven.util.RepositoryUtils;
26  import org.apache.tools.ant.types.Commandline;
27  
28  /**
29   * A log-generator for the mks commandline tool.
30   *
31   * It supports an input file with <code>
32   *
33   * @author <a href="mailto:c.jerolimov@tarent.de">Christoph Jerolimov</a>
34   * @version $Id: MksChangeLogGenerator.java 532339 2007-04-25 12:28:56Z ltheussl $
35   */
36  public class MksChangeLogGenerator extends AbstractChangeLogGenerator
37  {
38  
39      /**
40       * @return the mks command line to be executed.
41       */
42      protected Commandline getScmLogCommand()
43      {
44          String[] tokens =
45              RepositoryUtils.splitSCMConnection( getConnection() );
46  
47          Commandline commandline = new Commandline();
48  
49          commandline.setExecutable( tokens[2] );
50  
51          for ( int i = 3; i < tokens.length; i++ )
52          {
53              commandline.createArgument().setValue( tokens[i] );
54          }
55  
56          return commandline;
57      }
58  
59      /**
60       * Construct the MKS command-line argument that is used to specify the
61       * appropriate date range. Currently always returns null.
62       *
63       * @param before The starting point.
64       * @param to The ending point.
65       * @return A string that can be used to specify a date to a scm system.
66       */
67      protected String getScmDateArgument( Date before, Date to )
68      {
69          return null;
70      }
71  
72      /**
73       * Currently always returns null.
74       * @see AbstractChangeLogGenerator#getScmTagArgument(String, String)
75       */
76      protected String getScmTagArgument( String tagStart, String tagEnd )
77      {
78          return null;
79      }
80  }