 ------
 Using Perforce
 ------
 Dennis Lundberg
 ------
 2007-07-19
 ------

 ~~ Licensed to the Apache Software Foundation (ASF) under one
 ~~ or more contributor license agreements.  See the NOTICE file
 ~~ distributed with this work for additional information
 ~~ regarding copyright ownership.  The ASF licenses this file
 ~~ to you 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.


Using Perforce

  The maven-changelog-plugin uses {{{http://maven.apache.org/scm/}Maven SCM}}
  as an underlying layer, when accessing your SCM system. When Maven SCM is
  working with Perforce it needs a clientspec. This is provided by setting
  system properties that are then read by Maven SCM.

  Configuring this is done in the same way as for the maven-scm-plugin. So if
  you have a working configuration for maven-scm-plugin, you can just copy
  those lines over to your maven-changelog-plugin configuration. The following
  configuration shows an example of what this can look like.

+-----+
<project>
  ...
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-changelog-plugin</artifactId>
        <configuration>
          <systemProperties>
            <property>
              <name>maven.scm.perforce.clientspec.name</name>
              <value>your.perforce.clientspec.name</value>
            </property>
          </systemProperties>
        </configuration>
      </plugin>
    </plugins>
  </reporting>
  ...
</project>
+-----+
