Commit 3e6cea0a authored by Sergey Fokichev's avatar Sergey Fokichev

Added replace for : character as this is causing windows builds to fail.

parent 4d721d5b
......@@ -53,8 +53,7 @@ abstract class AbstractThriftMojo extends AbstractMojo {
protected MavenProjectHelper projectHelper;
/**
* This is the path to the {@code thrift} executable. By default it will
* search the {@code $PATH}.
* This is the path to the {@code thrift} executable. By default it will search the {@code $PATH}.
*
* @parameter default-value="thrift"
* @required
......@@ -67,9 +66,8 @@ abstract class AbstractThriftMojo extends AbstractMojo {
private File[] additionalThriftPathElements = new File[]{};
/**
* Since {@code thrift} cannot access jars, thrift files in dependenceies are
* extracted to this location and deleted on exit. This directory is always
* cleaned during execution.
* Since {@code thrift} cannot access jars, thrift files in dependenceies are extracted to this location and deleted
* on exit. This directory is always cleaned during execution.
*
* @parameter expression="${java.io.tmpdir}/maven-thrift"
* @required
......@@ -77,7 +75,6 @@ abstract class AbstractThriftMojo extends AbstractMojo {
private File temporaryThriftFileDirectory;
/**
*
* @parameter
*/
private Set<String> includes = ImmutableSet.of(DEFAULT_INCLUDES);
......@@ -93,11 +90,11 @@ abstract class AbstractThriftMojo extends AbstractMojo {
public void execute() throws MojoExecutionException, MojoFailureException {
checkParameters();
final File thriftSourceRoot = getThriftSourceRoot();
if (thriftSourceRoot.exists()) {
if(thriftSourceRoot.exists()) {
try {
ImmutableSet<File> thriftFiles =
findThriftFilesInDirectory(thriftSourceRoot);
if (thriftFiles.isEmpty()) {
if(thriftFiles.isEmpty()) {
getLog().info("No thrift files to compile.");
} else {
ImmutableSet<File> derivedThriftPathElements =
......@@ -117,19 +114,19 @@ abstract class AbstractThriftMojo extends AbstractMojo {
.addThriftFiles(thriftFiles)
.build();
final int exitStatus = thrift.compile();
if (exitStatus != 0) {
if(exitStatus != 0) {
throw new MojoFailureException(
"Thrift did not exit cleanly. Review output for more information.");
}
attachFiles();
}
} catch (IOException e) {
} catch(IOException e) {
throw new MojoExecutionException("An IO error occured", e);
} catch (IllegalArgumentException e) {
} catch(IllegalArgumentException e) {
throw new MojoFailureException("Thrift failed to execute because: "
+ e.getMessage(), e);
} catch (CommandLineException e) {
} catch(CommandLineException e) {
throw new MojoExecutionException(
"An error occured while invoking thrift.", e);
}
......@@ -174,14 +171,13 @@ abstract class AbstractThriftMojo extends AbstractMojo {
*/
private ImmutableSet<File> getDependencyArtifactFiles() {
Set<File> dependencyArtifactFiles = newHashSet();
for (Artifact artifact : getDependencyArtifacts()) {
for(Artifact artifact : getDependencyArtifacts()) {
dependencyArtifactFiles.add(artifact.getFile());
}
return ImmutableSet.copyOf(dependencyArtifactFiles);
}
/**
*
* @throws IOException
*/
ImmutableSet<File> makeThriftPathFromJars(
......@@ -189,27 +185,29 @@ abstract class AbstractThriftMojo extends AbstractMojo {
throws IOException {
checkNotNull(classpathElementFiles, "classpathElementFiles");
// clean the temporary directory to ensure that stale files aren't used
if (temporaryThriftFileDirectory.exists()) {
if(temporaryThriftFileDirectory.exists()) {
cleanDirectory(temporaryThriftFileDirectory);
}
Set<File> thriftDirectories = newHashSet();
for (File classpathElementFile : classpathElementFiles) {
for(File classpathElementFile : classpathElementFiles) {
checkArgument(classpathElementFile.isFile(), "%s is not a file",
classpathElementFile);
// create the jar file. the constructor validates.
JarFile classpathJar = null;
try {
classpathJar = new JarFile(classpathElementFile);
} catch (IOException e) {
} catch(IOException e) {
throw new IllegalArgumentException(format(
"%s was not a readable artifact", classpathElementFile));
}
for (JarEntry jarEntry : list(classpathJar.entries())) {
for(JarEntry jarEntry : list(classpathJar.entries())) {
final String jarEntryName = jarEntry.getName();
if (jarEntry.getName().endsWith(THRIFT_FILE_SUFFIX)) {
if(jarEntry.getName().endsWith(THRIFT_FILE_SUFFIX)) {
//replace logic is used in order to fix issue of an invalid windows classpath to the thrift file
// inside a jar.
final File uncompressedCopy =
new File(new File(temporaryThriftFileDirectory, classpathJar
.getName()), jarEntryName);
.getName().replace(":", "_")), jarEntryName);
uncompressedCopy.getParentFile().mkdirs();
copyStreamToFile(new RawInputStreamFacade(classpathJar
.getInputStream(jarEntry)), uncompressedCopy);
......@@ -237,7 +235,7 @@ abstract class AbstractThriftMojo extends AbstractMojo {
Iterable<File> directories) throws IOException {
checkNotNull(directories);
Set<File> thriftFiles = newHashSet();
for (File directory : directories) {
for(File directory : directories) {
thriftFiles.addAll(findThriftFilesInDirectory(directory));
}
return ImmutableSet.copyOf(thriftFiles);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment