You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/08/11 14:48:15 UTC

svn commit: r803093 - in /maven/components/trunk: maven-compat/src/main/java/org/apache/maven/artifact/repository/ maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/ maven-compat/src/main/java/org/apache/maven/artifact/resolver/ ...

Author: bentmann
Date: Tue Aug 11 12:48:14 2009
New Revision: 803093

URL: http://svn.apache.org/viewvc?rev=803093&view=rev
Log:
o Re-added support for offline mode

Modified:
    maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultRepositoryRequest.java
    maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/RepositoryRequest.java
    maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java
    maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java
    maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
    maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/metadata/DefaultMetadataResolutionRequest.java
    maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/metadata/MetadataResolutionRequest.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java

Modified: maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultRepositoryRequest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultRepositoryRequest.java?rev=803093&r1=803092&r2=803093&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultRepositoryRequest.java (original)
+++ maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultRepositoryRequest.java Tue Aug 11 12:48:14 2009
@@ -31,12 +31,26 @@
     implements RepositoryRequest
 {
 
+    private boolean offline;
+
     private ArtifactRepository localRepository;
 
     private List<ArtifactRepository> remoteRepositories;
 
     private RepositoryCache cache;
 
+    public boolean isOffline()
+    {
+        return offline;
+    }
+
+    public DefaultRepositoryRequest setOffline( boolean offline )
+    {
+        this.offline = offline;
+
+        return this;
+    }
+
     public ArtifactRepository getLocalRepository()
     {
         return localRepository;

Modified: maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/RepositoryRequest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/RepositoryRequest.java?rev=803093&r1=803092&r2=803093&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/RepositoryRequest.java (original)
+++ maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/RepositoryRequest.java Tue Aug 11 12:48:14 2009
@@ -29,16 +29,64 @@
 public interface RepositoryRequest
 {
 
+    /**
+     * Indicates whether network access to remote repositories has been disabled.
+     * 
+     * @return {@code true} if remote access has been disabled, {@code false} otherwise.
+     */
+    boolean isOffline();
+
+    /**
+     * Enables/disables network access to remote repositories.
+     * 
+     * @param offline {@code true} to disable remote access, {@code false} to allow network access.
+     * @return This request, never {@code null}.
+     */
+    RepositoryRequest setOffline( boolean offline );
+
+    /**
+     * Gets the local repository to use.
+     * 
+     * @return The local repository to use or {@code null} if not set.
+     */
     ArtifactRepository getLocalRepository();
 
+    /**
+     * Sets the local repository to use.
+     * 
+     * @param localRepository The local repository to use.
+     * @return This request, never {@code null}.
+     */
     RepositoryRequest setLocalRepository( ArtifactRepository localRepository );
 
+    /**
+     * Gets the remote repositories to use.
+     * 
+     * @return The remote repositories to use, never {@code null}.
+     */
     List<ArtifactRepository> getRemoteRepositories();
 
+    /**
+     * Sets the remote repositories to use.
+     * 
+     * @param remoteRepositories The remote repositories to use.
+     * @return This request, never {@code null}.
+     */
     RepositoryRequest setRemoteRepositories( List<ArtifactRepository> remoteRepositories );
 
+    /**
+     * Gets the repository cache to use.
+     * 
+     * @return The repository cache to use or {@code null} if none.
+     */
     RepositoryCache getCache();
 
+    /**
+     * Sets the repository cache to use.
+     * 
+     * @param cache The repository cache to use, may be {@code null}.
+     * @return This request, never {@code null}.
+     */
     RepositoryRequest setCache( RepositoryCache cache );
 
 }

Modified: maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java?rev=803093&r1=803092&r2=803093&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java (original)
+++ maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java Tue Aug 11 12:48:14 2009
@@ -106,52 +106,60 @@
         ArtifactRepository localRepository = request.getLocalRepository();
         List<ArtifactRepository> remoteRepositories = request.getRemoteRepositories();
 
-        for ( ArtifactRepository repository : remoteRepositories )
+        if ( !request.isOffline() )
         {
-            ArtifactRepositoryPolicy policy = metadata.isSnapshot() ? repository.getSnapshots() : repository.getReleases();
+            for ( ArtifactRepository repository : remoteRepositories )
+            {
+                ArtifactRepositoryPolicy policy =
+                    metadata.isSnapshot() ? repository.getSnapshots() : repository.getReleases();
 
-            File file = new File( localRepository.getBasedir(), localRepository.pathOfLocalRepositoryMetadata( metadata, repository ) );
+                File file =
+                    new File( localRepository.getBasedir(), localRepository.pathOfLocalRepositoryMetadata( metadata,
+                                                                                                           repository ) );
 
-            if ( updateCheckManager.isUpdateRequired( metadata, repository, file ) )
-            {
-                getLogger().info( metadata.getKey() + ": checking for updates from " + repository.getId() );
-                try
-                {
-                    wagonManager.getArtifactMetadata( metadata, repository, file, policy.getChecksumPolicy() );
-                }
-                catch ( ResourceDoesNotExistException e )
+                if ( updateCheckManager.isUpdateRequired( metadata, repository, file ) )
                 {
-                    getLogger().debug( metadata + " could not be found on repository: " + repository.getId() );
+                    getLogger().info( metadata.getKey() + ": checking for updates from " + repository.getId() );
+                    try
+                    {
+                        wagonManager.getArtifactMetadata( metadata, repository, file, policy.getChecksumPolicy() );
+                    }
+                    catch ( ResourceDoesNotExistException e )
+                    {
+                        getLogger().debug( metadata + " could not be found on repository: " + repository.getId() );
 
-                    // delete the local copy so the old details aren't used.
-                    if ( file.exists() )
+                        // delete the local copy so the old details aren't used.
+                        if ( file.exists() )
+                        {
+                            file.delete();
+                        }
+                    }
+                    catch ( TransferFailedException e )
+                    {
+                        getLogger().warn( metadata + " could not be retrieved from repository: " + repository.getId()
+                                              + " due to an error: " + e.getMessage() );
+                        getLogger().debug( "Exception", e );
+                    }
+                    finally
                     {
-                        file.delete();
+                        updateCheckManager.touch( metadata, repository, file );
                     }
                 }
-                catch ( TransferFailedException e )
+                else
                 {
-                    getLogger().warn( metadata + " could not be retrieved from repository: " + repository.getId() + " due to an error: " + e.getMessage() );
-                    getLogger().debug( "Exception", e );
+                    getLogger().debug( "Skipping metadata update of " + metadata.getKey() + " from "
+                                           + repository.getId() );
                 }
-                finally
+
+                // TODO: should this be inside the above check?
+                // touch file so that this is not checked again until interval has passed
+                if ( file.exists() )
                 {
-                    updateCheckManager.touch( metadata, repository, file );
+                    file.setLastModified( System.currentTimeMillis() );
                 }
             }
-            else
-            {
-                getLogger().debug( "Skipping metadata update of " + metadata.getKey() + " from " + repository.getId() );
-            }
-
-            // TODO: should this be inside the above check?
-            // touch file so that this is not checked again until interval has passed
-            if ( file.exists() )
-            {
-                file.setLastModified( System.currentTimeMillis() );
-            }
         }
-            
+
         try
         {
             mergeMetadata( metadata, remoteRepositories, localRepository );

Modified: maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java?rev=803093&r1=803092&r2=803093&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java (original)
+++ maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java Tue Aug 11 12:48:14 2009
@@ -68,6 +68,8 @@
 
     private boolean resolveTransitively = false;
 
+    private boolean offline;
+
     public ArtifactResolutionRequest()
     {
         // nothing here
@@ -78,6 +80,7 @@
         setLocalRepository( request.getLocalRepository() );
         setRemoteRepositories( request.getRemoteRepositories() );
         setCache( request.getCache() );
+        setOffline( request.isOffline() );
     }
 
     public Artifact getArtifact()
@@ -230,4 +233,16 @@
         return this;
     }
 
+    public boolean isOffline()
+    {
+        return offline;
+    }
+
+    public ArtifactResolutionRequest setOffline( boolean offline )
+    {
+        this.offline = offline;
+
+        return this;
+    }
+
 }

Modified: maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java?rev=803093&r1=803092&r2=803093&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java (original)
+++ maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java Tue Aug 11 12:48:14 2009
@@ -162,7 +162,7 @@
 
             destination = artifact.getFile();
 
-            if ( force || !destination.exists() || ( artifact.isSnapshot() && !localCopy ) )
+            if ( ( force || !destination.exists() || ( artifact.isSnapshot() && !localCopy ) ) && !request.isOffline() )
             {
                 try
                 {
@@ -175,12 +175,6 @@
                     {
                         wagonManager.getArtifact( artifact, remoteRepositories, downloadMonitor );
                     }
-
-                    if ( !artifact.isResolved() && !destination.exists() )
-                    {
-                        throw new ArtifactResolutionException( "Failed to resolve artifact, possibly due to a repository list that is not appropriately equipped for this artifact's metadata.",
-                                                               artifact, remoteRepositories );
-                    }
                 }
                 catch ( ResourceDoesNotExistException e )
                 {
@@ -196,6 +190,20 @@
             {
                 artifact.setResolved( true );
             }
+            else
+            {
+                if ( request.isOffline() )
+                {
+                    throw new ArtifactResolutionException( "The repository system is offline"
+                        + " and the requested artifact is not locally available", artifact, remoteRepositories );
+                }
+                else
+                {
+                    throw new ArtifactResolutionException( "Failed to resolve artifact, possibly due to a "
+                        + "repository list that is not appropriately equipped for this artifact's metadata.", artifact,
+                                                           remoteRepositories );
+                }
+            }
                                         
             // 1.0-SNAPSHOT
             //

Modified: maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/metadata/DefaultMetadataResolutionRequest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/metadata/DefaultMetadataResolutionRequest.java?rev=803093&r1=803092&r2=803093&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/metadata/DefaultMetadataResolutionRequest.java (original)
+++ maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/metadata/DefaultMetadataResolutionRequest.java Tue Aug 11 12:48:14 2009
@@ -19,6 +19,7 @@
  * under the License.
  */
 
+import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.maven.artifact.Artifact;
@@ -45,6 +46,8 @@
 
     private boolean resolveManagedVersions;
 
+    private boolean offline;
+
     public DefaultMetadataResolutionRequest()
     {
         // does nothing
@@ -55,6 +58,7 @@
         setLocalRepository( request.getLocalRepository() );
         setRemoteRepositories( request.getRemoteRepositories() );
         setCache( request.getCache() );
+        setOffline( request.isOffline() );
     }
 
     public Artifact getArtifact()
@@ -83,6 +87,11 @@
 
     public List<ArtifactRepository> getRemoteRepositories()
     {
+        if ( remoteRepositories == null )
+        {
+            remoteRepositories = new ArrayList<ArtifactRepository>();
+        }
+
         return remoteRepositories;
     }
 
@@ -98,9 +107,10 @@
         return resolveManagedVersions;
     }
 
-    public MetadataResolutionRequest setResolveManagedVersions( boolean resolveManagedVersions )
+    public DefaultMetadataResolutionRequest setResolveManagedVersions( boolean resolveManagedVersions )
     {
         this.resolveManagedVersions = resolveManagedVersions;
+
         return this;
     }
 
@@ -109,11 +119,23 @@
         return cache;
     }
 
-    public MetadataResolutionRequest setCache( RepositoryCache cache )
+    public DefaultMetadataResolutionRequest setCache( RepositoryCache cache )
     {
         this.cache = cache;
 
         return this;
     }
 
+    public boolean isOffline()
+    {
+        return offline;
+    }
+
+    public DefaultMetadataResolutionRequest setOffline( boolean offline )
+    {
+        this.offline = offline;
+
+        return this;
+    }
+
 }

Modified: maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/metadata/MetadataResolutionRequest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/metadata/MetadataResolutionRequest.java?rev=803093&r1=803092&r2=803093&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/metadata/MetadataResolutionRequest.java (original)
+++ maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/metadata/MetadataResolutionRequest.java Tue Aug 11 12:48:14 2009
@@ -23,6 +23,7 @@
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.RepositoryCache;
 import org.apache.maven.artifact.repository.RepositoryRequest;
 
 /**
@@ -35,6 +36,21 @@
 {
 
     /**
+     * Indicates whether network access to remote repositories has been disabled.
+     * 
+     * @return {@code true} if remote access has been disabled, {@code false} otherwise.
+     */
+    boolean isOffline();
+
+    /**
+     * Enables/disables network access to remote repositories.
+     * 
+     * @param offline {@code true} to disable remote access, {@code false} to allow network access.
+     * @return This request, never {@code null}.
+     */
+    MetadataResolutionRequest setOffline( boolean offline );
+
+    /**
      * Gets the artifact to resolve metadata for.
      * 
      * @return The artifact to resolve metadata for or {@code null} if not set.
@@ -67,19 +83,34 @@
     /**
      * Gets the remote repositories to use for the resolution.
      * 
-     * @return The remote repositories to use for the resolution or {@code null} if not set.
+     * @return The remote repositories to use for the resolution, never {@code null}.
      */
     List<ArtifactRepository> getRemoteRepositories();
 
     /**
-     * Sets the remote repository to use for the resolution.
+     * Sets the remote repositories to use for the resolution.
      * 
-     * @param remoteRepositories The remote repository to use for the resolution.
+     * @param remoteRepositories The remote repositories to use for the resolution.
      * @return This request, never {@code null}.
      */
     MetadataResolutionRequest setRemoteRepositories( List<ArtifactRepository> remoteRepositories );
 
     /**
+     * Gets the repository cache to use.
+     * 
+     * @return The repository cache to use or {@code null} if none.
+     */
+    RepositoryCache getCache();
+
+    /**
+     * Sets the repository cache to use.
+     * 
+     * @param cache The repository cache to use, may be {@code null}.
+     * @return This request, never {@code null}.
+     */
+    MetadataResolutionRequest setCache( RepositoryCache cache );
+
+    /**
      * Determines whether the managed version information should be retrieved.
      * 
      * @return {@code true} if the dependency management information should be retrieved, {@code false} otherwise.

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java?rev=803093&r1=803092&r2=803093&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java Tue Aug 11 12:48:14 2009
@@ -898,6 +898,7 @@
             projectBuildingRequest.setRemoteRepositories( getRemoteRepositories() );
             projectBuildingRequest.setPluginArtifactRepositories( getPluginArtifactRepositories() );
             projectBuildingRequest.setRepositoryCache( getRepositoryCache() );
+            projectBuildingRequest.setOffline( isOffline() );
             projectBuildingRequest.setActiveProfileIds( getActiveProfiles() );
             projectBuildingRequest.setInactiveProfileIds( getInactiveProfiles() );
             projectBuildingRequest.setProfiles( getProfiles() );

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java?rev=803093&r1=803092&r2=803093&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java Tue Aug 11 12:48:14 2009
@@ -156,9 +156,7 @@
 
         MavenExecutionResult result = session.getResult();
 
-        RepositoryRequest repositoryRequest = new DefaultRepositoryRequest();
-        repositoryRequest.setLocalRepository( session.getLocalRepository() );
-        repositoryRequest.setCache( session.getRepositoryCache() );
+        RepositoryRequest repositoryRequest = getRepositoryRequest( session, null );
 
         for ( MavenProject currentProject : session.getProjects() )
         {
@@ -366,7 +364,11 @@
 
         request.setCache( session.getRepositoryCache() );
         request.setLocalRepository( session.getLocalRepository() );
-        request.setRemoteRepositories( project.getPluginArtifactRepositories() );
+        if ( project != null )
+        {
+            request.setRemoteRepositories( project.getPluginArtifactRepositories() );
+        }
+        request.setOffline( session.isOffline() );
 
         return request;
     }

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=803093&r1=803092&r2=803093&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java Tue Aug 11 12:48:14 2009
@@ -422,6 +422,7 @@
             request.setLocalRepository( localRepository );
             request.setRemoteRepositories( remoteRepositories );
             request.setCache( session.getRepositoryCache() );
+            request.setOffline( session.isOffline() );
             pluginArtifacts = getPluginArtifacts( pluginArtifact, plugin, request );
         }
         catch ( ArtifactNotFoundException e )

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java?rev=803093&r1=803092&r2=803093&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java Tue Aug 11 12:48:14 2009
@@ -167,6 +167,7 @@
         RepositoryRequest repositoryRequest = new DefaultRepositoryRequest();
         repositoryRequest.setCache( configuration.getRepositoryCache() );
         repositoryRequest.setLocalRepository( configuration.getLocalRepository() );
+        repositoryRequest.setOffline( configuration.isOffline() );
 
         ModelResolver resolver =
             new RepositoryModelResolver( repositorySystem, resolutionErrorHandler, repositoryRequest,
@@ -504,6 +505,7 @@
                 repositoryRequest.setLocalRepository( configuration.getLocalRepository() );
                 repositoryRequest.setRemoteRepositories( project.getPluginArtifactRepositories() );
                 repositoryRequest.setCache( configuration.getRepositoryCache() );
+                repositoryRequest.setOffline( configuration.isOffline() );
 
                 lifecycle.populateDefaultConfigurationForPlugins( model.getBuild().getPlugins(), repositoryRequest );
             }

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java?rev=803093&r1=803092&r2=803093&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java Tue Aug 11 12:48:14 2009
@@ -34,6 +34,8 @@
     implements ProjectBuildingRequest
 {
 
+    private boolean offline;
+
     private RepositoryCache repositoryCache;
 
     private ArtifactRepository localRepository;
@@ -84,6 +86,18 @@
         this.topProject = mavenProject;
     }
 
+    public DefaultProjectBuildingRequest setOffline( boolean offline )
+    {
+        this.offline = offline;
+
+        return this;
+    }
+
+    public boolean isOffline()
+    {
+        return offline;
+    }
+
     public ProjectBuildingRequest setRepositoryCache( RepositoryCache repositoryCache )
     {
         this.repositoryCache = repositoryCache;

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java?rev=803093&r1=803092&r2=803093&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java Tue Aug 11 12:48:14 2009
@@ -33,6 +33,10 @@
 public interface ProjectBuildingRequest
 {
 
+    ProjectBuildingRequest setOffline( boolean offline );
+
+    boolean isOffline();
+
     ProjectBuildingRequest setRepositoryCache( RepositoryCache repositoryCache );
 
     RepositoryCache getRepositoryCache();

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java?rev=803093&r1=803092&r2=803093&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java Tue Aug 11 12:48:14 2009
@@ -469,6 +469,7 @@
                     configuration.setRepositoryCache( repositoryRequest.getCache() );
                     configuration.setLocalRepository( repositoryRequest.getLocalRepository() );
                     configuration.setRemoteRepositories( repositoryRequest.getRemoteRepositories() );
+                    configuration.setOffline( repositoryRequest.isOffline() );
                     configuration.setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL );
                     configuration.setProcessPlugins( false );
                     configuration.setSystemProperties( System.getProperties() );