Author: jdcasey
Date: Thu Jun 9 11:19:21 2005
New Revision: 189785
URL: http://svn.apache.org/viewcvs?rev=189785&view=rev
Log:
Solving MRM-4. If the source pom doesn't exist, it'll check for the existence
of the target pom before writing the skeleton.
It'll always try to verify/patch the MD5/SHA1 for the target pom.
Modified:
maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/digest/DigestVerifier.java
maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/digest/Digestor.java
maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/phase/RewritePhase.java
Modified:
maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/digest/DigestVerifier.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/digest/DigestVerifier.java?rev=189785&r1=189784&r2=189785&view=diff
==============================================================================
---
maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/digest/DigestVerifier.java
(original)
+++
maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/digest/DigestVerifier.java
Thu Jun 9 11:19:21 2005
@@ -54,17 +54,27 @@
throws DigestException, ReportWriteException, IOException
{
// create the digest source file from which to copy/verify.
- File digestSourceFile = new File( artifactSource + digestExt );
+ File digestSourceFile = null;
+
+ if ( artifactSource != null )
+ {
+ digestSourceFile = new File( artifactSource + digestExt );
+ }
// create the digest target file from which to copy/create.
- File digestTargetFile = new File( artifactTarget + digestExt );
+ File digestTargetFile = null;
- transaction.addFile( digestTargetFile );
+ if ( artifactTarget != null )
+ {
+ digestTargetFile = new File( artifactTarget + digestExt );
+
+ transaction.addFile( digestTargetFile );
+ }
boolean verified = false;
// if the digest source file exists, then verify it.
- if ( digestSourceFile.exists() )
+ if ( digestSourceFile != null && digestSourceFile.exists() )
{
verified = artifactDigestor.verifyArtifactDigest( artifactTarget,
digestTargetFile, digestAlgorithm );
Modified:
maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/digest/Digestor.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/digest/Digestor.java?rev=189785&r1=189784&r2=189785&view=diff
==============================================================================
---
maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/digest/Digestor.java
(original)
+++
maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/digest/Digestor.java
Thu Jun 9 11:19:21 2005
@@ -28,6 +28,11 @@
public void createArtifactDigest( File artifactFile, File digestFile,
String algorithm )
throws DigestException
{
+ if ( artifactFile == null || !artifactFile.exists() )
+ {
+ throw new DigestException( "Cannot generate digest for missing
file: " + artifactFile );
+ }
+
byte[] digestData = generateArtifactDigest( artifactFile, algorithm );
try
@@ -43,43 +48,40 @@
public boolean verifyArtifactDigest( File artifactFile, File digestFile,
String algorithm )
throws DigestException
{
- if ( artifactFile.exists() && digestFile.exists() )
+ if ( digestFile == null || !digestFile.exists() || artifactFile ==
null || !artifactFile.exists() )
{
- byte[] generatedDigest = generateArtifactDigest( artifactFile,
algorithm );
+ return false;
+ }
- InputStream in = null;
- try
- {
- in = new FileInputStream( artifactFile );
+ byte[] generatedDigest = generateArtifactDigest( artifactFile,
algorithm );
- int digestLen = generatedDigest.length;
- int currentIdx = 0;
+ InputStream in = null;
+ try
+ {
+ in = new FileInputStream( artifactFile );
+
+ int digestLen = generatedDigest.length;
+ int currentIdx = 0;
- boolean matched = true;
+ boolean matched = true;
- int read = -1;
- while ( ( read = in.read() ) > -1 )
+ int read = -1;
+ while ( ( read = in.read() ) > -1 )
+ {
+ if ( currentIdx >= digestLen || read !=
generatedDigest[currentIdx] )
{
- if ( currentIdx >= digestLen || read !=
generatedDigest[currentIdx] )
- {
- return false;
- }
+ return false;
}
}
- catch ( IOException e )
- {
- throw new DigestException( "Cannot verify digest for artifact
file: \'" + artifactFile
- + "\' against digest file: \'" + digestFile + "\' using
algorithm: \'" + algorithm + "\'", e );
- }
- finally
- {
- IOUtil.close( in );
- }
-
}
- else
+ catch ( IOException e )
{
- return false;
+ throw new DigestException( "Cannot verify digest for artifact
file: \'" + artifactFile
+ + "\' against digest file: \'" + digestFile + "\' using
algorithm: \'" + algorithm + "\'", e );
+ }
+ finally
+ {
+ IOUtil.close( in );
}
return true;
@@ -88,6 +90,11 @@
public byte[] generateArtifactDigest( File artifactFile, String algorithm )
throws DigestException
{
+ if ( artifactFile == null || !artifactFile.exists() )
+ {
+ throw new DigestException( "Cannot generate digest for missing
file: " + artifactFile );
+ }
+
MessageDigest digest = null;
try
{
Modified:
maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/phase/RewritePhase.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/phase/RewritePhase.java?rev=189785&r1=189784&r2=189785&view=diff
==============================================================================
---
maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/phase/RewritePhase.java
(original)
+++
maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/phase/RewritePhase.java
Thu Jun 9 11:19:21 2005
@@ -242,7 +242,7 @@
String pomContents = null;
- boolean pomNeedsRewriting = true;
+ boolean shouldRewritePom = true;
if ( sourcePom.exists() )
{
@@ -250,13 +250,23 @@
if ( pomContents.indexOf( "modelVersion" ) > -1 )
{
- pomNeedsRewriting = false;
+ shouldRewritePom = false;
freshenSupplementalMetadata( pom, sourcePom, targetPom,
transaction, artifactReporter, reportOnly );
}
}
+ else if( targetPom.exists() )
+ {
+ // we have a target pom for this artifact already, and we'll only
be making up a new pom.
+ // let's leave the existing one alone.
+ shouldRewritePom = false;
+ }
- if ( pomNeedsRewriting )
+ File bridgedTargetPom = null;
+
+ boolean wroteBridge = false;
+
+ if ( shouldRewritePom )
{
ArtifactPomRewriter artifactPomRewriter = null;
@@ -267,7 +277,7 @@
transaction.addFile( targetPom );
- File bridgedTargetPom = new File( targetBase,
bridgingLayout.pathOfMetadata( pom ).replace( '+', '-' ) );
+ bridgedTargetPom = new File( targetBase,
bridgingLayout.pathOfMetadata( pom ).replace( '+', '-' ) );
transaction.addFile( bridgedTargetPom );
@@ -295,16 +305,8 @@
IOUtil.close( to );
}
- boolean wroteBridge = bridgePomLocations( pom, targetPom,
bridgedTargetPom, artifactReporter,
+ wroteBridge = bridgePomLocations( pom, targetPom,
bridgedTargetPom, artifactReporter,
transaction,
reportOnly );
-
- digestVerifier.verifyDigest( sourcePom, targetPom,
transaction, artifactReporter, reportOnly );
-
- if ( wroteBridge )
- {
- digestVerifier.verifyDigest( sourcePom, bridgedTargetPom,
transaction, artifactReporter,
- reportOnly );
- }
}
finally
{
@@ -319,6 +321,14 @@
}
}
}
+ }
+
+ digestVerifier.verifyDigest( sourcePom, targetPom, transaction,
artifactReporter, reportOnly );
+
+ if ( wroteBridge )
+ {
+ digestVerifier.verifyDigest( sourcePom, bridgedTargetPom,
transaction, artifactReporter,
+ reportOnly );
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]