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 2008/12/14 07:24:02 UTC
svn commit: r726383 - in /maven/components/trunk: ./
maven-core/src/main/java/org/apache/maven/plugin/
maven-embedder/src/main/java/org/apache/maven/embedder/execution/
maven-project-builder/src/main/java/org/apache/maven/project/builder/
maven-project...
Author: jvanzyl
Date: Sat Dec 13 22:24:01 2008
New Revision: 726383
URL: http://svn.apache.org/viewvc?rev=726383&view=rev
Log:
MNG-3905 First pass at collecting all the repository related code and started to decouple from maven-artifact
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java
maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/DefaultMavenTools.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/MavenTools.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java
maven/components/trunk/pom.xml
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=726383&r1=726382&r2=726383&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 Sat Dec 13 22:24:01 2008
@@ -558,17 +558,21 @@
PluginDescriptor pluginDescriptor = mojoDescriptor.getPluginDescriptor();
Xpp3Dom dom = mojoExecution.getConfiguration();
+
if ( dom != null )
{
try
{
List<InterpolatorProperty> interpolatorProperties = new ArrayList<InterpolatorProperty>();
+
interpolatorProperties.addAll( InterpolatorProperty.toInterpolatorProperties( session.getProjectBuilderConfiguration().getExecutionProperties(),
PomInterpolatorTag.SYSTEM_PROPERTIES.name()));
+
interpolatorProperties.addAll( InterpolatorProperty.toInterpolatorProperties( session.getProjectBuilderConfiguration().getUserProperties(),
PomInterpolatorTag.USER_PROPERTIES.name()));
- String interpolatedDom =
- Interpolator.interpolateXmlString( String.valueOf( dom ), interpolatorProperties );
+
+ String interpolatedDom = Interpolator.interpolateXmlString( String.valueOf( dom ), interpolatorProperties );
+
dom = Xpp3DomBuilder.build( new StringReader( interpolatedDom ) );
}
catch ( XmlPullParserException e )
Modified: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java?rev=726383&r1=726382&r2=726383&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java (original)
+++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java Sat Dec 13 22:24:01 2008
@@ -26,11 +26,10 @@
import java.util.Properties;
import org.apache.maven.Maven;
+import org.apache.maven.MavenTools;
import org.apache.maven.artifact.manager.WagonManager;
import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
-import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
import org.apache.maven.embedder.Configuration;
import org.apache.maven.embedder.MavenEmbedder;
import org.apache.maven.embedder.MavenEmbedderException;
@@ -53,15 +52,11 @@
import org.apache.maven.settings.SettingsConfigurationException;
import org.apache.maven.settings.SettingsUtils;
import org.apache.maven.wagon.repository.RepositoryPermissions;
-import org.codehaus.plexus.MutablePlexusContainer;
-import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-import org.codehaus.plexus.context.Context;
-import org.codehaus.plexus.context.ContextException;
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.xml.Xpp3Dom;
@@ -86,12 +81,6 @@
implements MavenExecutionRequestPopulator
{
@Requirement
- private ArtifactRepositoryFactory artifactRepositoryFactory;
-
- @Requirement
- private ArtifactRepositoryLayout defaultArtifactRepositoryLayout;
-
- @Requirement
private PlexusContainer container;
@Requirement
@@ -100,6 +89,9 @@
@Requirement
private MavenSettingsBuilder settingsBuilder;
+ @Requirement
+ private MavenTools mavenTools;
+
public MavenExecutionRequest populateDefaults( MavenExecutionRequest request,
Configuration configuration )
throws MavenEmbedderException
@@ -259,8 +251,7 @@
snapshots.setUpdatePolicy( ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN );
}
- ArtifactRepository ar = artifactRepositoryFactory.createArtifactRepository( r.getId(), r.getUrl(),
- defaultArtifactRepositoryLayout, snapshots, releases );
+ ArtifactRepository ar = mavenTools.createRepository( r.getId(), r.getUrl(), snapshots, releases );
request.addRemoteRepository( ar );
}
@@ -347,10 +338,6 @@
}
}
- // ------------------------------------------------------------------------
- // Local Repository
- // ------------------------------------------------------------------------
-
private void localRepository( MavenExecutionRequest request,
Configuration configuration )
throws MavenEmbedderException
@@ -368,119 +355,7 @@
request.setLocalRepository( createLocalRepository( request, request.getSettings(), configuration ) );
}
}
-
-
- public ArtifactRepository createLocalRepository( MavenExecutionRequest request,
- Settings settings,
- Configuration configuration )
- throws MavenEmbedderException
- {
- String localRepositoryPath = null;
-
- if ( request.getLocalRepositoryPath() != null )
- {
- localRepositoryPath = request.getLocalRepositoryPath().getAbsolutePath();
- }
-
- if ( StringUtils.isEmpty( localRepositoryPath ) && ( configuration.getLocalRepository() != null ) )
- {
- localRepositoryPath = configuration.getLocalRepository().getAbsolutePath();
- }
-
- if ( StringUtils.isEmpty( localRepositoryPath ) )
- {
- localRepositoryPath = settings.getLocalRepository();
- }
-
- if ( StringUtils.isEmpty( localRepositoryPath ) )
- {
- localRepositoryPath = MavenEmbedder.defaultUserLocalRepository.getAbsolutePath();
- }
-
- return createLocalRepository(
- localRepositoryPath,
- MavenEmbedder.DEFAULT_LOCAL_REPO_ID );
- }
-
- public ArtifactRepository createLocalRepository( String url,
- String repositoryId )
- throws MavenEmbedderException
- {
- try
- {
- return createRepository(
- canonicalFileUrl( url ),
- repositoryId );
- }
- catch ( IOException e )
- {
- throw new MavenEmbedderException(
- "Unable to resolve canonical path for local repository " + url,
- e );
- }
- }
-
- private String canonicalFileUrl( String url )
- throws IOException
- {
- if ( !url.startsWith( "file:" ) )
- {
- url = "file://" + url;
- }
- else if ( url.startsWith( "file:" ) && !url.startsWith( "file://" ) )
- {
- url = "file://" + url.substring( "file:".length() );
- }
-
- // So now we have an url of the form file://<path>
-
- // We want to eliminate any relative path nonsense and lock down the path so we
- // need to fully resolve it before any sub-modules use the path. This can happen
- // when you are using a custom settings.xml that contains a relative path entry
- // for the local repository setting.
-
- File localRepository = new File( url.substring( "file://".length() ) );
-
- if ( !localRepository.isAbsolute() )
- {
- url = "file://" + localRepository.getCanonicalPath();
- }
-
- return url;
- }
-
- public ArtifactRepository createRepository( String url,
- String repositoryId )
- {
- // snapshots vs releases
- // offline = to turning the update policy off
-
- //TODO: we'll need to allow finer grained creation of repositories but this will do for now
-
- String updatePolicyFlag = ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS;
-
- String checksumPolicyFlag = ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN;
-
- ArtifactRepositoryPolicy snapshotsPolicy =
- new ArtifactRepositoryPolicy(
- true,
- updatePolicyFlag,
- checksumPolicyFlag );
-
- ArtifactRepositoryPolicy releasesPolicy =
- new ArtifactRepositoryPolicy(
- true,
- updatePolicyFlag,
- checksumPolicyFlag );
-
- return artifactRepositoryFactory.createArtifactRepository(
- repositoryId,
- url,
- defaultArtifactRepositoryLayout,
- snapshotsPolicy,
- releasesPolicy );
- }
-
+
// ------------------------------------------------------------------------
// Snapshot Policy
// ------------------------------------------------------------------------
@@ -505,12 +380,12 @@
{
if ( request.isUpdateSnapshots() )
{
- artifactRepositoryFactory.setGlobalUpdatePolicy( ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS );
+ mavenTools.setGlobalUpdatePolicy( ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS );
}
else if ( request.isNoSnapshotUpdates() )
{
getLogger().info( "+ Supressing SNAPSHOT updates." );
- artifactRepositoryFactory.setGlobalUpdatePolicy( ArtifactRepositoryPolicy.UPDATE_POLICY_NEVER );
+ mavenTools.setGlobalUpdatePolicy( ArtifactRepositoryPolicy.UPDATE_POLICY_NEVER );
}
}
}
@@ -528,7 +403,7 @@
// We take the checksum passed in via the request.
// ------------------------------------------------------------------------
- artifactRepositoryFactory.setGlobalChecksumPolicy( request.getGlobalChecksumPolicy() );
+ mavenTools.setGlobalChecksumPolicy( request.getGlobalChecksumPolicy() );
}
// ------------------------------------------------------------------------
@@ -626,7 +501,7 @@
}
RepositoryPermissions defaultPermissions = new RepositoryPermissions();
-
+
defaultPermissions.setDirectoryMode( "775" );
defaultPermissions.setFileMode( "664" );
@@ -649,6 +524,43 @@
}
}
+ public ArtifactRepository createLocalRepository( MavenExecutionRequest request,
+ Settings settings,
+ Configuration configuration )
+ throws MavenEmbedderException
+ {
+ String localRepositoryPath = null;
+
+ if ( request.getLocalRepositoryPath() != null )
+ {
+ localRepositoryPath = request.getLocalRepositoryPath().getAbsolutePath();
+ }
+
+ if ( StringUtils.isEmpty( localRepositoryPath ) && ( configuration.getLocalRepository() != null ) )
+ {
+ localRepositoryPath = configuration.getLocalRepository().getAbsolutePath();
+ }
+
+ if ( StringUtils.isEmpty( localRepositoryPath ) )
+ {
+ localRepositoryPath = settings.getLocalRepository();
+ }
+
+ if ( StringUtils.isEmpty( localRepositoryPath ) )
+ {
+ localRepositoryPath = MavenEmbedder.defaultUserLocalRepository.getAbsolutePath();
+ }
+
+ try
+ {
+ return mavenTools.createLocalRepository( localRepositoryPath, MavenEmbedder.DEFAULT_LOCAL_REPO_ID );
+ }
+ catch ( IOException e )
+ {
+ throw new MavenEmbedderException( "Cannot create local repository.", e );
+ }
+ }
+
// ------------------------------------------------------------------------
// Eventing
// ------------------------------------------------------------------------
@@ -689,15 +601,12 @@
{
// ------------------------------------------------------------------------
// Profile Manager
- //
- //
// ------------------------------------------------------------------------
ProfileActivationContext activationContext = request.getProfileActivationContext();
if ( activationContext == null )
{
- activationContext = new DefaultProfileActivationContext(
- request.getProperties(), false );
+ activationContext = new DefaultProfileActivationContext( request.getProperties(), false );
}
activationContext.setExplicitlyActiveProfileIds( request.getActiveProfiles() );
Modified: maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java?rev=726383&r1=726382&r2=726383&view=diff
==============================================================================
--- maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java (original)
+++ maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java Sat Dec 13 22:24:01 2008
@@ -169,13 +169,16 @@
}
}
- List<ModelProperty> pList = new ArrayList<ModelProperty>();
+ List<ModelProperty> pList;
+
if ( !hasExecutionsTag )
{
pList = managementContainer.getProperties();
}
else
{
+ pList = new ArrayList<ModelProperty>();
+
for ( ModelProperty mp : managementContainer.getProperties() )
{
if ( !mp.getUri().equals( ProjectUri.Build.Plugins.Plugin.Executions.xUri ) )
@@ -191,8 +194,8 @@
if ( action.equals( ModelContainerAction.JOIN ) || action.equals( ModelContainerAction.DELETE ) )
{
- ModelDataSource dependencyDatasource = new DefaultModelDataSource();
- dependencyDatasource.init( pluginContainer.getProperties(), Arrays.asList( new ArtifactModelContainerFactory(),
+ ModelDataSource pluginDatasource = new DefaultModelDataSource();
+ pluginDatasource.init( pluginContainer.getProperties(), Arrays.asList( new ArtifactModelContainerFactory(),
new IdModelContainerFactory() ) );
ModelDataSource managementDatasource = new DefaultModelDataSource();
@@ -208,12 +211,12 @@
source.join( pluginContainer, new ArtifactModelContainerFactory().create(managementPropertiesWithoutExecutions) );
- List<ModelContainer> dependencyExecutionContainers = dependencyDatasource.queryFor(ProjectUri.Build.Plugins.Plugin.Executions.Execution.xUri);
+ List<ModelContainer> pluginExecutionContainers = pluginDatasource.queryFor(ProjectUri.Build.Plugins.Plugin.Executions.Execution.xUri);
List<ModelContainer> joinedExecutionContainers = new ArrayList<ModelContainer>();
for(ModelContainer a : managementExecutionContainers)
{
- for(ModelContainer b : dependencyExecutionContainers)
+ for(ModelContainer b : pluginExecutionContainers)
{
if(b.containerAction(a).equals(ModelContainerAction.JOIN))
{
@@ -269,8 +272,8 @@
ModelDataSource executionSource = new DefaultModelDataSource();
executionSource.init( pluginContainer.getProperties(),
Arrays.asList( new ArtifactModelContainerFactory(), new PluginExecutionIdModelContainerFactory() ) );
- List<ModelContainer> executionContainers =
- executionSource.queryFor( ProjectUri.Build.Plugins.Plugin.Executions.Execution.xUri );
+ List<ModelContainer> executionContainers = executionSource.queryFor( ProjectUri.Build.Plugins.Plugin.Executions.Execution.xUri );
+
if ( executionContainers.size() < 2 )
{
continue;
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/DefaultMavenTools.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/DefaultMavenTools.java?rev=726383&r1=726382&r2=726383&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/DefaultMavenTools.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/DefaultMavenTools.java Sat Dec 13 22:24:01 2008
@@ -19,6 +19,8 @@
* under the License.
*/
+import java.io.File;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -27,6 +29,7 @@
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
+import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
import org.apache.maven.model.DeploymentRepository;
import org.apache.maven.model.Repository;
import org.apache.maven.model.RepositoryPolicy;
@@ -44,6 +47,9 @@
@Requirement
private ArtifactRepositoryFactory artifactRepositoryFactory;
+ @Requirement
+ private ArtifactRepositoryLayout defaultArtifactRepositoryLayout;
+
// ----------------------------------------------------------------------------
// Code snagged from ProjectUtils: this will have to be moved somewhere else
// but just trying to collect it all in one place right now.
@@ -140,4 +146,78 @@
return new ArtifactRepositoryPolicy( enabled, updatePolicy, checksumPolicy );
}
+
+ // From MavenExecutionRequestPopulator
+
+ public ArtifactRepository createLocalRepository( String url, String repositoryId )
+ throws IOException
+ {
+ return createRepository( canonicalFileUrl( url ), repositoryId );
+ }
+
+ private String canonicalFileUrl( String url )
+ throws IOException
+ {
+ if ( !url.startsWith( "file:" ) )
+ {
+ url = "file://" + url;
+ }
+ else if ( url.startsWith( "file:" ) && !url.startsWith( "file://" ) )
+ {
+ url = "file://" + url.substring( "file:".length() );
+ }
+
+ // So now we have an url of the form file://<path>
+
+ // We want to eliminate any relative path nonsense and lock down the path so we
+ // need to fully resolve it before any sub-modules use the path. This can happen
+ // when you are using a custom settings.xml that contains a relative path entry
+ // for the local repository setting.
+
+ File localRepository = new File( url.substring( "file://".length() ) );
+
+ if ( !localRepository.isAbsolute() )
+ {
+ url = "file://" + localRepository.getCanonicalPath();
+ }
+
+ return url;
+ }
+
+ public ArtifactRepository createRepository( String url,
+ String repositoryId )
+ {
+ // snapshots vs releases
+ // offline = to turning the update policy off
+
+ //TODO: we'll need to allow finer grained creation of repositories but this will do for now
+
+ String updatePolicyFlag = ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS;
+
+ String checksumPolicyFlag = ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN;
+
+ ArtifactRepositoryPolicy snapshotsPolicy = new ArtifactRepositoryPolicy( true, updatePolicyFlag, checksumPolicyFlag );
+
+ ArtifactRepositoryPolicy releasesPolicy = new ArtifactRepositoryPolicy( true, updatePolicyFlag, checksumPolicyFlag );
+
+ return artifactRepositoryFactory.createArtifactRepository( repositoryId, url, defaultArtifactRepositoryLayout, snapshotsPolicy, releasesPolicy );
+ }
+
+ public ArtifactRepository createRepository( String url,
+ String repositoryId,
+ ArtifactRepositoryPolicy snapshotsPolicy,
+ ArtifactRepositoryPolicy releasesPolicy )
+ {
+ return artifactRepositoryFactory.createArtifactRepository( repositoryId, url, defaultArtifactRepositoryLayout, snapshotsPolicy, releasesPolicy );
+ }
+
+ public void setGlobalUpdatePolicy( String policy )
+ {
+ artifactRepositoryFactory.setGlobalUpdatePolicy( policy );
+ }
+
+ public void setGlobalChecksumPolicy( String policy )
+ {
+ artifactRepositoryFactory.setGlobalChecksumPolicy( policy );
+ }
}
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/MavenTools.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/MavenTools.java?rev=726383&r1=726382&r2=726383&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/MavenTools.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/MavenTools.java Sat Dec 13 22:24:01 2008
@@ -21,9 +21,12 @@
import org.apache.maven.artifact.InvalidRepositoryException;
import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
+import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
import org.apache.maven.model.DeploymentRepository;
import org.apache.maven.model.Repository;
+import java.io.IOException;
import java.util.List;
/**
@@ -45,4 +48,15 @@
ArtifactRepository buildArtifactRepository( Repository repo )
throws InvalidRepositoryException;
+
+ ArtifactRepository createLocalRepository( String url, String repositoryId )
+ throws IOException;
+
+ ArtifactRepository createRepository( String url, String repositoryId );
+
+ ArtifactRepository createRepository( String url, String repositoryId, ArtifactRepositoryPolicy snapshotsPolicy, ArtifactRepositoryPolicy releasesPolicy );
+
+ void setGlobalUpdatePolicy( String policy );
+
+ void setGlobalChecksumPolicy( String policy );
}
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=726383&r1=726382&r2=726383&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Sat Dec 13 22:24:01 2008
@@ -75,15 +75,6 @@
protected MavenProfilesBuilder profilesBuilder;
@Requirement
- protected ArtifactResolver artifactResolver;
-
- @Requirement
- protected ArtifactMetadataSource artifactMetadataSource;
-
- @Requirement
- private ArtifactFactory artifactFactory;
-
- @Requirement
private ModelValidator validator;
@Requirement
@@ -101,6 +92,15 @@
private MavenXpp3Reader modelReader;
private Logger logger;
+
+ @Requirement
+ protected ArtifactResolver artifactResolver;
+
+ @Requirement
+ protected ArtifactMetadataSource artifactMetadataSource;
+
+ @Requirement
+ private ArtifactFactory artifactFactory;
//DO NOT USE, it is here only for backward compatibility reasons. The existing
// maven-assembly-plugin (2.2-beta-1) is accessing it via reflection.
@@ -135,22 +135,21 @@
public MavenProject build( File projectDescriptor, ProjectBuilderConfiguration config )
throws ProjectBuildingException
{
- MavenProject project = readModelFromLocalPath( "unknown", projectDescriptor, new PomArtifactResolver(
- config.getLocalRepository(), repositoryHelper.buildArtifactRepositories(
- getSuperProject( config, projectDescriptor, true ).getModel() ), artifactResolver ), config );
-
- project.setFile( projectDescriptor );
- project = buildWithProfiles( project.getModel(), config, projectDescriptor, project.getParentFile(), true );
-
- Build build = project.getBuild();
- // NOTE: setting this script-source root before path translation, because
- // the plugin tools compose basedir and scriptSourceRoot into a single file.
- project.addScriptSourceRoot( build.getScriptSourceDirectory() );
- project.addCompileSourceRoot( build.getSourceDirectory() );
- project.addTestCompileSourceRoot( build.getTestSourceDirectory() );
- project.setFile( projectDescriptor );
+ MavenProject project = readModelFromLocalPath( "unknown", projectDescriptor, new PomArtifactResolver( config.getLocalRepository(), repositoryHelper
+ .buildArtifactRepositories( getSuperProject( config, projectDescriptor, true ).getModel() ), artifactResolver ), config );
+
+ project.setFile( projectDescriptor );
+ project = buildWithProfiles( project.getModel(), config, projectDescriptor, project.getParentFile(), true );
+
+ Build build = project.getBuild();
+ // NOTE: setting this script-source root before path translation, because
+ // the plugin tools compose basedir and scriptSourceRoot into a single file.
+ project.addScriptSourceRoot( build.getScriptSourceDirectory() );
+ project.addCompileSourceRoot( build.getSourceDirectory() );
+ project.addTestCompileSourceRoot( build.getTestSourceDirectory() );
+ project.setFile( projectDescriptor );
- setBuildOutputDirectoryOnParent( project );
+ setBuildOutputDirectoryOnParent( project );
return project;
}
@@ -189,8 +188,7 @@
return project;
}
- File f = (artifact.getFile() != null) ? artifact.getFile() :
- new File( localRepository.getBasedir(), localRepository.pathOf( artifact ) );;
+ File f = (artifact.getFile() != null) ? artifact.getFile() : new File( localRepository.getBasedir(), localRepository.pathOf( artifact ) );
repositoryHelper.findModelFromRepository( artifact, remoteArtifactRepositories, localRepository );
ProjectBuilderConfiguration config = new DefaultProjectBuilderConfiguration().setLocalRepository( localRepository );
@@ -200,7 +198,6 @@
project = readModelFromLocalPath( "unknown", artifact.getFile(), new PomArtifactResolver( config.getLocalRepository(), artifactRepositories, artifactResolver ), config );
project = buildWithProfiles( project.getModel(), config, artifact.getFile(), project.getParentFile(), false );
- // project = readModelFromLocalPath( "unknown", artifact.getFile(), new PomArtifactResolver( config.getLocalRepository(), artifactRepositories, artifactResolver ), config );
artifact.setFile( f );
project.setVersion( artifact.getVersion() );
@@ -242,8 +239,10 @@
}
List<InterpolatorProperty> interpolatorProperties = new ArrayList<InterpolatorProperty>();
+
interpolatorProperties.addAll( InterpolatorProperty.toInterpolatorProperties( config.getExecutionProperties(),
PomInterpolatorTag.SYSTEM_PROPERTIES.name()));
+
interpolatorProperties.addAll( InterpolatorProperty.toInterpolatorProperties( config.getUserProperties(),
PomInterpolatorTag.USER_PROPERTIES.name()));
@@ -482,6 +481,7 @@
}
URL url = DefaultMavenProjectBuilder.class.getResource( "pom-" + MAVEN_MODEL_VERSION + ".xml" );
+
String projectId = safeVersionlessKey( STANDALONE_SUPERPOM_GROUPID, STANDALONE_SUPERPOM_ARTIFACTID );
Reader reader = null;
@@ -492,13 +492,13 @@
if ( modelSource.indexOf( "<modelVersion>" + MAVEN_MODEL_VERSION ) < 0 )
{
- throw new InvalidProjectModelException( projectId, "Not a v" + MAVEN_MODEL_VERSION + " POM.",
- new File( "." ) );
+ throw new InvalidProjectModelException( projectId, "Not a v" + MAVEN_MODEL_VERSION + " POM.", new File( "." ) );
}
StringReader sReader = new StringReader( modelSource );
superModel = modelReader.read( sReader, STRICT_MODEL_PARSING );
+
return superModel;
}
catch ( XmlPullParserException e )
@@ -526,14 +526,11 @@
throw new IllegalArgumentException( "projectDescriptor: null, Project Id =" + projectId );
}
- if ( projectBuilder == null )
- {
- throw new IllegalArgumentException( "projectBuilder: not initialized" );
- }
-
List<InterpolatorProperty> interpolatorProperties = new ArrayList<InterpolatorProperty>();
+
interpolatorProperties.addAll( InterpolatorProperty.toInterpolatorProperties( config.getExecutionProperties(),
PomInterpolatorTag.SYSTEM_PROPERTIES.name()));
+
interpolatorProperties.addAll( InterpolatorProperty.toInterpolatorProperties( config.getUserProperties(),
PomInterpolatorTag.USER_PROPERTIES.name()));
@@ -545,13 +542,19 @@
}
interpolatorProperties.add(new InterpolatorProperty("${mavenVersion}", MavenProjectBuilder.STANDALONE_SUPERPOM_VERSION, PomInterpolatorTag.SYSTEM_PROPERTIES.name()));
+
MavenProject mavenProject;
+
try
{
- mavenProject = projectBuilder.buildFromLocalPath( new FileInputStream( projectDescriptor ), Arrays.asList(
- getSuperProject( config, projectDescriptor, true ).getModel() ), null, interpolatorProperties, resolver,
- projectDescriptor.getParentFile(),
- config );
+ mavenProject = projectBuilder.buildFromLocalPath( new FileInputStream( projectDescriptor ),
+ Arrays.asList(
+ getSuperProject( config, projectDescriptor, true ).getModel() ),
+ null,
+ interpolatorProperties,
+ resolver,
+ projectDescriptor.getParentFile(),
+ config );
}
catch ( IOException e )
{
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java?rev=726383&r1=726382&r2=726383&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java Sat Dec 13 22:24:01 2008
@@ -37,21 +37,20 @@
// site
MavenProject build( File project, ArtifactRepository localRepository, ProfileManager profileManager )
throws ProjectBuildingException;
-
+
// remote resources plugin
MavenProject buildFromRepository( Artifact artifact, List remoteArtifactRepositories, ArtifactRepository localRepository, boolean allowStub )
- throws ProjectBuildingException;
- //
+ throws ProjectBuildingException;
MavenProject build( File project, ProjectBuilderConfiguration configuration )
throws ProjectBuildingException;
- MavenProjectBuildingResult buildProjectWithDependencies( File project, ProjectBuilderConfiguration config )
+ MavenProjectBuildingResult buildProjectWithDependencies( File project, ProjectBuilderConfiguration configuration )
throws ProjectBuildingException;
MavenProject buildFromRepository( Artifact artifact, List remoteArtifactRepositories, ArtifactRepository localRepository )
throws ProjectBuildingException;
- MavenProject buildStandaloneSuperProject( ProjectBuilderConfiguration config )
+ MavenProject buildStandaloneSuperProject( ProjectBuilderConfiguration configuration )
throws ProjectBuildingException;
}
Modified: maven/components/trunk/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/pom.xml?rev=726383&r1=726382&r2=726383&view=diff
==============================================================================
--- maven/components/trunk/pom.xml (original)
+++ maven/components/trunk/pom.xml Sat Dec 13 22:24:01 2008
@@ -46,44 +46,6 @@
<system>jira</system>
<url>http://jira.codehaus.org/browse/MNG</url>
</issueManagement>
-
- <!-- TODO: TAKE THIS OUT BEFORE WE RELEASE! -->
- <repositories>
- <repository>
- <id>sonatype.snapshots</id>
- <url>http://repository.sonatype.org/service/local/repositories/snapshots/content/</url>
- <releases>
- <enabled>false</enabled>
- </releases>
- </repository>
- <repository>
- <id>sonatype.releases</id>
- <url>http://repository.sonatype.org/service/local/repositories/releases/content/</url>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- <repository>
- <id>apache.snapshots</id>
- <url>http://people.apache.org/repo/m2-snapshot-repository/</url>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- <releases>
- <enabled>false</enabled>
- </releases>
- </repository>
- <repository>
- <id>codehaus.snapshots</id>
- <url>http://snapshots.repository.codehaus.org/</url>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- <releases>
- <enabled>false</enabled>
- </releases>
- </repository>
- </repositories>
<mailingLists>
<mailingList>
<name>Maven Developer List</name>
@@ -297,7 +259,7 @@
<plexusUtilsVersion>1.5.5</plexusUtilsVersion>
<wagonVersion>1.0-beta-4</wagonVersion>
<mavenSharedModel>1.0-SNAPSHOT</mavenSharedModel>
- <mercuryVersion>1.0.0-alpha-2-SNAPSHOT</mercuryVersion>
+ <mercuryVersion>1.0.0-alpha-2</mercuryVersion>
<woodstoxVersion>3.2.6</woodstoxVersion>
<modelloVersion>1.0-alpha-22</modelloVersion>
</properties>
Re: svn commit: r726383 - in /maven/components/trunk: ./ maven-core/src/main/java/org/apache/maven/plugin/ maven-embedder/src/main/java/org/apache/maven/embedder/execution/ maven-project-builder/src/main/java/org/apache/maven/project/builder/ maven-project...
Posted by Brett Porter <br...@apache.org>.
On 14/12/2008, at 5:24 PM, jvanzyl@apache.org wrote:
> Author: jvanzyl
> Date: Sat Dec 13 22:24:01 2008
> New Revision: 726383
>
> URL: http://svn.apache.org/viewvc?rev=726383&view=rev
> Log:
> MNG-3905 First pass at collecting all the repository related code
> and started to decouple from maven-artifact
>
>
> Modified: maven/components/trunk/pom.xml
> URL: http://svn.apache.org/viewvc/maven/components/trunk/pom.xml?rev=726383&r1=726382&r2=726383&view=diff
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- maven/components/trunk/pom.xml (original)
> +++ maven/components/trunk/pom.xml Sat Dec 13 22:24:01 2008
> @@ -46,44 +46,6 @@
> <system>jira</system>
> <url>http://jira.codehaus.org/browse/MNG</url>
> </issueManagement>
> -
> - <!-- TODO: TAKE THIS OUT BEFORE WE RELEASE! -->
> - <repositories>
> - <repository>
> - <id>sonatype.snapshots</id>
> - <url>http://repository.sonatype.org/service/local/repositories/snapshots/content/
> </url>
> - <releases>
> - <enabled>false</enabled>
> - </releases>
> - </repository>
> - <repository>
> - <id>sonatype.releases</id>
> - <url>http://repository.sonatype.org/service/local/repositories/releases/content/
> </url>
> - <snapshots>
> - <enabled>false</enabled>
> - </snapshots>
> - </repository>
These are required for the plugin manager snapshot (see http://markmail.org/message/r7gbdhluvjhyd7rp)
Could you please put them back until the question Benjamin raised in
that thread has been addressed?
>
> - <repository>
> - <id>apache.snapshots</id>
> - <url>http://people.apache.org/repo/m2-snapshot-repository/</
> url>
> - <snapshots>
> - <enabled>true</enabled>
> - </snapshots>
> - <releases>
> - <enabled>false</enabled>
> - </releases>
> - </repository>
This is also required for the shared-model snapshot.
Thanks!
- Brett
--
Brett Porter
brett@apache.org
http://blogs.exist.com/bporter/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org