Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.apache.maven.plugin.nar;
  
  /*
   * Licensed to the Apache Software Foundation (ASF) under one
   * or more contributor license agreements.  See the NOTICE file
   * distributed with this work for additional information
   * regarding copyright ownership.  The ASF licenses this file
   * to you under the Apache License, Version 2.0 (the
   * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
  *
  *  http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
 
 import java.io.File;
 import java.util.List;
 
Keeps track of resources

Author(s):
Mark Donszelmann
 
 public abstract class AbstractResourcesMojo
     extends AbstractCompileMojo
 {
    
Binary directory

Parameter:
expression="bin"
Required:
 
     private String resourceBinDir;

    
Include directory

Parameter:
expression="include"
Required:
 
     private String resourceIncludeDir;

    
Library directory

Parameter:
expression="lib"
Required:
 
     private String resourceLibDir;

    
To look up Archiver/UnArchiver implementations

Component:
role="org.codehaus.plexus.archiver.manager.ArchiverManager"
Required:
 
     private ArchiverManager archiverManager;
 
     protected final int copyIncludesFile srcDir )
     {
         int copied = 0;
 
         // copy includes
         File includeDir = new FilesrcDir );
         if ( includeDir.exists() )
         {
             File includeDstDir =
                 getLayout().getIncludeDirectorygetTargetDirectory(), getMavenProject().getArtifactId(),
                                                  getMavenProject().getVersion() );
             getLog().debug"Copying includes from " + includeDir + " to " + includeDstDir );
             copied += NarUtil.copyDirectoryStructureincludeDirincludeDstDirnull. );
         }
 
         return copied;
     }
 
     protected final int copyBinariesFile srcDirString aol )
     {
         int copied = 0;
 
         // copy binaries
        File binDir = new FilesrcDir );
        if ( binDir.exists() )
        {
            File binDstDir =
                getLayout().getBinDirectorygetTargetDirectory(), getMavenProject().getArtifactId(),
                                             getMavenProject().getVersion(), aol );
            getLog().debug"Copying binaries from " + binDir + " to " + binDstDir );
            copied += NarUtil.copyDirectoryStructurebinDirbinDstDirnull. );
        }
        return copied;
    }
    protected final int copyLibrariesFile srcDirString aol )
    {
        int copied = 0;
        // copy libraries
        File libDir = new FilesrcDir );
        if ( libDir.exists() )
        {
            // create all types of libs
            for ( Iterator i = getLibraries().iterator(); i.hasNext(); )
            {
                Library library = (Libraryi.next();
                String type = library.getType();
                
                File typedLibDir = new FilelibDirtype );
                if ( typedLibDir.exists() ) libDir = typedLibDir;
                
                File libDstDir =
                    getLayout().getLibDirectorygetTargetDirectory(), getMavenProject().getArtifactId(),
                                                 getMavenProject().getVersion(), aoltype );
                getLog().debug"Copying libraries from " + libDir + " to " + libDstDir );
                // filter files for lib
                String includes =
                    "**/*." + NarProperties.getInstance(getMavenProject()).getProperty( NarUtil.getAOLKeyaol ) + "." + type + ".extension" );
                // add import lib for Windows shared libraries
                if ( new AOLaol ).getOS().equals. ) && type.equals. ) )
                {
                    includes += ",**/*.lib";
                }
                copied += NarUtil.copyDirectoryStructurelibDirlibDstDirincludes. );
            }
        }
        return copied;
    }
    protected final void copyResourcesFile srcDirString aol )
    {
        int copied = 0;
        try
        {
            copied += copyIncludessrcDir );
            copied += copyBinariessrcDiraol );
            copied += copyLibrariessrcDiraol );
            // unpack jar files
            File classesDirectory = new FilegetOutputDirectory(), "classes" );
            classesDirectory.mkdirs();
            List jars = FileUtils.getFilessrcDir"**/*.jar"null );
            for ( Iterator i = jars.iterator(); i.hasNext(); )
            {
                File jar = (Filei.next();
                getLog().debug"Unpacking jar " + jar );
                UnArchiver unArchiver;
                unArchiver = .getUnArchiver. );
                unArchiver.setSourceFilejar );
                unArchiver.setDestDirectoryclassesDirectory );
                unArchiver.extract();
            }
        }
        catch ( IOException e )
        {
            throw new MojoExecutionException"NAR: Could not copy resources for " + aole );
        }
        catch ( NoSuchArchiverException e )
        {
            throw new MojoExecutionException"NAR: Could not find archiver for " + aole );
        }
        catch ( ArchiverException e )
        {
            throw new MojoExecutionException"NAR: Could not unarchive jar file for " + aole );
        }
        getLog().info"Copied " + copied + " resources for " + aol );
    }
New to GrepCode? Check out our FAQ X