Great.
Quick note have a look at
http://maven.apache.org/developers/conventions/code.html
:-)


2013/6/25  <s...@apache.org>:
> Author: sebb
> Date: Tue Jun 25 00:51:03 2013
> New Revision: 1496315
>
> URL: http://svn.apache.org/r1496315
> Log:
> Allow list of digests to be provided on command-line
> Allow extension name to be overridden
>
> Modified:
>     
> maven/sandbox/trunk/plugins/maven-digest-plugin/src/main/java/org/apache/maven/plugins/digest/DigestMojo.java
>
> Modified: 
> maven/sandbox/trunk/plugins/maven-digest-plugin/src/main/java/org/apache/maven/plugins/digest/DigestMojo.java
> URL: 
> http://svn.apache.org/viewvc/maven/sandbox/trunk/plugins/maven-digest-plugin/src/main/java/org/apache/maven/plugins/digest/DigestMojo.java?rev=1496315&r1=1496314&r2=1496315&view=diff
> ==============================================================================
> --- 
> maven/sandbox/trunk/plugins/maven-digest-plugin/src/main/java/org/apache/maven/plugins/digest/DigestMojo.java
>  (original)
> +++ 
> maven/sandbox/trunk/plugins/maven-digest-plugin/src/main/java/org/apache/maven/plugins/digest/DigestMojo.java
>  Tue Jun 25 00:51:03 2013
> @@ -69,10 +69,19 @@ public class DigestMojo extends Abstract
>      private String files;
>
>      /**
> +     * List of digests (algorithms) to create, comma-separated (intended for 
> command-line usage).
> +     * Overrides algorithms; uses same syntax
> +     */
> +    @Parameter (property="maven.digest.digests")
> +    private String digests;
> +
> +    /**
>       * The list of algorithm names with which to create digests.
>       * If none specified, the default is {@code MD5} and {@code SHA1}.
>       * By default the file extension is assumed to be the algorithm name
>       * converted to lower-case, and any "-" characters removed.
> +     * The extension name can be provided by suffixing the algorithm name
> +     * with ">" followed by the extension, for example: "SHA-1>sha".
>       */
>      @Parameter
>      private Set<String> algorithms;
> @@ -87,8 +96,15 @@ public class DigestMojo extends Abstract
>          String files[] = scanForSources();
>          Log log = getLog();
>          if (files.length == 0) {
> -            log.warn("No files found. Please configure at least one 
> <include> item or use -Ddigest.files");
> +            log.warn("No files found. Please configure at least one 
> <include> item or use -Dmaven.digest.files");
>          } else {
> +            if (digests != null && digests.length() > 0) {
> +                String [] digest = digests.split(",");
> +                algorithms = new HashSet<String>(digest.length);
> +                for (String d : digest) {
> +                   algorithms.add(d);
> +                }
> +            }
>              if (algorithms == null || algorithms.size() == 0) {
>                  algorithms = new HashSet<String>(2);
>                  algorithms.add("MD5");
> @@ -97,7 +113,7 @@ public class DigestMojo extends Abstract
>              try {
>                  for(String file : files) {
>                      for(String algorithm : algorithms) {
> -                        String[] parts = algorithm.split("|");
> +                        String[] parts = algorithm.split(">");
>                          String extension;
>                          if (parts.length == 2) {
>                              algorithm = parts[0];
> @@ -126,10 +142,12 @@ public class DigestMojo extends Abstract
>      }
>
>      private void createDigest(String algorithm, String extension, String 
> file) throws Exception {
> +        // Unfortunately DigestUtils.getDigest is not public
> +        // Do this before opening file in case not found
> +        MessageDigest digest = MessageDigest.getInstance(algorithm);
>          FileInputStream is = new FileInputStream(file);
>          PrintWriter pw = new PrintWriter(file+extension, "UTF-8");
> -        // Unfortunately DigestUtils.getDigest is not public
> -        pw.print(digestHex(MessageDigest.getInstance(algorithm), is));
> +        pw.print(digestHex(digest, is));
>          if (appendFilename) {
>              pw.println(" *" + file);
>          } else {
>
>



-- 
Olivier Lamy
Ecetera: http://ecetera.com.au
http://twitter.com/olamy | http://linkedin.com/in/olamy

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to