Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
<?xml version="1.0" encoding="UTF-8"?>

<!-- Generated by maven-plugin-tools 3.2 on 2014-02-27 -->

<plugin>
  <name>Externals Maven Plugin</name>
  <description>Tooling for integrating Maven with Subversion externals</description>
  <groupId>org.kuali.maven.plugins</groupId>
  <artifactId>externals-maven-plugin</artifactId>
  <version>1.0.13</version>
  <goalPrefix>externals</goalPrefix>
  <mojos>
    <mojo>
      <goal>commit</goal>
      <description>Examine the local working copy of a project for any svn:externals definitions. Commit any local changes including any changes under the svn:externals directories.</description>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>true</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>true</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <implementation>org.kuali.maven.plugins.externals.CommitMojo</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <threadSafe>false</threadSafe>
      <parameters>
        <parameter>
          <name>commitMessage</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>The message to associate with the commit</description>
        </parameter>
        <parameter>
          <name>workingCopy</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>The directory where a local working copy of the project is checked out</description>
        </parameter>
      </parameters>
      <configuration>
        <commitMessage implementation="java.lang.String" default-value="[externals-maven-plugin] Commit changes">${externals.commitMessage}</commitMessage>
        <workingCopy implementation="java.io.File" default-value="${project.basedir}">${externals.workingCopy}</workingCopy>
      </configuration>
    </mojo>
    <mojo>
      <goal>dirsync</goal>
      <description>This mojo examines oldDir for any files that are not also in newDir. If it finds any, it deletes them from Subversion.</description>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>true</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>false</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <implementation>org.kuali.maven.plugins.externals.DirSyncMojo</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <threadSafe>false</threadSafe>
      <parameters>
        <parameter>
          <name>commitMessage</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>The message to associate with the commit</description>
        </parameter>
        <parameter>
          <name>excludes</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>CSV list of regex patterns for files that should be excluded</description>
        </parameter>
        <parameter>
          <name>includes</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>CSV list of regex patterns for files that should be included</description>
        </parameter>
        <parameter>
          <name>newDir</name>
          <type>java.io.File</type>
          <required>true</required>
          <editable>true</editable>
          <description>This is the directory containing files that should be under version control.</description>
        </parameter>
        <parameter>
          <name>oldDir</name>
          <type>java.io.File</type>
          <required>true</required>
          <editable>true</editable>
          <description>This is the directory containing files that are already under version control.</description>
        </parameter>
      </parameters>
      <configuration>
        <commitMessage implementation="java.lang.String" default-value="Sync directories">${externals.commitMessage}</commitMessage>
        <excludes implementation="java.lang.String" default-value="**/.svn/**,**/.git/**">${externals.exclude}</excludes>
        <includes implementation="java.lang.String" default-value="**/*">${externals.include}</includes>
        <newDir implementation="java.io.File">${externals.newDir}</newDir>
        <oldDir implementation="java.io.File">${externals.oldDir}</oldDir>
      </configuration>
    </mojo>
    <mojo>
      <goal>dirsynconly</goal>
      <description>This mojo examines oldDir for any files that and syncs them newDir. Doesn&apos;t alter svn in any way, unlike the DirSyncMojo.</description>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>true</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>false</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <implementation>org.kuali.maven.plugins.externals.DirSyncOnlyMojo</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <threadSafe>false</threadSafe>
      <parameters>
        <parameter>
          <name>commitMessage</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>The message to associate with the commit</description>
        </parameter>
        <parameter>
          <name>excludes</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>CSV list of regex patterns for files that should be excluded</description>
        </parameter>
        <parameter>
          <name>includes</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>CSV list of regex patterns for files that should be included</description>
        </parameter>
        <parameter>
          <name>newDir</name>
          <type>java.io.File</type>
          <required>true</required>
          <editable>true</editable>
          <description>This is the directory containing files that should be under version control.</description>
        </parameter>
        <parameter>
          <name>oldDir</name>
          <type>java.io.File</type>
          <required>true</required>
          <editable>true</editable>
          <description>This is the directory containing files that are already under version control.</description>
        </parameter>
      </parameters>
      <configuration>
        <commitMessage implementation="java.lang.String" default-value="Sync directories">${externals.commitMessage}</commitMessage>
        <excludes implementation="java.lang.String" default-value="**/.svn/**,**/.git/**">${externals.exclude}</excludes>
        <includes implementation="java.lang.String" default-value="**/*">${externals.include}</includes>
        <newDir implementation="java.io.File">${externals.newDir}</newDir>
        <oldDir implementation="java.io.File">${externals.oldDir}</oldDir>
      </configuration>
    </mojo>
    <mojo>
      <goal>formatpoms</goal>
      <description>Recursively examine the file system for Maven poms starting at basedir. Any pom.xml files located have formatting applied to them.</description>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>true</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>true</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <implementation>org.kuali.maven.plugins.externals.FormatPomsMojo</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <threadSafe>false</threadSafe>
      <parameters>
        <parameter>
          <name>basedir</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>The base directory that is recursively scanned for Maven pom&apos;s</description>
        </parameter>
        <parameter>
          <name>ignoreDirectories</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>Directories to ignore when examining the file system</description>
        </parameter>
        <parameter>
          <name>pom</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>The filename to include when examining the file system for Maven pom&apos;s</description>
        </parameter>
      </parameters>
      <configuration>
        <basedir implementation="java.io.File" default-value="${project.basedir}">${externals.basedir}</basedir>
        <ignoreDirectories implementation="java.lang.String" default-value="src,target,overlays,.svn,.git">${externals.ignoreDirectories}</ignoreDirectories>
        <pom implementation="java.lang.String" default-value="pom.xml">${externals.pom}</pom>
      </configuration>
    </mojo>
    <mojo>
      <goal>release</goal>
      <description>Perform a release of a multi-module Maven project that contains svn:externals. The release process creates a separate tag for each module defined as an svn:external after trimming SNAPSHOT off the version number. It then increments the version number in the root poms and re-appends the SNAPSHOT qualifier before committing the altered poms.</description>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>true</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>false</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <implementation>org.kuali.maven.plugins.externals.ReleaseMojo</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <threadSafe>false</threadSafe>
      <parameters>
        <parameter>
          <name>buildNumberProperty</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>The property where the current build number is stored. Jenkins automatically sets an environment variable called BUILD_NUMBER each time a job is run</description>
        </parameter>
        <parameter>
          <name>checkoutDir</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>The directory where the new tag is checked out to</description>
        </parameter>
        <parameter>
          <name>createTagMessage</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>The commit message for when the new tag is first created</description>
        </parameter>
        <parameter>
          <name>externalsMessage</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>The commit message for when the svn propset command is used to set externals on the tag</description>
        </parameter>
        <parameter>
          <name>file</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>The location of a text file that contains the svn:externals definitions</description>
        </parameter>
        <parameter>
          <name>ignoreDirectories</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>Directories to ignore when examining the file system for Maven pom&apos;s</description>
        </parameter>
        <parameter>
          <name>mappings</name>
          <type>java.util.List</type>
          <required>false</required>
          <editable>true</editable>
          <description>These mappings connect the svn:externals definitions with a property inside the root pom that controls what version each external is set to</description>
        </parameter>
        <parameter>
          <name>pom</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>Filename pattern used to discover Maven pom&apos;s</description>
        </parameter>
        <parameter>
          <name>scmUrlPrefix</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>The prefix Maven needs in front of the real SCM url</description>
        </parameter>
        <parameter>
          <name>updateTagMessage</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>The commit message for when the updated pom&apos;s and svn.external file is committed to the tag</description>
        </parameter>
      </parameters>
      <configuration>
        <buildNumberProperty implementation="java.lang.String" default-value="env.BUILD_NUMBER">${externals.buildNumberProperty}</buildNumberProperty>
        <checkoutDir implementation="java.io.File" default-value="${project.build.directory}/checkout">${externals.checkoutDir}</checkoutDir>
        <createTagMessage implementation="java.lang.String" default-value="[externals-maven-plugin] Create tag">${externals.createTagMessage}</createTagMessage>
        <externalsMessage implementation="java.lang.String" default-value="[externals-maven-plugin] Set svn:externals">${externals.externalsMessage}</externalsMessage>
        <file implementation="java.io.File" default-value="${project.build.directory}/checkout/svn.externals">${externals.file}</file>
        <ignoreDirectories implementation="java.lang.String" default-value="src,target,.svn,.git">${externals.ignoreDirectories}</ignoreDirectories>
        <pom implementation="java.lang.String" default-value="pom.xml">${externals.pom}</pom>
        <scmUrlPrefix implementation="java.lang.String" default-value="scm:svn:">${externals.scmUrlPrefix}</scmUrlPrefix>
        <updateTagMessage implementation="java.lang.String" default-value="[externals-maven-plugin] Tag maintenance">${externals.updateTagMessage}</updateTagMessage>
      </configuration>
    </mojo>
    <mojo>
      <goal>show</goal>
      <description>Display svn:externals definitions</description>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>true</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>true</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <implementation>org.kuali.maven.plugins.externals.ShowMojo</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <threadSafe>false</threadSafe>
      <parameters>
        <parameter>
          <name>directory</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>The directory to examine for svn:externals definitions</description>
        </parameter>
      </parameters>
      <configuration>
        <directory implementation="java.io.File" default-value="${project.basedir}">${externals.directory}</directory>
      </configuration>
    </mojo>
    <mojo>
      <goal>tag</goal>
      <description>Connect svn:externals definitions with a multi-module Maven build in an intelligent manner. This mojo creates a tag from a Subversion checkout containing svn:externals definitions that correspond to Maven modules. The version numbers in the respective poms are modified to reflect the current build. This allows the tag to be used to create reproducible builds. The binaries Maven produces off the tag, correspond exactly to the version numbers in the Maven pom&apos;s.</description>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>true</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>false</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <implementation>org.kuali.maven.plugins.externals.TagMojo</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <threadSafe>false</threadSafe>
      <parameters>
        <parameter>
          <name>buildNumberProperty</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>The property where the current build number is stored. Jenkins automatically sets an environment variable called BUILD_NUMBER each time a job is run</description>
        </parameter>
        <parameter>
          <name>checkoutDir</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>The directory where the new tag is checked out to</description>
        </parameter>
        <parameter>
          <name>createTagMessage</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>The commit message for when the new tag is first created</description>
        </parameter>
        <parameter>
          <name>externalsMessage</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>The commit message for when the svn propset command is used to set externals on the tag</description>
        </parameter>
        <parameter>
          <name>file</name>
          <type>java.io.File</type>
          <required>false</required>
          <editable>true</editable>
          <description>The location of a text file that contains the svn:externals definitions</description>
        </parameter>
        <parameter>
          <name>ignoreDirectories</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>Directories to ignore when examining the file system for Maven pom&apos;s</description>
        </parameter>
        <parameter>
          <name>mappings</name>
          <type>java.util.List</type>
          <required>false</required>
          <editable>true</editable>
          <description>These mappings connect the svn:externals definitions with a property inside the root pom that controls what version each external is set to</description>
        </parameter>
        <parameter>
          <name>pom</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>Filename pattern used to discover Maven pom&apos;s</description>
        </parameter>
        <parameter>
          <name>scmUrlPrefix</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>The prefix Maven needs in front of the real SCM url</description>
        </parameter>
        <parameter>
          <name>tagStyle</name>
          <type>org.kuali.maven.plugins.externals.TagStyle</type>
          <required>false</required>
          <editable>true</editable>
          <description>Either BUILDNUMBER, REVISION, or RELEASE</description>
        </parameter>
        <parameter>
          <name>updateTagMessage</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>The commit message for when the updated pom&apos;s and svn.external file is committed to the tag</description>
        </parameter>
      </parameters>
      <configuration>
        <buildNumberProperty implementation="java.lang.String" default-value="env.BUILD_NUMBER">${externals.buildNumberProperty}</buildNumberProperty>
        <checkoutDir implementation="java.io.File" default-value="${project.build.directory}/checkout">${externals.checkoutDir}</checkoutDir>
        <createTagMessage implementation="java.lang.String" default-value="[externals-maven-plugin] Create tag">${externals.createTagMessage}</createTagMessage>
        <externalsMessage implementation="java.lang.String" default-value="[externals-maven-plugin] Set svn:externals">${externals.externalsMessage}</externalsMessage>
        <file implementation="java.io.File" default-value="${project.build.directory}/checkout/svn.externals">${externals.file}</file>
        <ignoreDirectories implementation="java.lang.String" default-value="src,target,.svn,.git">${externals.ignoreDirectories}</ignoreDirectories>
        <pom implementation="java.lang.String" default-value="pom.xml">${externals.pom}</pom>
        <scmUrlPrefix implementation="java.lang.String" default-value="scm:svn:">${externals.scmUrlPrefix}</scmUrlPrefix>
        <tagStyle implementation="org.kuali.maven.plugins.externals.TagStyle" default-value="BUILDNUMBER">${externals.tagStyle}</tagStyle>
        <updateTagMessage implementation="java.lang.String" default-value="[externals-maven-plugin] Tag maintenance">${externals.updateTagMessage}</updateTagMessage>
      </configuration>
    </mojo>
    <mojo>
      <goal>validatepoms</goal>
      <description>Make sure the aggregate checkout is &apos;self-contained&apos;. Make sure the parent versions of the svn:externals modules point back to the correct root pom. Make sure the properties used to figure out which version of the child modules to use, actually match up with the versions declared in the child modules.</description>
      <requiresDirectInvocation>false</requiresDirectInvocation>
      <requiresProject>true</requiresProject>
      <requiresReports>false</requiresReports>
      <aggregator>false</aggregator>
      <requiresOnline>false</requiresOnline>
      <inheritedByDefault>true</inheritedByDefault>
      <implementation>org.kuali.maven.plugins.externals.ValidatePomsMojo</implementation>
      <language>java</language>
      <instantiationStrategy>per-lookup</instantiationStrategy>
      <executionStrategy>once-per-session</executionStrategy>
      <threadSafe>false</threadSafe>
      <parameters>
        <parameter>
          <name>ignoreDirectories</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>Directories to ignore when examining the file system for Maven pom&apos;s</description>
        </parameter>
        <parameter>
          <name>mappings</name>
          <type>java.util.List</type>
          <required>false</required>
          <editable>true</editable>
          <description>These mappings connect the svn:externals definitions with a property inside the root pom that controls what version each external is set to</description>
        </parameter>
        <parameter>
          <name>pom</name>
          <type>java.lang.String</type>
          <required>false</required>
          <editable>true</editable>
          <description>Filename pattern used to discover Maven pom&apos;s</description>
        </parameter>
      </parameters>
      <configuration>
        <ignoreDirectories implementation="java.lang.String" default-value="src,target,overlays,.svn,.git">${externals.ignoreDirectories}</ignoreDirectories>
        <pom implementation="java.lang.String" default-value="pom.xml">${externals.pom}</pom>
      </configuration>
    </mojo>
  </mojos>
</plugin>
New to GrepCode? Check out our FAQ X