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/09/11 10:27:13 UTC

svn commit: r694172 - /maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectRestorer.java

Author: sisbell
Date: Thu Sep 11 01:27:13 2008
New Revision: 694172

URL: http://svn.apache.org/viewvc?rev=694172&view=rev
Log:
Dumped most of project restorer code.

Modified:
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectRestorer.java

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectRestorer.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectRestorer.java?rev=694172&r1=694171&r2=694172&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectRestorer.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectRestorer.java Thu Sep 11 01:27:13 2008
@@ -64,7 +64,7 @@
         {
             return;
         }
-
+        /*
         restoreBuildRoots( project, config );
         if ( project.getBuild() != null )
         {
@@ -77,7 +77,7 @@
         {
             restoreDynamicState( executionProject, config );
         }
-
+        */
         project.setConcrete( false );
     }
 
@@ -89,439 +89,24 @@
             return;
         }
 
-        Build build = project.getBuild();
-        if ( build != null )
-        {
-            initResourceMergeIds( build.getResources() );
-            initResourceMergeIds( build.getTestResources() );
-        }
-
         Model model = ModelUtils.cloneModel( project.getModel() );
 
         File basedir = project.getBasedir();
 
-        model = modelInterpolator.interpolate( model, basedir, config, getLogger().isDebugEnabled() );
-
-        List originalInterpolatedCompileSourceRoots =
-            interpolateListOfStrings( project.getCompileSourceRoots(), model, project.getBasedir(), config );
-
-        project.preserveCompileSourceRoots( originalInterpolatedCompileSourceRoots );
-
-        project.setCompileSourceRoots( originalInterpolatedCompileSourceRoots == null
-            ? null
-            : translateListOfPaths( originalInterpolatedCompileSourceRoots, basedir ) );
-
-        List originalInterpolatedTestCompileSourceRoots =
-            interpolateListOfStrings( project.getTestCompileSourceRoots(), model, project.getBasedir(), config );
-
-        project.preserveTestCompileSourceRoots( originalInterpolatedTestCompileSourceRoots );
-        project.setTestCompileSourceRoots( originalInterpolatedTestCompileSourceRoots == null
-            ? null
-            : translateListOfPaths( originalInterpolatedTestCompileSourceRoots, basedir ) );
-
-        List originalInterpolatedScriptSourceRoots =
-            interpolateListOfStrings( project.getScriptSourceRoots(), model, project.getBasedir(), config );
-
-        project.preserveScriptSourceRoots( originalInterpolatedScriptSourceRoots );
-        project.setScriptSourceRoots( originalInterpolatedScriptSourceRoots == null
-            ? null
-            : translateListOfPaths( originalInterpolatedScriptSourceRoots, basedir ) );
-
         Model model2 = ModelUtils.cloneModel( model );
-
         pathTranslator.alignToBaseDirectory( model, basedir );
-
         project.preserveBuild( model2.getBuild() );
-        project.setBuild( model.getBuild() );
 
-        calculateConcreteProjectReferences( project, config );
+        project.setBuild( model.getBuild() );
 
+       //
+        /*
         MavenProject executionProject = project.getExecutionProject();
         if ( executionProject != null && executionProject != project )
         {
             calculateConcreteState( executionProject, config );
         }
-
+        */
         project.setConcrete( true );
     }
