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