You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by si...@apache.org on 2008/07/18 08:07:50 UTC
svn commit: r677830 - in
/maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project:
./ builder/ builder/impl/
Author: sisbell
Date: Thu Jul 17 23:07:49 2008
New Revision: 677830
URL: http://svn.apache.org/viewvc?rev=677830&view=rev
Log:
Numerous fixes.
Added:
maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/impl/DomainModelCache.java
Modified:
maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/ArtifactModelContainerFactory.java
maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/IdModelContainerFactory.java
maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java
maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java
maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/ProjectBuilder.java
maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java
Modified: maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=677830&r1=677829&r2=677830&view=diff
==============================================================================
--- maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Thu Jul 17 23:07:49 2008
@@ -126,7 +126,7 @@
implements MavenProjectBuilder,
Initializable, LogEnabled
{
- protected MavenProfilesBuilder profilesBuilder;
+ protected MavenProfilesBuilder profilesBuilder;
protected ArtifactResolver artifactResolver;
@@ -487,28 +487,16 @@
{
// getLogger().debug( "Checking cache-hit on project (in build*): " + projectDescriptor );
- MavenProject legacy_project = projectWorkspace.getProject( projectDescriptor );
-
- // if ( legacy_project == null )
- // {
-// getLogger().debug( "Allowing project-build to proceed for: " + projectDescriptor );
-
- Model legacy_model = readModelLegacy( "unknown", projectDescriptor, STRICT_MODEL_PARSING );
-
- legacy_project = buildInternal(legacy_model,
- config,
- buildArtifactRepositories( getSuperModel() ),
- projectDescriptor,
- STRICT_MODEL_PARSING,
- true,
- true );
+ MavenProject project = projectWorkspace.getProject( projectDescriptor );
+ if ( project == null )
+ {
Model model = readModelFromLocalPath( "unknown", projectDescriptor, new PomArtifactResolver(config.getLocalRepository(),
buildArtifactRepositories( getSuperModel() ), artifactResolver) );
- Parent parent = legacy_model.getParent();
+ Parent parent = model.getParent();
- model.setParent(null);
- MavenProject project = buildInternal(model,
+ //model.setParent(null);
+ project = buildInternal(model,
config,
buildArtifactRepositories( getSuperModel() ),
projectDescriptor,
@@ -516,42 +504,9 @@
true,
true );
- project.getModel().setParent(parent);
- /*
- PomClassicDomainModel domainModel = null;
- PomClassicDomainModel legacy_domainModel = null;
- try {
- domainModel = new PomClassicDomainModel(project.getModel());
- legacy_domainModel = new PomClassicDomainModel(legacy_project.getModel());
-
- if(!domainModel.equals(legacy_domainModel)) {
- byte[] x = domainModel.asString().getBytes();
- byte[] y = legacy_domainModel.asString().getBytes();
- int breakPoint = x.length;
- for(int i = 0; i < x.length; i++) {
- if(x[i] != y[i]) {
- System.out.println("Break at position = " + i);
- breakPoint = i;
- break;
- }
- }
-
- System.out.println("-----------------***");
- System.out.println(domainModel.asString().substring(0, breakPoint));
- System.out.println("--------------------BREAK-------------------");
- System.out.println(domainModel.asString().substring(breakPoint, x.length));
-
- System.out.println(legacy_domainModel.asString().substring(0, breakPoint));
- System.out.println("--------------------BREAK-------------------");
- System.out.println(legacy_domainModel.asString().substring(breakPoint, y.length));
+ // project.getModel().setParent(parent);
- System.out.println("------------------");
- // throw new ProjectBuildingException("", "");
- }
- } catch (IOException e) {
- e.printStackTrace();
}
- */
return project;
}
@@ -560,8 +515,9 @@
ArtifactRepository localRepository )
throws ProjectBuildingException
{
- String projectId = safeVersionlessKey( artifact.getGroupId(), artifact.getArtifactId() );
+ String projectId = safeVersionlessKey( artifact.getGroupId(), artifact.getArtifactId() );
+ getLogger().info("findModelFromRepository ID = " + projectId);
remoteArtifactRepositories = normalizeToArtifactRepositories( remoteArtifactRepositories, projectId );
Artifact projectArtifact;
@@ -593,45 +549,11 @@
legacy_model = readModelLegacy( projectId, file, STRICT_MODEL_PARSING );
- model = readModelFromRepository( "unknown", file, new PomArtifactResolver(localRepository,
- buildArtifactRepositories( getSuperModel() ), artifactResolver) );
- model.setParent(legacy_model.getParent());
-
- /*
- PomClassicDomainModel domainModel = new PomClassicDomainModel(model);
- PomClassicDomainModel legacy_domainModel = new PomClassicDomainModel(legacy_model);
-
- if(!domainModel.equals(legacy_domainModel)) {
- byte[] x = domainModel.asString().getBytes();
- byte[] y = legacy_domainModel.asString().getBytes();
- int breakPoint = x.length;
- for(int i = 0; i < x.length; i++) {
- if(x[i] != y[i]) {
- System.out.println("Break at position = " + i);
- breakPoint = i;
- break;
- }
- }
-
- System.out.println("-----------------Repository Model: File* = " + file.getAbsolutePath());
- System.out.println(domainModel.asString().substring(0, breakPoint));
- System.out.println("--------------------BREAK-------------------");
- System.out.println(domainModel.asString().substring(breakPoint, x.length));
-
- System.out.println(legacy_domainModel.asString().substring(0, breakPoint));
- System.out.println("--------------------BREAK-------------------");
- System.out.println(legacy_domainModel.asString().substring(breakPoint, y.length));
-
- System.out.println("------------------");
- // throw new ProjectBuildingException("", "");
-
- }
- */
String downloadUrl = null;
ArtifactStatus status = ArtifactStatus.NONE;
- DistributionManagement distributionManagement = model.getDistributionManagement();
+ DistributionManagement distributionManagement = legacy_model.getDistributionManagement();
if ( distributionManagement != null )
{
@@ -650,7 +572,7 @@
}
else
{
- projectArtifact.setDownloadUrl( model.getUrl() );
+ projectArtifact.setDownloadUrl( legacy_model.getUrl() );
}
}
catch ( ArtifactResolutionException e )
@@ -661,12 +583,8 @@
{
throw new ProjectBuildingException( projectId, "POM '" + projectId + "' not found in repository: " + e.getMessage(), e );
}
- /*
- catch(IOException e) {
- throw new ProjectBuildingException( projectId, "POM '" + projectId + "' not found in repository: " + e.getMessage(), e );
- } */
- return model;
+ return legacy_model;
}
private List normalizeToArtifactRepositories( List remoteArtifactRepositories,
@@ -914,9 +832,9 @@
// getLogger().debug( "Caching project: " + project.getId() + " (also keyed by file: " + project.getFile() + ")" );
- //TODO: SI - Disable for now
- // projectWorkspace.storeProjectByCoordinate( project );
- // projectWorkspace.storeProjectByFile( project );
+
+ projectWorkspace.storeProjectByCoordinate( project );
+ projectWorkspace.storeProjectByFile( project );
project.setManagedVersionMap( createManagedVersionMap( projectId, project.getDependencyManagement(), projectDescriptor ) );
@@ -2172,7 +2090,7 @@
MavenProject mavenProject;
try {
mavenProject = projectBuilder.buildFromLocalPath(new FileInputStream(projectDescriptor),
- Arrays.asList(getSuperModel()), null, resolver,
+ null, null, resolver,
projectDescriptor.getParentFile());
} catch (IOException e) {
e.printStackTrace();
@@ -2182,31 +2100,4 @@
return mavenProject.getModel();
}
-
- private Model readModelFromRepository( String projectId,
- File projectDescriptor,
- PomArtifactResolver resolver )
- throws ProjectBuildingException
- {
- if(projectDescriptor == null) {
- throw new IllegalArgumentException("projectDescriptor: null, Project Id =" + projectId);
- }
-
- if(projectBuilder == null) {
- throw new IllegalArgumentException("projectBuilder: not initialized");
- }
-
- MavenProject mavenProject;
- try {
- mavenProject = projectBuilder.buildFromRepository(new FileInputStream(projectDescriptor),
- Arrays.asList(getSuperModel()), null, resolver
- );
- } catch (IOException e) {
- e.printStackTrace();
- throw new ProjectBuildingException(projectId, "File = " + projectDescriptor.getAbsolutePath() , e);
- }
-
- return mavenProject.getModel();
-
- }
}
Modified: maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/ArtifactModelContainerFactory.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/ArtifactModelContainerFactory.java?rev=677830&r1=677829&r2=677830&view=diff
==============================================================================
--- maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/ArtifactModelContainerFactory.java (original)
+++ maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/ArtifactModelContainerFactory.java Thu Jul 17 23:07:49 2008
@@ -41,6 +41,8 @@
private String version;
+ private String type;
+
private List<ModelProperty> properties;
private ArtifactModelContainer(List<ModelProperty> properties) {
@@ -54,6 +56,8 @@
this.artifactId = mp.getValue();
} else if (mp.getUri().endsWith("groupId")) {
this.groupId = mp.getValue();
+ } else if(mp.getUri().equals(ProjectUri.Dependencies.Dependency.type)) {
+ this.type = mp.getValue();
}
}
if (groupId == null) {
@@ -66,6 +70,10 @@
throw new IllegalArgumentException("Properties does not contain artifact id. Group ID = " + groupId +
", Version = " + version);
}
+
+ if(type == null) {
+ type = "";
+ }
}
public ModelContainerAction containerAction(ModelContainer modelContainer) {
@@ -82,7 +90,16 @@
if (c.version == null) {
return ModelContainerAction.NOP;
}
- return (c.version.equals(version)) ? ModelContainerAction.JOIN : ModelContainerAction.DELETE;
+
+ if(c.version.equals(version)) {
+ if(c.type.equals(type)) {
+ return ModelContainerAction.JOIN;
+ } else {
+ return ModelContainerAction.NOP;
+ }
+ } else {
+ return ModelContainerAction.DELETE;
+ }
} else {
return ModelContainerAction.NOP;
}
Modified: maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/IdModelContainerFactory.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/IdModelContainerFactory.java?rev=677830&r1=677829&r2=677830&view=diff
==============================================================================
--- maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/IdModelContainerFactory.java (original)
+++ maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/IdModelContainerFactory.java Thu Jul 17 23:07:49 2008
@@ -15,7 +15,6 @@
ProjectUri.Reporting.Plugins.Plugin.ReportSets.ReportSet.xUri,
ProjectUri.Profiles.Profile.xUri,
ProjectUri.Build.Plugins.Plugin.Executions.Execution.xUri
- //ProjectUri.Profiles.Profile.Build.Plugins.Plugin.Executions.Execution.xUri
));
public Collection<String> getUris() {
Modified: maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java?rev=677830&r1=677829&r2=677830&view=diff
==============================================================================
--- maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java (original)
+++ maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java Thu Jul 17 23:07:49 2008
@@ -22,6 +22,9 @@
private String eventHistory;
+ private Model model;
+
+
/**
* Constructor
*
@@ -46,6 +49,25 @@
this.inputBytes = removeIllegalCharacters(IOUtil.toByteArray(inputStream));
}
+ public boolean matchesModel(Model a) {
+ Model model;
+ try {
+ model = getModel();
+ } catch (IOException e) {
+ return false;
+ }
+
+ String groupId = (model.getGroupId() == null) ? model.getParent().getGroupId() : model.getGroupId();
+ String artifactId = (model.getArtifactId() == null) ? model.getParent().getArtifactId() : model.getArtifactId();
+ String version = (model.getVersion() == null) ? model.getParent().getVersion() : model.getVersion();
+
+ String aGroupId = (a.getGroupId() == null) ? a.getParent().getGroupId() : a.getGroupId();
+ String aArtifactId = (a.getArtifactId() == null) ? a.getParent().getArtifactId() : a.getArtifactId();
+ String aVersion = (a.getVersion() == null) ? a.getParent().getVersion() : a.getVersion();
+
+ return groupId.equals(aGroupId) && artifactId.equals(aArtifactId) && version.equals(aVersion);
+ }
+
public boolean matchesParent(Parent parent) {
Model model;
try {
@@ -80,8 +102,11 @@
* @return maven model
*/
public Model getModel() throws IOException {
+ if(model != null) {
+ return model;
+ }
try {
- return new MavenXpp3Reader().read( new ByteArrayInputStream( inputBytes ) );
+ return new MavenXpp3Reader().read( ReaderFactory.newXmlReader(new ByteArrayInputStream( inputBytes )) );
}
catch (XmlPullParserException e) {
e.printStackTrace();
Modified: maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java?rev=677830&r1=677829&r2=677830&view=diff
==============================================================================
--- maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java (original)
+++ maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java Thu Jul 17 23:07:49 2008
@@ -24,6 +24,9 @@
this.uris = new HashSet<String>(Arrays.asList(
ProjectUri.Build.Extensions.xUri,
ProjectUri.Build.PluginManagement.Plugins.xUri,
+ ProjectUri.Build.PluginManagement.Plugins.Plugin.Dependencies.xUri,
+ ProjectUri.Build.PluginManagement.Plugins.Plugin.Dependencies.Dependency.Exclusions.xUri,
+ ProjectUri.Build.PluginManagement.Plugins.Plugin.Executions.xUri,
ProjectUri.Build.Plugins.xUri,
ProjectUri.Build.Plugins.Plugin.configuration,
ProjectUri.Build.Plugins.Plugin.Dependencies.xUri,
@@ -32,9 +35,7 @@
ProjectUri.Build.Resources.Resource.includes,
ProjectUri.Build.Resources.Resource.excludes,
ProjectUri.Build.TestResources.xUri,
- //ProjectUri.Build.TestResources.TestResource.Includes.xUri,
- // ProjectUri.Build.TestResources.TestResource.excludes,
-
+
ProjectUri.CiManagement.Notifiers.xUri,
ProjectUri.Contributors.xUri,
@@ -76,13 +77,7 @@
"http://apache.org/maven/project/profiles/profile/build/plugins/plugin/dependencies/dependency/exclusions#collection",
"http://apache.org/maven/project/profiles/profile/dependencyManagement/dependencies/dependency/exclusions#collection",
"http://apache.org/maven/project/profiles/profile/reporting/plugins/plugin/reportSets#collection",
- "http://apache.org/maven/project/profiles/profile/build/plugins/plugin/executions#collection",
-
- "http://apache.org/maven/project/build/plugins/plugin/dependencies/dependency/exclusions#collection",
- "http://apache.org/maven/project/build/pluginManagement/plugins/plugin/dependencies/dependency/exclusions#collection",
- "http://apache.org/maven/project/build/pluginManagement/plugins/plugin/executions#collection",
- "http://apache.org/maven/project/build/pluginManagement/plugins/plugin/dependencies#collection"
-
+ "http://apache.org/maven/project/profiles/profile/build/plugins/plugin/executions#collection"
));
}
@@ -250,8 +245,15 @@
if(domainModels.indexOf(domainModel) > 0 && mp.getUri().startsWith(ProjectUri.Build.TestResources.xUri)){
clearedProperties.add(mp);
}
- }
+ }
+ //Profiles not inherited rule
+ for(ModelProperty mp : tmp) {
+ if(domainModels.indexOf(domainModel) > 0 && mp.getUri().startsWith(ProjectUri.Profiles.xUri)){
+ clearedProperties.add(mp);
+ }
+ }
+
ModelProperty artifactId = getPropertyFor(ProjectUri.artifactId, tmp);
if(artifactId != null) {
projectNames.add(0, artifactId.getValue());
@@ -261,12 +263,13 @@
modelProperties.addAll(tmp);
//Remove Parent Info
+ /*
for (ModelProperty mp : tmp) {
if (mp.getUri().startsWith(ProjectUri.Parent.xUri)) {
modelProperties.remove(mp);
}
}
-
+ */
}
return modelProperties;
}
Modified: maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/ProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/ProjectBuilder.java?rev=677830&r1=677829&r2=677830&view=diff
==============================================================================
--- maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/ProjectBuilder.java (original)
+++ maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/ProjectBuilder.java Thu Jul 17 23:07:49 2008
@@ -19,9 +19,4 @@
PomArtifactResolver resolver, File baseDirectory)
throws IOException;
- MavenProject buildFromRepository(InputStream pom, List<Model> inheritedModels,
- Collection<InterpolatorProperty> interpolatorProperties,
- PomArtifactResolver resolver)
- throws IOException;
-
}
Modified: maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java?rev=677830&r1=677829&r2=677830&view=diff
==============================================================================
--- maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java (original)
+++ maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java Thu Jul 17 23:07:49 2008
@@ -38,55 +38,12 @@
this.artifactFactory = artifactFactory;
}
- public MavenProject buildFromRepository(InputStream pom, List<Model> inheritedModels,
- Collection<InterpolatorProperty> interpolatorProperties,
- PomArtifactResolver resolver)
- throws IOException {
-
- if (pom == null) {
- throw new IllegalArgumentException("pom: null");
- }
-
- if (resolver == null) {
- throw new IllegalArgumentException("resolver: null");
- }
-
- if(inheritedModels == null) {
- inheritedModels = new ArrayList<Model>();
- } else {
- inheritedModels = new ArrayList<Model>(inheritedModels);
- Collections.reverse(inheritedModels);
- }
-
- List<InterpolatorProperty> properties;
- if (interpolatorProperties == null) {
- properties = new ArrayList<InterpolatorProperty>();
- } else {
- properties = new ArrayList<InterpolatorProperty>(interpolatorProperties);
- }
-
- DomainModel domainModel = new PomClassicDomainModel(pom);
- List<DomainModel> domainModels = new ArrayList<DomainModel>();
- domainModels.add(domainModel);
- domainModels.addAll(getDomainModelParentsFromRepository((PomClassicDomainModel) domainModel, resolver));
- for(Model model : inheritedModels) {
- domainModels.add(new PomClassicDomainModel(model));
- }
-
- PomClassicTransformer transformer = new PomClassicTransformer();
- ModelTransformerContext ctx = new ModelTransformerContext(
- Arrays.asList(new ArtifactModelContainerFactory(), new IdModelContainerFactory()));
- Model model = ((PomClassicDomainModel) ctx.transform(domainModels, transformer,
- transformer, properties)).getModel();
- // System.out.println("*:" + new PomClassicDomainModel(model).asString());
- return new MavenProject(model);
- }
-
public MavenProject buildFromLocalPath(InputStream pom, List<Model> inheritedModels,
Collection<InterpolatorProperty> interpolatorProperties,
PomArtifactResolver resolver, File projectDirectory)
throws IOException {
-
+ logger.info("BuildFromLocalPath");
+ long start = System.currentTimeMillis();
if (pom == null) {
throw new IllegalArgumentException("pom: null");
}
@@ -119,7 +76,6 @@
if(domainModel.getModel().getParent() != null) {
if(isParentLocal(domainModel.getModel().getParent(), projectDirectory )) {
- logger.info("Found parent on local path:");
domainModels.addAll(getDomainModelParentsFromLocalPath(domainModel, resolver,
projectDirectory));
} else {
@@ -136,8 +92,9 @@
Arrays.asList(new ArtifactModelContainerFactory(), new IdModelContainerFactory()));
PomClassicDomainModel transformedDomainModel = ((PomClassicDomainModel) ctx.transform(domainModels, transformer,
transformer, properties));
- //logger.info(transformedDomainModel.getEventHistory());
- return new MavenProject(transformedDomainModel.getModel());
+ Model model = transformedDomainModel.getModel();
+ System.out.println("buildFromLocalPath: Time = " + (System.currentTimeMillis() - start));
+ return new MavenProject(model);
}
private boolean isParentLocal(Parent parent, File projectDirectory){
@@ -159,12 +116,13 @@
throw new IllegalArgumentException("artifactFactory: not initialized");
}
+ long start = System.currentTimeMillis();
+
List<DomainModel> domainModels = new ArrayList<DomainModel>();
Parent parent = domainModel.getModel().getParent();
if (parent == null) {
- logger.info("End of inheritance chain");
return domainModels;
}
@@ -177,12 +135,14 @@
logger.warn("Parent pom ids do not match: File = " + artifactParent.getFile().getAbsolutePath());
return domainModels;
} else {
- logger.info("Adding pom to hierarchy: Group Id = " + parent.getGroupId() + ", Artifact Id ="
- + parent.getArtifactId() + ", Version = " + parent.getVersion() + ", File" + artifactParent.getFile());
+ // logger.info("Adding pom to hierarchy: Group Id = " + parent.getGroupId() + ", Artifact Id ="
+ // + parent.getArtifactId() + ", Version = " + parent.getVersion() + ", File" + artifactParent.getFile());
}
domainModels.add(parentDomainModel);
domainModels.addAll(getDomainModelParentsFromRepository(parentDomainModel, artifactResolver));
+ System.out.println("getDomainModelParentsFromRepository: Time = " + (System.currentTimeMillis() - start) + ", Gid ="
+ + parent.getGroupId() + ", Artifact Id= " + parent.getArtifactId() + ", Version = " + parent.getVersion());
return domainModels;
}
@@ -195,29 +155,22 @@
if (artifactFactory == null) {
throw new IllegalArgumentException("artifactFactory: not initialized");
}
+ long start = System.currentTimeMillis();
+
List<DomainModel> domainModels = new ArrayList<DomainModel>();
Parent parent = domainModel.getModel().getParent();
if (parent == null) {
- logger.info("End of inheritance chain");
return domainModels;
}
Model model = domainModel.getModel();
- logger.info("-----------------");
- System.out.println("Project Directory =" + projectDirectory.getAbsolutePath());
- logger.info("Parent Path = " + model.getParent().getRelativePath());
- logger.info("Relative Path = " + new File(projectDirectory, model.getParent().getRelativePath()));
-
File parentFile = new File(projectDirectory, model.getParent().getRelativePath()).getCanonicalFile();
- //logger.info("Parent File = " + parentFile.getAbsolutePath());
if (parentFile.isDirectory()) {
- // logger.info("Is directory = " + parentFile.getAbsolutePath());
parentFile = new File(parentFile.getAbsolutePath(), "pom.xml");
- //logger.info("New Directory = " + parentFile.getAbsolutePath());
}
if(!parentFile.exists()) {
@@ -232,13 +185,14 @@
domainModels.add(parentDomainModel);
if(parentDomainModel.getModel().getParent() != null) {
if(isParentLocal( parentDomainModel.getModel().getParent(), parentFile.getParentFile() )) {
- // logger.info("Parent Local: " + parentFile.getParentFile());
domainModels.addAll(getDomainModelParentsFromLocalPath(parentDomainModel, artifactResolver, parentFile.getParentFile()));
} else {
- //logger.info("Parent Repo: ");
domainModels.addAll(getDomainModelParentsFromRepository(parentDomainModel, artifactResolver));
}
}
+
+ System.out.println("getDomainModelParentsFromLocalPath: Time = " + (System.currentTimeMillis() - start) + ", Gid ="
+ + model.getGroupId() + ", Artifact Id= " + model.getArtifactId() + ", Version = " + model.getVersion());
return domainModels;
}
Added: maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/impl/DomainModelCache.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/impl/DomainModelCache.java?rev=677830&view=auto
==============================================================================
--- maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/impl/DomainModelCache.java (added)
+++ maven/sandbox/branches/SI_MAVEN_2_1_A/maven-project/src/main/java/org/apache/maven/project/builder/impl/DomainModelCache.java Thu Jul 17 23:07:49 2008
@@ -0,0 +1,59 @@
+package org.apache.maven.project.builder.impl;
+
+import org.apache.maven.model.Model;
+import org.apache.maven.project.builder.PomClassicDomainModel;
+
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.Set;
+
+final class DomainModelCache {
+
+ private Set<PomClassicDomainModel> cache;
+
+ DomainModelCache() {
+ cache = new HashSet<PomClassicDomainModel>();
+ }
+
+ public PomClassicDomainModel findDomainModelFor(Model model) {
+ for (PomClassicDomainModel domainModel : cache) {
+ if (domainModel.matchesModel(model)) {
+ System.out.println("Return domain model from cache: " + model.getGroupId() + ":" + model.getArtifactId()
+ + model.getVersion());
+ return domainModel;
+ }
+ }
+ return null;
+ }
+
+ public PomClassicDomainModel findDomainModelParentFor(Model model) {
+ for (PomClassicDomainModel domainModel : cache) {
+ if (domainModel.matchesParent(model.getParent())) {
+ return domainModel;
+ }
+ }
+ return null;
+ }
+
+ public void storeDomainModel(PomClassicDomainModel domainModel) {
+ if (!cache.contains(domainModel)) {
+ cache.add(domainModel);
+ }
+ }
+
+ public boolean contains(PomClassicDomainModel domainModel) {
+ Model model;
+ try {
+ model = domainModel.getModel();
+ } catch (IOException e) {
+ return false;
+ }
+
+ for (PomClassicDomainModel dm : cache) {
+ if (dm.matchesModel(model)) {
+ return true;
+ }
+ }
+ return false;
+ }
+}