Fork me on GitHub

Examples

Simple usage

You can try it by running in your project directory:

mvn org.simplify4u.plugins:pgpverify-maven-plugin:check

If you want check your dependency on each build, please add to your project:

<project>
  ...
  <build>
    <!-- To define the plugin version in your parent POM -->
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.simplify4u.plugins</groupId>
          <artifactId>pgpverify-maven-plugin</artifactId>
          <version>1.18.2</version>
        </plugin>
        ...
      </plugins>
    </pluginManagement>

    <!-- To use the plugin goals in your POM or parent POM -->
    <plugins>
      <plugin>
        <groupId>org.simplify4u.plugins</groupId>
        <artifactId>pgpverify-maven-plugin</artifactId>
        <executions>
            <execution>
                <goals>
                    <goal>check</goal>
                </goals>
            </execution>
         </executions>
      </plugin>
      ...
    </plugins>
  </build>
  ...
</project>

keysMap usage

keysMap with PGP fingerprint from project

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.simplify4u.plugins</groupId>
          <artifactId>pgpverify-maven-plugin</artifactId>
          <version>1.18.2</version>
          <configuration>
              <keysMapLocation>${project.basedir}/pgp-keys-map.list</keysMapLocation>
          </configuration>                        
        </plugin>
        ...
      </plugins>
    </pluginManagement>

keysMap with PGP fingerprint from external artifact

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.simplify4u.plugins</groupId>
          <artifactId>pgpverify-maven-plugin</artifactId>
          <version>1.18.2</version>
          <configuration>
              <keysMapLocation>/pgp-keys-map.list</keysMapLocation>                
              <verifyPlugins>true</verifyPlugins>
              <verifyPluginDependencies>true</verifyPluginDependencies>
          </configuration>
          <dependencies>
              <dependency>
                  <groupId>my.groupId</groupId>
                  <artifactId>artifact-with-map</artifactId>
                  <version>x.y.z</version>
              </dependency>
          </dependencies>                        
        </plugin>
        ...
      </plugins>
    </pluginManagement>

keysMap with PGP fingerprint from external resource

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.simplify4u.plugins</groupId>
          <artifactId>pgpverify-maven-plugin</artifactId>
          <version>1.18.2</version>
          <configuration>
              <keysMapLocation>https://www.example.com/pgp-keys-map.list</keysMapLocation>
          </configuration>                        
        </plugin>
        ...
      </plugins>
    </pluginManagement>

Show information about signature

We can see information about signature for a specific artifact, running:

mvn org.simplify4u.plugins:pgpverify-maven-plugin:show -Dartifact=junit:junit:4.12

as a result we get

Artifact:
    groupId:     junit
    artifactId:  junit
    type:        jar
    version:     4.12

PGP signature:
    version:     4
    algorithm:   SHA1withRSA
    keyId:       0xEFE8086F9E93774E
    create date: Thu Dec 04 17:17:33 CET 2014
    status:      valid

PGP key:
    version:     4
    algorithm:   RSA (Encrypt or Sign)
    bits:        2048
    fingerprint: 0xD4C89EA4AAF455FD88B22087EFE8086F9E93774E
    master key:  0x58E79B6ABC762159DC0B1591164BD2247B936711
    create date: Sun Jul 27 14:31:46 CEST 2014
    uids:        [.... (JUnit Development, 2014) <mail@....>]

By default, information about jar artifact is displayed. You can specify packaging, classifier, artifact property format is:

groupId:artifactId:version[:packaging[:classifier]]

You can add property showPom to also show information about corresponding pom file.

mvn org.simplify4u.plugins:pgpverify-maven-plugin:show -Dartifact=junit:junit:4.12 -DshowPom

IT tests

Many example of usage can be found in project IT tests:

https://github.com/s4u/pgpverify-maven-plugin/tree/master/src/it