From 57ffb9151459c60b2d0bd9770f16eb01455aa732 Mon Sep 17 00:00:00 2001 From: James Strachan Date: Thu, 31 May 2012 09:38:26 +0100 Subject: [PATCH] fix possible NPE --- .../kotlin/maven/JSSourceJarMojo.java | 54 ++++++++++--------- 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/JSSourceJarMojo.java b/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/JSSourceJarMojo.java index b0380666eee..72e52ed9f43 100644 --- a/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/JSSourceJarMojo.java +++ b/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/JSSourceJarMojo.java @@ -45,36 +45,42 @@ public class JSSourceJarMojo extends AbstractMojo { @Override public void execute() throws MojoExecutionException, MojoFailureException { - if (!librarySourceDir.exists()) { - getLog().warn("Source directory does not exist: " + librarySourceDir); - } else { - try { - File metaInfFile = new File(outputDir, ClassPathLibrarySourcesLoader.META_INF_SERVICES_FILE); - metaInfFile.getParentFile().mkdirs(); + if (librarySourceDir != null) { + if (!librarySourceDir.exists()) { + getLog().warn("Source directory does not exist: " + librarySourceDir); + } else { + try { + File metaInfFile = new File(outputDir, ClassPathLibrarySourcesLoader.META_INF_SERVICES_FILE); + metaInfFile.getParentFile().mkdirs(); - FileUtils.copyDirectoryStructure(librarySourceDir, outputDir); + FileUtils.copyDirectoryStructure(librarySourceDir, outputDir); - // now lets generate the META-INF/services/org.jetbrains.kotlin.js.librarySource file - PrintWriter writer = new PrintWriter(new FileWriter(metaInfFile)); - appendSourceFiles(writer, outputDir.getCanonicalPath(), outputDir); - writer.close(); - } catch (IOException e) { - throw new MojoFailureException(e.getMessage(), e); + // now lets generate the META-INF/services/org.jetbrains.kotlin.js.librarySource file + PrintWriter writer = new PrintWriter(new FileWriter(metaInfFile)); + appendSourceFiles(writer, outputDir.getCanonicalPath(), outputDir); + writer.close(); + } catch (IOException e) { + throw new MojoFailureException(e.getMessage(), e); + } } } - if (definitionSourceDir.exists()) { - try { - File metaInfFile = new File(outputDir, ClassPathLibraryDefintionsConfig.META_INF_SERVICES_FILE); - metaInfFile.getParentFile().mkdirs(); + if (definitionSourceDir != null) { + if (!librarySourceDir.exists()) { + getLog().warn("Definition directory does not exist: " + definitionSourceDir); + } else { + try { + File metaInfFile = new File(outputDir, ClassPathLibraryDefintionsConfig.META_INF_SERVICES_FILE); + metaInfFile.getParentFile().mkdirs(); - FileUtils.copyDirectoryStructure(definitionSourceDir, outputDir); + FileUtils.copyDirectoryStructure(definitionSourceDir, outputDir); - // now lets generate the META-INF/services/org.jetbrains.kotlin.js.libraryDefinitions file - PrintWriter writer = new PrintWriter(new FileWriter(metaInfFile)); - appendSourceFiles(writer, definitionSourceDir.getCanonicalPath(), definitionSourceDir); - writer.close(); - } catch (IOException e) { - throw new MojoFailureException(e.getMessage(), e); + // now lets generate the META-INF/services/org.jetbrains.kotlin.js.libraryDefinitions file + PrintWriter writer = new PrintWriter(new FileWriter(metaInfFile)); + appendSourceFiles(writer, definitionSourceDir.getCanonicalPath(), definitionSourceDir); + writer.close(); + } catch (IOException e) { + throw new MojoFailureException(e.getMessage(), e); + } } } }