-
-
-    private void restoreDynamicProjectReferences( MavenProject project, ProjectBuilderConfiguration config )
-        throws ModelInterpolationException
-    {
-        Map projectRefs = project.getProjectReferences();
-        if ( projectRefs != null )
-        {
-            for ( Iterator it = projectRefs.values().iterator(); it.hasNext(); )
-            {
-                MavenProject projectRef = (MavenProject) it.next();
-                restoreDynamicState( projectRef, config );
-            }
-        }
-    }
-
-    private void restoreBuildRoots( MavenProject project, ProjectBuilderConfiguration config )
-        throws ModelInterpolationException
-    {
-        project.setCompileSourceRoots( restoreListOfStrings( project.getDynamicCompileSourceRoots(),
-                                                             project.getOriginalInterpolatedCompileSourceRoots(),
-                                                             project.getCompileSourceRoots(), project, config ) );
-
-        project.setTestCompileSourceRoots( restoreListOfStrings( project.getDynamicTestCompileSourceRoots(),
-                                                                 project.getOriginalInterpolatedTestCompileSourceRoots(),
-                                                                 project.getTestCompileSourceRoots(), project,
-                                                                 config ) );
-
-        project.setScriptSourceRoots( restoreListOfStrings( project.getDynamicScriptSourceRoots(),
-                                                            project.getOriginalInterpolatedScriptSourceRoots(),
-                                                            project.getScriptSourceRoots(), project, config ) );
-
-        project.clearRestorableRoots();
-    }
-
-    private void restoreModelBuildSection( MavenProject project, ProjectBuilderConfiguration config )
-        throws ModelInterpolationException
-    {
-        Build changedBuild = project.getBuild();
-        Build dynamicBuild = project.getDynamicBuild();
-        Build originalInterpolatedBuild = project.getOriginalInterpolatedBuild();
-
-        dynamicBuild.setResources( restoreResources( dynamicBuild.getResources(),
-                                                     originalInterpolatedBuild.getResources(),
-                                                     changedBuild.getResources(), project, config ) );
-
-        dynamicBuild.setTestResources( restoreResources( dynamicBuild.getTestResources(),
-                                                         originalInterpolatedBuild.getTestResources(),
-                                                         changedBuild.getTestResources(), project, config ) );
-
-        dynamicBuild.setFilters( restoreListOfStrings( dynamicBuild.getFilters(),
-                                                       originalInterpolatedBuild.getFilters(),
-                                                       changedBuild.getFilters(), project, config ) );
-
-        dynamicBuild.setFinalName( restoreString( dynamicBuild.getFinalName(), originalInterpolatedBuild.getFinalName(),
-                                                  changedBuild.getFinalName(), project, config ) );
-
-        dynamicBuild.setDefaultGoal( restoreString( dynamicBuild.getDefaultGoal(),
-                                                    originalInterpolatedBuild.getDefaultGoal(),
-                                                    changedBuild.getDefaultGoal(), project, config ) );
-
-        dynamicBuild.setSourceDirectory( restoreString( dynamicBuild.getSourceDirectory(),
-                                                        originalInterpolatedBuild.getSourceDirectory(),
-                                                        changedBuild.getSourceDirectory(), project, config ) );
-
-        dynamicBuild.setTestSourceDirectory( restoreString( dynamicBuild.getTestSourceDirectory(),
-                                                            originalInterpolatedBuild.getTestSourceDirectory(),
-                                                            changedBuild.getTestSourceDirectory(), project, config ) );
-
-        dynamicBuild.setScriptSourceDirectory( restoreString( dynamicBuild.getScriptSourceDirectory(),
-                                                              originalInterpolatedBuild.getScriptSourceDirectory(),
-                                                              changedBuild.getScriptSourceDirectory(), project,
-                                                              config ) );
-
-        dynamicBuild.setOutputDirectory( restoreString( dynamicBuild.getOutputDirectory(),
-                                                        originalInterpolatedBuild.getOutputDirectory(),
-                                                        changedBuild.getOutputDirectory(), project, config ) );
-
-        dynamicBuild.setTestOutputDirectory( restoreString( dynamicBuild.getTestOutputDirectory(),
-                                                            originalInterpolatedBuild.getTestOutputDirectory(),
-                                                            changedBuild.getTestOutputDirectory(), project, config ) );
-
-        dynamicBuild.setDirectory( restoreString( dynamicBuild.getDirectory(), originalInterpolatedBuild.getDirectory(),
-                                                  changedBuild.getDirectory(), project, config ) );
-
-        project.setBuild( dynamicBuild );
-
-        project.clearRestorableBuild();
-    }
-
-    private List interpolateListOfStrings( List originalStrings, Model model, File projectDir,
-                                           ProjectBuilderConfiguration config )
-        throws ModelInterpolationException
-    {
-        if ( originalStrings == null )
-        {
-            return null;
-        }
-
-        List result = new ArrayList();
-
-        for ( Iterator it = originalStrings.iterator(); it.hasNext(); )
-        {
-            String original = (String) it.next();
-            String interpolated =
-                modelInterpolator.interpolate( original, model, projectDir, config, getLogger().isDebugEnabled() );
-
-            result.add( interpolated );
-        }
-
-        return result;
-    }
-
-    private String restoreString( String originalString, String originalInterpolatedString, String changedString,
-                                  MavenProject project, ProjectBuilderConfiguration config )
-        throws ModelInterpolationException
-    {
-        if ( originalString == null )
-        {
-            return changedString;
-        }
-        else if ( changedString == null )
-        {
-            return originalString;
-        }
-
-        Model model = project.getModel();
-
-        String relativeChangedString;
-        if ( project.getBasedir() != null )
-        {
-            relativeChangedString = pathTranslator.unalignFromBaseDirectory( changedString, project.getBasedir() );
-        }
-        else
-        {
-            relativeChangedString = changedString;
-        }
-
-        String interpolatedOriginal = modelInterpolator.interpolate( originalString, model, project.getBasedir(),
-                                                                     config, getLogger().isDebugEnabled() );
-        String interpolatedOriginal2 = modelInterpolator.interpolate( originalInterpolatedString, model,
-                                                                      project.getBasedir(), config,
-                                                                      getLogger().isDebugEnabled() );
-
-        String interpolatedChanged = modelInterpolator.interpolate( changedString, model, project.getBasedir(), config,
-                                                                    getLogger().isDebugEnabled() );
-        String relativeInterpolatedChanged = modelInterpolator.interpolate( relativeChangedString, model,
-                                                                            project.getBasedir(), config,
-                                                                            getLogger().isDebugEnabled() );
-
-        if ( interpolatedOriginal.equals( interpolatedChanged ) || interpolatedOriginal2.equals( interpolatedChanged ) )
-        {
-            return originalString;
-        }
-        else if ( interpolatedOriginal.equals( relativeInterpolatedChanged ) ||
-            interpolatedOriginal2.equals( relativeInterpolatedChanged ) )
-        {
-            return originalString;
-        }
-
-        return relativeChangedString;
-    }
-
-    private List restoreListOfStrings( List originalStrings, List originalInterpolatedStrings, List changedStrings,
-                                       MavenProject project, ProjectBuilderConfiguration config )
-        throws ModelInterpolationException
-    {
-        if ( originalStrings == null )
-        {
-            return changedStrings;
-        }
-        else if ( changedStrings == null )
-        {
-            return originalStrings;
-        }
-
-        List result = new ArrayList();
-
-        Map orig = new HashMap();
-        for ( int idx = 0; idx < originalStrings.size(); idx++ )
-        {
-            String[] permutations = new String[2];
-
-            permutations[0] = (String) originalInterpolatedStrings.get( idx );
-            permutations[1] = (String) originalStrings.get( idx );
-
-            orig.put( permutations[0], permutations );
-        }
-
-        for ( Iterator it = changedStrings.iterator(); it.hasNext(); )
-        {
-            String changedString = (String) it.next();
-            String relativeChangedString;
-            if ( project.getBasedir() != null )
-            {
-                relativeChangedString = pathTranslator.unalignFromBaseDirectory( changedString, project.getBasedir() );
-            }
-            else
-            {
-                relativeChangedString = changedString;
-            }
-
-            String interpolated = modelInterpolator.interpolate( changedString, project.getModel(),
-                                                                 project.getBasedir(), config,
-                                                                 getLogger().isDebugEnabled() );
-
-            String relativeInterpolated = modelInterpolator.interpolate( relativeChangedString, project.getModel(),
-                                                                         project.getBasedir(), config,
-                                                                         getLogger().isDebugEnabled() );
-
-            String[] original = (String[]) orig.get( interpolated );
-            if ( original == null )
-            {
-                original = (String[]) orig.get( relativeInterpolated );
-            }
-
-            if ( original == null )
-            {
-                result.add( relativeChangedString );
-            }
-            else
-            {
-                result.add( original[1] );
-            }
-        }
-
-        return result;
-    }
-
-    // TODO: Convert this to use the mergeId on each resource...
-    private List restoreResources( List<Resource> originalResources, List<Resource> originalInterpolatedResources,
-                                   List<Resource> changedResources, MavenProject project,
-                                   ProjectBuilderConfiguration config )
-        throws ModelInterpolationException
-    {
-        if ( originalResources == null || changedResources == null )
-        {
-            return originalResources;
-        }
-
-        List<Resource> result = new ArrayList<Resource>();
-
-        Map<String, Resource[]> originalResourcesByMergeId = new HashMap<String, Resource[]>();
-        for ( int idx = 0; idx < originalResources.size(); idx++ )
-        {
-            Resource[] permutations = new Resource[2];
-
-            permutations[0] = originalInterpolatedResources.get( idx );
-            permutations[1] = originalResources.get( idx );
-
-            originalResourcesByMergeId.put( permutations[0].getMergeId(), permutations );
-        }
-
-        for ( Resource resource : changedResources )
-        {
-            String mergeId = resource.getMergeId();
-            if ( mergeId == null || !originalResourcesByMergeId.containsKey( mergeId ) )
-            {
-                result.add( resource );
-            }
-            else
-            {
-                Resource originalInterpolatedResource = originalResourcesByMergeId.get( mergeId )[0];
-                Resource originalResource = originalResourcesByMergeId.get( mergeId )[1];
-
-                String dir = modelInterpolator.interpolate( resource.getDirectory(), project.getModel(),
-                                                            project.getBasedir(), config,
-                                                            getLogger().isDebugEnabled() );
-                String oDir = originalInterpolatedResource.getDirectory();
-
-                if ( !dir.equals( oDir ) )
-                {
-                    originalResource.setDirectory(
-                        pathTranslator.unalignFromBaseDirectory( dir, project.getBasedir() ) );
-                }
-
-                if ( resource.getTargetPath() != null )
-                {
-                    String target = modelInterpolator.interpolate( resource.getTargetPath(), project.getModel(),
-                                                                   project.getBasedir(), config,
-                                                                   getLogger().isDebugEnabled() );
-
-                    String oTarget = originalInterpolatedResource.getTargetPath();
-
-                    if ( !target.equals( oTarget ) )
-                    {
-                        originalResource.setTargetPath(
-                            pathTranslator.unalignFromBaseDirectory( target, project.getBasedir() ) );
-                    }
-                }
-
-                originalResource.setFiltering( resource.isFiltering() );
-
-                originalResource.setExcludes( collectRestoredListOfPatterns( resource.getExcludes(),
-                                                                             originalResource.getExcludes(),
-                                                                             originalInterpolatedResource.getExcludes() ) );
-
-                originalResource.setIncludes( collectRestoredListOfPatterns( resource.getIncludes(),
-                                                                             originalResource.getIncludes(),
-                                                                             originalInterpolatedResource.getIncludes() ) );
-
-                result.add( originalResource );
-            }
-        }
-
-        return result;
-    }
-
-    private List<String> collectRestoredListOfPatterns( List<String> patterns, List<String> originalPatterns,
-                                                        List<String> originalInterpolatedPatterns )
-    {
-        LinkedHashSet<String> collectedPatterns = new LinkedHashSet<String>();
-
-        collectedPatterns.addAll( originalPatterns );
-
-        for ( String pattern : patterns )
-        {
-            if ( !originalInterpolatedPatterns.contains( pattern ) )
-            {
-                collectedPatterns.add( pattern );
-            }
-        }
-
-        return (List<String>) ( collectedPatterns.isEmpty()
-            ? Collections.emptyList()
-            : new ArrayList<String>( collectedPatterns ) );
-    }
-
-
-    private void initResourceMergeIds( List<Resource> resources )
-    {
-        if ( resources != null )
-        {
-            for ( Resource resource : resources )
-            {
-                resource.initMergeId();
-            }
-        }
-    }
-
-    private void calculateConcreteProjectReferences( MavenProject project, ProjectBuilderConfiguration config )
-        throws ModelInterpolationException
-    {
-        Map projectRefs = project.getProjectReferences();
-
-        if ( projectRefs != null )
-        {
-            for ( Iterator it = projectRefs.values().iterator(); it.hasNext(); )
-            {
-                MavenProject reference = (MavenProject) it.next();
-                calculateConcreteState( reference, config );
-            }
-        }
-    }
-
-    private List translateListOfPaths( List paths, File basedir )
-    {
-        if ( paths == null )
-        {
-            return null;
-        }
-        else if ( basedir == null )
-        {
-            return paths;
-        }
-
-        List result = new ArrayList( paths.size() );
-        for ( Iterator it = paths.iterator(); it.hasNext(); )
-        {
-            String path = (String) it.next();
-
-            String aligned = pathTranslator.alignToBaseDirectory( path, basedir );
-
-            result.add( aligned );
-        }
-
-        return result;
-    }
-
-
 }