maven-m2-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From br...@apache.org
Subject cvs commit: maven-components/maven-mboot2/src/main/java MBoot.java
Date Mon, 04 Apr 2005 02:01:49 GMT
brett       2005/04/03 19:01:49

  Modified:    maven-mboot2/src/main/java/model Dependency.java
                        ModelReader.java
               maven-mboot2/src/main/java MBoot.java
  Log:
  handle scope
  
  Revision  Changes    Path
  1.2       +13 -1     maven-components/maven-mboot2/src/main/java/model/Dependency.java
  
  Index: Dependency.java
  ===================================================================
  RCS file: /home/cvs/maven-components/maven-mboot2/src/main/java/model/Dependency.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Dependency.java	4 Apr 2005 01:36:58 -0000	1.1
  +++ Dependency.java	4 Apr 2005 02:01:49 -0000	1.2
  @@ -37,6 +37,8 @@
   
       private String type = "jar";
   
  +    private String scope = "compile";
  +
       public Dependency()
       {
       }
  @@ -145,6 +147,16 @@
           return jar;
       }
   
  +    public String getScope()
  +    {
  +        return scope;
  +    }
  +
  +    public void setScope( String scope )
  +    {
  +        this.scope = scope;
  +    }
  +
       public void setUrl( String url )
       {
           this.url = url;
  
  
  
  1.2       +5 -1      maven-components/maven-mboot2/src/main/java/model/ModelReader.java
  
  Index: ModelReader.java
  ===================================================================
  RCS file: /home/cvs/maven-components/maven-mboot2/src/main/java/model/ModelReader.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ModelReader.java	4 Apr 2005 01:36:58 -0000	1.1
  +++ ModelReader.java	4 Apr 2005 02:01:49 -0000	1.2
  @@ -242,6 +242,10 @@
               {
                   currentDependency.setArtifactId( getBodyText() );
               }
  +            else if ( rawName.equals( "scope" ) )
  +            {
  +                currentDependency.setScope( getBodyText() );
  +            }
           }
           else if ( insideResource )
           {
  
  
  
  1.83      +46 -32    maven-components/maven-mboot2/src/main/java/MBoot.java
  
  Index: MBoot.java
  ===================================================================
  RCS file: /home/cvs/maven-components/maven-mboot2/src/main/java/MBoot.java,v
  retrieving revision 1.82
  retrieving revision 1.83
  diff -u -r1.82 -r1.83
  --- MBoot.java	4 Apr 2005 01:40:16 -0000	1.82
  +++ MBoot.java	4 Apr 2005 02:01:49 -0000	1.83
  @@ -109,6 +109,14 @@
   
       private IsolatedClassLoader bootstrapClassLoader;
   
  +    private static final String[] EMPTY_STRING_ARRAY = new String[0];
  +
  +    private static final String SCOPE_TEST = "test";
  +
  +    private static final String SCOPE_COMPILE = "compile";
  +
  +    private static final String SCOPE_RUNTIME = "runtime";
  +
       // ----------------------------------------------------------------------
       //
       // ----------------------------------------------------------------------
  @@ -463,13 +471,9 @@
           System.out.println( "Cleaning " + buildDirFile + "..." );
           FileUtils.forceDelete( buildDirFile );
   
  -        // ----------------------------------------------------------------------
  -        // Download bootstrapDeps
  -        // ----------------------------------------------------------------------
  -
           if ( online )
           {
  -            System.out.println( "Downloading dependencies ..." );
  +            System.out.println( "Downloading project dependencies ..." );
   
               downloader.downloadDependencies( reader.getDependencies() );
           }
  @@ -534,11 +538,11 @@
   
           if ( new File( generatedSources ).exists() )
           {
  -            compile( reader.getDependencies(), sources, classes, null, generatedSources
);
  +            compile( reader.getDependencies(), sources, classes, null, generatedSources,
SCOPE_COMPILE );
           }
           else
           {
  -            compile( reader.getDependencies(), sources, classes, null, null );
  +            compile( reader.getDependencies(), sources, classes, null, null, SCOPE_COMPILE
);
           }
   
           // ----------------------------------------------------------------------
  @@ -569,17 +573,7 @@
   
           List testDependencies = reader.getDependencies();
   
  -        Dependency junitDep = new Dependency();
  -
  -        junitDep.setGroupId( "junit" );
  -
  -        junitDep.setArtifactId( "junit" );
  -
  -        junitDep.setVersion( "3.8.1" );
  -
  -        testDependencies.add( junitDep );
  -
  -        compile( testDependencies, testSources, testClasses, classes, null );
  +        compile( testDependencies, testSources, testClasses, classes, null, SCOPE_TEST
);
   
           // ----------------------------------------------------------------------
           // Test resources
  @@ -629,9 +623,9 @@
               File f = new File( repoLocal, dependency );
               if ( !f.exists() )
               {
  -                throw new FileNotFoundException( "Missing dependency: " + dependency +
( !online
  -                                                                                      
  ? "; run again online"
  -                                                                                      
  : "; there was a problem downloading it earlier" ) );
  +                throw new FileNotFoundException(
  +                    "Missing dependency: " + dependency +
  +                    ( !online ? "; run again online" : "; there was a problem downloading
it earlier" ) );
               }
   
               cl.addURL( f.toURL() );
  @@ -681,7 +675,7 @@
               downloader.downloadDependencies( dependencies );
           }
   
  -        IsolatedClassLoader modelloClassLoader = new IsolatedClassLoader();
  +        IsolatedClassLoader cl = new IsolatedClassLoader();
   
           for ( Iterator i = dependencies.iterator(); i.hasNext(); )
           {
  @@ -694,10 +688,10 @@
                   throw new FileNotFoundException( "Missing dependency: " + dependency +
msg );
               }
   
  -            modelloClassLoader.addURL( f.toURL() );
  +            cl.addURL( f.toURL() );
           }
   
  -        return modelloClassLoader;
  +        return cl;
       }
   
       private void createJar( String classes, String buildDir, ModelReader reader )
  @@ -797,8 +791,9 @@
   
           String reportsDir = new File( basedir, "target/surefire-reports" ).getAbsolutePath();
   
  -        boolean success = testRunner.execute( repoLocal, basedir, classes, testClasses,
includes, excludes,
  -                                              classpath( reader.getDependencies(), null
), reportsDir );
  +        String[] cp = (String[]) classpath( reader.getDependencies(), null, SCOPE_TEST
).toArray( EMPTY_STRING_ARRAY );
  +        boolean success = testRunner.execute( repoLocal, basedir, classes, testClasses,
includes, excludes, cp,
  +                                              reportsDir );
   
           if ( !success )
           {
  @@ -810,24 +805,43 @@
       // Compile
       // ----------------------------------------------------------------------
   
  -    private String[] classpath( List dependencies, String extraClasspath )
  +    private List classpath( List dependencies, String extraClasspath, String scope )
       {
  -        String classpath[] = new String[dependencies.size() + 1];
  +        List classpath = new ArrayList( dependencies.size() + 1 );
   
           for ( int i = 0; i < dependencies.size(); i++ )
           {
               Dependency d = (Dependency) dependencies.get( i );
   
  -            classpath[i] = repoLocal + "/" + d.getRepositoryPath();
  +            String element = repoLocal + "/" + d.getRepositoryPath();
  +
  +            if ( SCOPE_COMPILE.equals( scope ) )
  +            {
  +                if ( d.getScope().equals( SCOPE_COMPILE ) )
  +                {
  +                    classpath.add( element );
  +                }
  +            }
  +            else if ( SCOPE_RUNTIME.equals( scope ) )
  +            {
  +                if ( d.getScope().equals( SCOPE_COMPILE ) || d.getScope().equals( SCOPE_RUNTIME
) )
  +                {
  +                    classpath.add( element );
  +                }
  +            }
  +            else if ( SCOPE_TEST.equals( scope ) )
  +            {
  +                classpath.add( element );
  +            }
           }
   
  -        classpath[classpath.length - 1] = extraClasspath;
  +        classpath.add( extraClasspath );
   
           return classpath;
       }
   
       private void compile( List dependencies, String sourceDirectory, String outputDirectory,
String extraClasspath,
  -                          String generatedSources )
  +                          String generatedSources, String scope )
           throws Exception
       {
           JavacCompiler compiler = new JavacCompiler();
  @@ -861,7 +875,7 @@
               CompilerConfiguration compilerConfiguration = new CompilerConfiguration();
   
               compilerConfiguration.setOutputLocation( outputDirectory );
  -            compilerConfiguration.setClasspathEntries( Arrays.asList( classpath( dependencies,
extraClasspath ) ) );
  +            compilerConfiguration.setClasspathEntries( classpath( dependencies, extraClasspath,
scope ) );
               compilerConfiguration.setSourceLocations( Arrays.asList( sourceDirectories
) );
   
               /* Compile with debugging info */
  
  
  

Mime
View raw message