mirror of https://github.com/apache/maven.git
o Adding files excluded by default by eclipse CVS plugin.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163436 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
8e82989334
commit
d8aa8cea76
|
@ -0,0 +1,17 @@
|
|||
package org.apache.maven.it0015.tags;
|
||||
|
||||
import org.codehaus.marmalade.metamodel.AbstractMarmaladeTagLibrary;
|
||||
|
||||
/**
|
||||
* @author jdcasey
|
||||
*/
|
||||
public class IT0015TagLibrary
|
||||
extends AbstractMarmaladeTagLibrary
|
||||
{
|
||||
|
||||
public IT0015TagLibrary()
|
||||
{
|
||||
registerTag("writeFile", WriteFileTag.class);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,63 @@
|
|||
package org.apache.maven.it0015.tags;
|
||||
|
||||
import org.codehaus.marmalade.model.AbstractMarmaladeTag;
|
||||
import org.codehaus.marmalade.runtime.MarmaladeExecutionContext;
|
||||
import org.codehaus.marmalade.runtime.MarmaladeExecutionException;
|
||||
import org.codehaus.marmalade.runtime.TagExecutionException;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* @author jdcasey
|
||||
*/
|
||||
public class WriteFileTag
|
||||
extends AbstractMarmaladeTag
|
||||
{
|
||||
|
||||
public static final String FILE_ATTR = "path";
|
||||
|
||||
protected boolean alwaysProcessChildren()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
protected void doExecute( MarmaladeExecutionContext context ) throws MarmaladeExecutionException
|
||||
{
|
||||
String content = (String) getBody(context, String.class);
|
||||
String filename = (String) requireTagAttribute(FILE_ATTR, String.class, context);
|
||||
|
||||
File file = new File(filename);
|
||||
File dir = file.getParentFile();
|
||||
if(dir != null && !dir.exists())
|
||||
{
|
||||
dir.mkdirs();
|
||||
}
|
||||
|
||||
FileOutputStream fOut = null;
|
||||
try
|
||||
{
|
||||
fOut = new FileOutputStream(file);
|
||||
fOut.write(content.getBytes());
|
||||
}
|
||||
catch ( IOException e )
|
||||
{
|
||||
throw new TagExecutionException(getTagInfo(), "Cannot write content to file: " + file, e);
|
||||
}
|
||||
finally
|
||||
{
|
||||
if(fOut != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
fOut.flush();
|
||||
fOut.close();
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue