Skip to content

Commit

Permalink
Using temporary directory in target instead of operating system's
Browse files Browse the repository at this point in the history
Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
  • Loading branch information
dmatej committed May 3, 2023
1 parent 738d1d5 commit d93187e
Showing 1 changed file with 17 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.util.Iterator;

import org.apache.maven.plugin.MojoExecutionException;
Expand All @@ -43,6 +44,11 @@ public class Native2AsciiInplaceMojo extends AbstractNative2AsciiMojo {
@Parameter(required = true, defaultValue = "${native2ascii.dir}")
protected File dir;

/**
* The project's target directory.
*/
@Parameter(required = true, readonly = true, property = "project.build.directory")
private File targetDir;

@Override
protected File getSourceDirectory() {
Expand All @@ -52,12 +58,13 @@ protected File getSourceDirectory() {

@Override
public void executeTransformation(final Iterator<File> files) throws MojoExecutionException {
File tmpDir = createTmpDir();
while (files.hasNext()) {
File file = files.next();
getLog().debug("Processing " + file);
try {
// Convert file in-place
File tempFile = File.createTempFile(file.getName(), "native2ascii");
File tempFile = File.createTempFile(file.getName(), "native2ascii", tmpDir);
new Native2Ascii(getLog()).nativeToAscii(file, tempFile, encoding);
FileUtils.rename(tempFile, file);
getLog().debug("File converted successfuly: " + file);
Expand All @@ -66,4 +73,13 @@ public void executeTransformation(final Iterator<File> files) throws MojoExecuti
}
}
}


private File createTmpDir() throws MojoExecutionException {
try {
return Files.createTempDirectory(targetDir.toPath(), "tmp").toFile();
} catch (IOException e) {
throw new MojoExecutionException("Could not create temporary directory under the " + targetDir, e);
}
}
}

0 comments on commit d93187e

Please sign in to comment.