You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2006/04/05 17:58:36 UTC
svn commit: r391654 - in /maven/components/branches/maven-embedder-refactor:
maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/
maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/
maven-artifact-mana...
Author: jvanzyl
Date: Wed Apr 5 08:58:32 2006
New Revision: 391654
URL: http://svn.apache.org/viewcvs?rev=391654&view=rev
Log:
o collecting more code in MavenTools
o merging artifact manager fix which is causing the slowdown
Modified:
maven/components/branches/maven-embedder-refactor/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
maven/components/branches/maven-embedder-refactor/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java
maven/components/branches/maven-embedder-refactor/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
maven/components/branches/maven-embedder-refactor/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
maven/components/branches/maven-embedder-refactor/maven-meeper/src/bin/m2-sync/m2-sync.sh
maven/components/branches/maven-embedder-refactor/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
maven/components/branches/maven-embedder-refactor/maven-tools/src/main/java/org/apache/maven/DefaultMavenTools.java
maven/components/branches/maven-embedder-refactor/maven-tools/src/main/java/org/apache/maven/MavenTools.java
Modified: maven/components/branches/maven-embedder-refactor/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
URL: http://svn.apache.org/viewcvs/maven/components/branches/maven-embedder-refactor/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java?rev=391654&r1=391653&r2=391654&view=diff
==============================================================================
--- maven/components/branches/maven-embedder-refactor/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java (original)
+++ maven/components/branches/maven-embedder-refactor/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java Wed Apr 5 08:58:32 2006
@@ -73,7 +73,7 @@
private Map serverPermissionsMap = new HashMap();
private Map mirrors = new HashMap();
-
+
private Map serverConfigurationMap = new HashMap();
private TransferListener downloadMonitor;
@@ -128,14 +128,14 @@
try
{
wagon = getWagon( protocol );
-
+
configureWagon( wagon, repository );
}
catch ( UnsupportedProtocolException e )
{
throw new TransferFailedException( "Unsupported Protocol: '" + protocol + "': " + e.getMessage(), e );
}
-
+
if ( downloadMonitor != null )
{
wagon.addTransferListener( downloadMonitor );
@@ -255,8 +255,7 @@
}
}
- // if it already exists locally we were just trying to force it - ignore the update
- if ( !successful && !artifact.getFile().exists() )
+ if ( !successful )
{
throw new ResourceDoesNotExistException( "Unable to download the artifact from any repository" );
}
@@ -350,8 +349,6 @@
File temp = new File( destination + ".tmp" );
temp.deleteOnExit();
- boolean downloaded = false;
-
try
{
wagon.connect( new Repository( repository.getId(), repository.getUrl() ),
@@ -369,38 +366,51 @@
retry = false;
// This should take care of creating destination directory now on
- if ( destination.exists() )
+ wagon.get( remotePath, temp );
+
+ // keep the checksum files from showing up on the download monitor...
+ if ( downloadMonitor != null )
{
- downloaded = wagon.getIfNewer( remotePath, temp, destination.lastModified() );
+ wagon.removeTransferListener( downloadMonitor );
}
- else
+
+ // try to verify the SHA-1 checksum for this file.
+ try
{
- wagon.get( remotePath, temp );
- downloaded = true;
+ verifyChecksum( sha1ChecksumObserver, destination, temp, remotePath, ".sha1", wagon );
}
-
- if ( downloaded )
+ catch ( ChecksumFailedException e )
{
- // keep the checksum files from showing up on the download monitor...
- if ( downloadMonitor != null )
+ // if we catch a ChecksumFailedException, it means the transfer/read succeeded, but the checksum
+ // doesn't match. This could be a problem with the server (ibiblio HTTP-200 error page), so we'll
+ // try this up to two times. On the second try, we'll handle it as a bona-fide error, based on the
+ // repository's checksum checking policy.
+ if ( firstRun )
+ {
+ getLogger().warn( "*** CHECKSUM FAILED - " + e.getMessage() + " - RETRYING" );
+ retry = true;
+ }
+ else
{
- wagon.removeTransferListener( downloadMonitor );
+ handleChecksumFailure( checksumPolicy, e.getMessage(), e.getCause() );
}
+ }
+ catch ( ResourceDoesNotExistException sha1TryException )
+ {
+ getLogger().debug( "SHA1 not found, trying MD5", sha1TryException );
- // try to verify the SHA-1 checksum for this file.
+ // if this IS NOT a ChecksumFailedException, it was a problem with transfer/read of the checksum
+ // file...we'll try again with the MD5 checksum.
try
{
- verifyChecksum( sha1ChecksumObserver, destination, temp, remotePath, ".sha1", wagon );
+ verifyChecksum( md5ChecksumObserver, destination, temp, remotePath, ".md5", wagon );
}
catch ( ChecksumFailedException e )
{
- // if we catch a ChecksumFailedException, it means the transfer/read succeeded, but the checksum
- // doesn't match. This could be a problem with the server (ibiblio HTTP-200 error page), so we'll
- // try this up to two times. On the second try, we'll handle it as a bona-fide error, based on the
- // repository's checksum checking policy.
+ // if we also fail to verify based on the MD5 checksum, and the checksum transfer/read
+ // succeeded, then we need to determine whether to retry or handle it as a failure.
if ( firstRun )
{
- getLogger().warn( "*** CHECKSUM FAILED - " + e.getMessage() + " - RETRYING" );
retry = true;
}
else
@@ -408,42 +418,18 @@
handleChecksumFailure( checksumPolicy, e.getMessage(), e.getCause() );
}
}
- catch ( ResourceDoesNotExistException sha1TryException )
+ catch ( ResourceDoesNotExistException md5TryException )
{
- getLogger().debug( "SHA1 not found, trying MD5", sha1TryException );
-
- // if this IS NOT a ChecksumFailedException, it was a problem with transfer/read of the checksum
- // file...we'll try again with the MD5 checksum.
- try
- {
- verifyChecksum( md5ChecksumObserver, destination, temp, remotePath, ".md5", wagon );
- }
- catch ( ChecksumFailedException e )
- {
- // if we also fail to verify based on the MD5 checksum, and the checksum transfer/read
- // succeeded, then we need to determine whether to retry or handle it as a failure.
- if ( firstRun )
- {
- retry = true;
- }
- else
- {
- handleChecksumFailure( checksumPolicy, e.getMessage(), e.getCause() );
- }
- }
- catch ( ResourceDoesNotExistException md5TryException )
- {
- // this was a failed transfer, and we don't want to retry.
- handleChecksumFailure( checksumPolicy, "Error retrieving checksum file for " + remotePath,
- md5TryException );
- }
+ // this was a failed transfer, and we don't want to retry.
+ handleChecksumFailure( checksumPolicy, "Error retrieving checksum file for " + remotePath,
+ md5TryException );
}
+ }
- // reinstate the download monitor...
- if ( downloadMonitor != null )
- {
- wagon.addTransferListener( downloadMonitor );
- }
+ // reinstate the download monitor...
+ if ( downloadMonitor != null )
+ {
+ wagon.addTransferListener( downloadMonitor );
}
// unset the firstRun flag, so we don't get caught in an infinite loop...
@@ -469,32 +455,29 @@
releaseWagon( wagon );
}
- if ( downloaded )
+ if ( !temp.exists() )
{
- if ( !temp.exists() )
- {
- throw new ResourceDoesNotExistException( "Downloaded file does not exist: " + temp );
- }
+ throw new ResourceDoesNotExistException( "Downloaded file does not exist: " + temp );
+ }
- // The temporary file is named destination + ".tmp" and is done this way to ensure
- // that the temporary file is in the same file system as the destination because the
- // File.renameTo operation doesn't really work across file systems.
- // So we will attempt to do a File.renameTo for efficiency and atomicity, if this fails
- // then we will use a brute force copy and delete the temporary file.
+ // The temporary file is named destination + ".tmp" and is done this way to ensure
+ // that the temporary file is in the same file system as the destination because the
+ // File.renameTo operation doesn't really work across file systems.
+ // So we will attempt to do a File.renameTo for efficiency and atomicity, if this fails
+ // then we will use a brute force copy and delete the temporary file.
- if ( !temp.renameTo( destination ) )
+ if ( !temp.renameTo( destination ) )
+ {
+ try
{
- try
- {
- FileUtils.copyFile( temp, destination );
+ FileUtils.copyFile( temp, destination );
- temp.delete();
- }
- catch ( IOException e )
- {
- throw new TransferFailedException(
- "Error copying temporary file to the final destination: " + e.getMessage(), e );
- }
+ temp.delete();
+ }
+ catch ( IOException e )
+ {
+ throw new TransferFailedException(
+ "Error copying temporary file to the final destination: " + e.getMessage(), e );
}
}
}
@@ -523,8 +506,8 @@
// otherwise it is ignore
}
- private void verifyChecksum( ChecksumObserver checksumObserver, File destination, File tempDestination,
- String remotePath, String checksumFileExtension, Wagon wagon )
+ private void verifyChecksum( ChecksumObserver checksumObserver, File destination, File tempDestination, String remotePath,
+ String checksumFileExtension, Wagon wagon )
throws ResourceDoesNotExistException, TransferFailedException, AuthorizationException
{
try
@@ -560,10 +543,7 @@
if ( expectedChecksum.equals( actualChecksum ) )
{
File checksumFile = new File( destination + checksumFileExtension );
- if ( checksumFile.exists() )
- {
- checksumFile.delete();
- }
+ if ( checksumFile.exists() ) checksumFile.delete();
FileUtils.copyFile( tempChecksumFile, checksumFile );
}
else
@@ -620,13 +600,13 @@
/**
* Set the proxy used for a particular protocol.
*
- * @param protocol the protocol (required)
- * @param host the proxy host name (required)
- * @param port the proxy port (required)
- * @param username the username for the proxy, or null if there is none
- * @param password the password for the proxy, or null if there is none
+ * @param protocol the protocol (required)
+ * @param host the proxy host name (required)
+ * @param port the proxy port (required)
+ * @param username the username for the proxy, or null if there is none
+ * @param password the password for the proxy, or null if there is none
* @param nonProxyHosts the set of hosts not to use the proxy for. Follows Java system
- * property format: <code>*.foo.com|localhost</code>.
+ * property format: <code>*.foo.com|localhost</code>.
* @todo [BP] would be nice to configure this via plexus in some way
*/
public void addProxy( String protocol, String host, int port, String username, String password,
@@ -718,12 +698,12 @@
{
this.interactive = interactive;
}
-
+
/**
* Applies the server configuration to the wagon
- *
- * @param wagon the wagon to configure
+ *
+ * @param wagon the wagon to configure
* @param repository the repository that has the configuration
* @throws WagonConfigurationException wraps any error given during configuration of the wagon instance
*/
@@ -744,9 +724,7 @@
}
catch ( final ComponentLookupException e )
{
- throw new WagonConfigurationException( repositoryId,
- "Unable to lookup wagon configurator. Wagon configuration cannot be applied.",
- e );
+ throw new WagonConfigurationException( repositoryId, "Unable to lookup wagon configurator. Wagon configuration cannot be applied.", e );
}
catch ( ComponentConfigurationException e )
{
@@ -769,7 +747,7 @@
}
}
}
-
+
public void addConfiguration( String repositoryId, Xpp3Dom configuration )
{
Modified: maven/components/branches/maven-embedder-refactor/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java
URL: http://svn.apache.org/viewcvs/maven/components/branches/maven-embedder-refactor/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java?rev=391654&r1=391653&r2=391654&view=diff
==============================================================================
--- maven/components/branches/maven-embedder-refactor/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java (original)
+++ maven/components/branches/maven-embedder-refactor/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java Wed Apr 5 08:58:32 2006
@@ -78,11 +78,10 @@
File file = new File( localRepository.getBasedir(),
localRepository.pathOfLocalRepositoryMetadata( metadata, repository ) );
- boolean checkForUpdates =
- policy.checkOutOfDate( new Date( file.lastModified() ) ) || !file.exists();
+ boolean checkForUpdates = policy.checkOutOfDate( new Date( file.lastModified() ) ) || !file.exists();
boolean metadataIsEmpty = true;
-
+
if ( checkForUpdates )
{
getLogger().info( metadata.getKey() + ": checking for updates from " + repository.getId() );
@@ -202,8 +201,6 @@
if ( !m.getVersioning().getSnapshot().isLocalCopy() )
{
- // TODO: I think this is incorrect (it results in localCopy set in a remote profile). Probably
- // harmless so not removing at this point until full tests in place.
m.getVersioning().getSnapshot().setLocalCopy( true );
metadata.setMetadata( m );
metadata.storeInLocalRepository( localRepository, repository );
@@ -375,7 +372,7 @@
getLogger().info( "Repository '" + repository.getId() + "' will be blacklisted" );
getLogger().debug( "Exception", e );
repository.setBlacklisted( allowBlacklisting );
-
+
throw e;
}
}
Modified: maven/components/branches/maven-embedder-refactor/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
URL: http://svn.apache.org/viewcvs/maven/components/branches/maven-embedder-refactor/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java?rev=391654&r1=391653&r2=391654&view=diff
==============================================================================
--- maven/components/branches/maven-embedder-refactor/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java (original)
+++ maven/components/branches/maven-embedder-refactor/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java Wed Apr 5 08:58:32 2006
@@ -21,7 +21,6 @@
import org.apache.maven.artifact.manager.WagonManager;
import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.artifact.transform.ArtifactTransformationManager;
import org.apache.maven.wagon.ResourceDoesNotExistException;
@@ -33,7 +32,6 @@
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -106,32 +104,6 @@
transformationManager.transformForResolve( artifact, remoteRepositories, localRepository );
File destination = artifact.getFile();
- List repositories = remoteRepositories;
-
- // TODO: would prefer the snapshot transformation took care of this. Maybe we need a "shouldresolve" flag.
- if ( artifact.isSnapshot() && artifact.getBaseVersion().equals( artifact.getVersion() ) &&
- destination.exists() )
- {
- Date comparisonDate = new Date( destination.lastModified() );
-
- // cull to list of repositories that would like an update
- repositories = new ArrayList( remoteRepositories );
- for ( Iterator i = repositories.iterator(); i.hasNext(); )
- {
- ArtifactRepository repository = (ArtifactRepository) i.next();
- ArtifactRepositoryPolicy policy = repository.getSnapshots();
- if ( !policy.isEnabled() || !policy.checkOutOfDate( comparisonDate ) )
- {
- i.remove();
- }
- }
-
- if ( !repositories.isEmpty() )
- {
- // someone wants to check for updates
- force = true;
- }
- }
boolean resolved = false;
if ( !destination.exists() || force )
{
@@ -149,10 +121,10 @@
}
else
{
- wagonManager.getArtifact( artifact, repositories );
+ wagonManager.getArtifact( artifact, remoteRepositories );
}
- if ( !artifact.isResolved() && !destination.exists() )
+ if ( !artifact.isResolved() )
{
throw new ArtifactResolutionException(
"Failed to resolve artifact, possibly due to a repository list that is not appropriately equipped for this artifact's metadata.",
@@ -266,7 +238,7 @@
missingArtifacts.add( node.getArtifact() );
}
}
-
+
if ( missingArtifacts.size() > 0 )
{
throw new MultipleArtifactsNotFoundException( originatingArtifact, missingArtifacts, remoteRepositories );
@@ -300,4 +272,4 @@
remoteRepositories, source, null, listeners );
}
-}
\ No newline at end of file
+}
Modified: maven/components/branches/maven-embedder-refactor/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
URL: http://svn.apache.org/viewcvs/maven/components/branches/maven-embedder-refactor/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?rev=391654&r1=391653&r2=391654&view=diff
==============================================================================
--- maven/components/branches/maven-embedder-refactor/maven-core/src/main/java/org/apache/maven/DefaultMaven.java (original)
+++ maven/components/branches/maven-embedder-refactor/maven-core/src/main/java/org/apache/maven/DefaultMaven.java Wed Apr 5 08:58:32 2006
@@ -116,10 +116,7 @@
public void execute( MavenExecutionRequest request )
throws MavenExecutionException
{
- request.setLocalRepository( mavenTools.createLocalRepository( request.getLocalRepositoryPath(),
- request.isOffline(),
- request.isUpdateSnapshots(),
- request.getGlobalChecksumPolicy() ) );
+ request.setLocalRepository( mavenTools.createLocalRepository( request.getLocalRepositoryPath() ) );
Logger logger = loggerManager.getLoggerForComponent( Mojo.ROLE );
Modified: maven/components/branches/maven-embedder-refactor/maven-meeper/src/bin/m2-sync/m2-sync.sh
URL: http://svn.apache.org/viewcvs/maven/components/branches/maven-embedder-refactor/maven-meeper/src/bin/m2-sync/m2-sync.sh?rev=391654&r1=391653&r2=391654&view=diff
==============================================================================
--- maven/components/branches/maven-embedder-refactor/maven-meeper/src/bin/m2-sync/m2-sync.sh (original)
+++ maven/components/branches/maven-embedder-refactor/maven-meeper/src/bin/m2-sync/m2-sync.sh Wed Apr 5 08:58:32 2006
@@ -13,6 +13,6 @@
fi
cd $HOME/repository-staging/to-ibiblio/maven2
-CMD="rsync --ignore-existing --exclude-from=/home/projects/maven/repository-tools/syncopate/exclusions.txt -e ssh $OPTS -avz $FROM $TO"
+CMD="rsync --exclude-from=/home/projects/maven/repository-tools/syncopate/exclusions.txt -e ssh $OPTS -avz $FROM $TO"
echo "Syncing $FROM -> $TO"
$CMD
Modified: maven/components/branches/maven-embedder-refactor/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewcvs/maven/components/branches/maven-embedder-refactor/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=391654&r1=391653&r2=391654&view=diff
==============================================================================
--- maven/components/branches/maven-embedder-refactor/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/branches/maven-embedder-refactor/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Wed Apr 5 08:58:32 2006
@@ -791,8 +791,6 @@
{
try
{
- System.out.println( "mavenTools = " + mavenTools );
-
return mavenTools.buildArtifactRepositories( model.getRepositories() );
}
catch ( InvalidRepositoryException e )
Modified: maven/components/branches/maven-embedder-refactor/maven-tools/src/main/java/org/apache/maven/DefaultMavenTools.java
URL: http://svn.apache.org/viewcvs/maven/components/branches/maven-embedder-refactor/maven-tools/src/main/java/org/apache/maven/DefaultMavenTools.java?rev=391654&r1=391653&r2=391654&view=diff
==============================================================================
--- maven/components/branches/maven-embedder-refactor/maven-tools/src/main/java/org/apache/maven/DefaultMavenTools.java (original)
+++ maven/components/branches/maven-embedder-refactor/maven-tools/src/main/java/org/apache/maven/DefaultMavenTools.java Wed Apr 5 08:58:32 2006
@@ -46,10 +46,13 @@
// ArtifactRepository
// ----------------------------------------------------------------------------
- public ArtifactRepository createLocalRepository( File directory,
- boolean offline,
- boolean updateSnapshots,
- String globalChecksumPolicy )
+ public ArtifactRepository createDefaultLocalRepository()
+ throws SettingsConfigurationException
+ {
+ return createLocalRepository( new File( getLocalRepositoryPath() ) );
+ }
+
+ public ArtifactRepository createLocalRepository( File directory )
{
String localRepositoryUrl = directory.getAbsolutePath();
@@ -253,10 +256,6 @@
*/
public File getUserSettingsPath( String optionalSettingsPath )
{
-
-
-
-
File userSettingsPath = new File( System.getProperty( ALT_USER_SETTINGS_XML_LOCATION ) + "" );
if ( !userSettingsPath.exists() )
@@ -324,6 +323,23 @@
}
return localRepositoryPath;
+ }
+
+ public String getLocalRepositoryPath()
+ throws SettingsConfigurationException
+ {
+ return getLocalRepositoryPath( buildSettings( getUserSettingsPath( null ),
+ getGlobalSettingsPath(),
+ false,
+ true,
+ false,
+ Boolean.FALSE) );
+ }
+
+ public ArtifactRepository getLocalRepository()
+ throws SettingsConfigurationException
+ {
+ return createLocalRepository( new File( getLocalRepositoryPath() ) );
}
// ----------------------------------------------------------------------------
Modified: maven/components/branches/maven-embedder-refactor/maven-tools/src/main/java/org/apache/maven/MavenTools.java
URL: http://svn.apache.org/viewcvs/maven/components/branches/maven-embedder-refactor/maven-tools/src/main/java/org/apache/maven/MavenTools.java?rev=391654&r1=391653&r2=391654&view=diff
==============================================================================
--- maven/components/branches/maven-embedder-refactor/maven-tools/src/main/java/org/apache/maven/MavenTools.java (original)
+++ maven/components/branches/maven-embedder-refactor/maven-tools/src/main/java/org/apache/maven/MavenTools.java Wed Apr 5 08:58:32 2006
@@ -1,12 +1,10 @@
package org.apache.maven;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
import org.apache.maven.artifact.InvalidRepositoryException;
-import org.apache.maven.settings.Settings;
+import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.model.DeploymentRepository;
import org.apache.maven.model.Repository;
-import org.apache.maven.model.RepositoryPolicy;
+import org.apache.maven.settings.Settings;
import java.io.File;
import java.util.List;
@@ -48,17 +46,10 @@
//
// ----------------------------------------------------------------------------
- ArtifactRepository createLocalRepository( File localRepositoryPath,
- boolean offline,
- boolean updateSnapshots,
- String globalChecksumPolicy );
-
- ArtifactRepository createRepository( String repositoryId,
- String repositoryUrl,
- boolean offline,
- boolean updateSnapshots,
- String globalChecksumPolicy );
+ ArtifactRepository createDefaultLocalRepository()
+ throws SettingsConfigurationException;
+ ArtifactRepository createLocalRepository( File localRepositoryPath );
Settings buildSettings( File userSettingsPath,
File globalSettingsPath,
@@ -77,6 +68,9 @@
File getGlobalSettingsPath();
String getLocalRepositoryPath( Settings settings );
+
+ String getLocalRepositoryPath()
+ throws SettingsConfigurationException;
// ----------------------------------------------------------------------------
// Methods taken from ProjectUtils