private File getDestinationFile( File outputDirectory, String targetPath, String name, MavenResourcesExecution mavenResourcesExecution ) throws MavenFilteringException { String destination = name; if ( mavenResourcesExecution.isFilterFilenames() && mavenResourcesExecution.getFilterWrappers().size() > 0 ) { destination = filterFileName( destination, mavenResourcesExecution.getFilterWrappers() ); } if ( targetPath != null ) { destination = targetPath + "/" + destination; } File destinationFile = new File( destination ); if ( !destinationFile.isAbsolute() ) { destinationFile = new File( outputDirectory, destination ); } if ( !destinationFile.getParentFile().exists() ) { destinationFile.getParentFile().mkdirs(); } return destinationFile; }
/** {@inheritDoc} */ public boolean filteredFileExtension( String fileName, List<String> userNonFilteredFileExtensions ) { List<String> nonFilteredFileExtensions = new ArrayList<String>( getDefaultNonFilteredFileExtensions() ); if ( userNonFilteredFileExtensions != null ) { nonFilteredFileExtensions.addAll( userNonFilteredFileExtensions ); } boolean filteredFileExtension = !nonFilteredFileExtensions.contains( StringUtils.lowerCase( FileUtils.extension( fileName ) ) ); if ( getLogger().isDebugEnabled() ) { getLogger().debug( "file " + fileName + " has a" + ( filteredFileExtension ? " " : " non " ) + "filtered file extension" ); } return filteredFileExtension; }
getLogger().info( "No resources configured skip copying/filtering" ); return; handleDefaultFilterWrappers( mavenResourcesExecution ); getLogger().warn( "Using platform encoding (" + ReaderFactory.FILE_ENCODING + " actually) to copy filtered resources, i.e. build is platform dependent!" ); getLogger().info( "Using '" + mavenResourcesExecution.getEncoding() + "' encoding to copy filtered resources." ); if ( getLogger().isDebugEnabled() ) getLogger().debug( debugMessage.toString() ); getLogger().info( "skip non existing resourceDirectory " + resourceDirectory.getPath() ); continue; || buildContext.hasDelta( getRelativeOutputDirectory( mavenResourcesExecution ) ); getLogger().debug( "ignoreDelta " + ignoreDelta ); Scanner scanner = buildContext.newScanner( resourceDirectory, ignoreDelta ); setupScanner( resource, scanner, mavenResourcesExecution.isAddDefaultExcludes() ); copyDirectoryLayout( resourceDirectory, targetDirectory, scanner ); getLogger().info( "Copying " + includedFiles.size() + " resource" + ( includedFiles.size() > 1 ? "s" : "" ) + ( targetPath == null ? "" : " to " + targetPath ) );
private String filterFileName( String name, List<FilterWrapper> wrappers ) throws MavenFilteringException { Reader reader = new StringReader( name ); for ( FilterWrapper wrapper : wrappers ) { reader = wrapper.getReader( reader ); } StringWriter writer = new StringWriter(); try { IOUtil.copy( reader, writer ); } catch ( IOException e ) { throw new MavenFilteringException( "Failed filtering filename" + name, e ); } String filteredFilename = writer.toString(); if ( getLogger().isDebugEnabled() ) { getLogger().debug( "renaming filename " + name + " to " + filteredFilename ); } return filteredFilename; }