From 37e2a4c481efae59edf164547f4fa73e38a46b86 Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 27 Jan 2014 17:44:25 +0100 Subject: [PATCH] IDEA-117852 NullPointerException when making project with mixed java/groovy sources --- .../jps/incremental/groovy/GroovyBuilder.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/plugins/groovy/jps-plugin/src/org/jetbrains/jps/incremental/groovy/GroovyBuilder.java b/plugins/groovy/jps-plugin/src/org/jetbrains/jps/incremental/groovy/GroovyBuilder.java index d2efa815df5a..d8d32974aef4 100644 --- a/plugins/groovy/jps-plugin/src/org/jetbrains/jps/incremental/groovy/GroovyBuilder.java +++ b/plugins/groovy/jps-plugin/src/org/jetbrains/jps/incremental/groovy/GroovyBuilder.java @@ -328,12 +328,18 @@ public class GroovyBuilder extends ModuleLevelBuilder { GroovycOSProcessHandler.OutputItem item, Map generationOutputs, String compilerOutput, - ModuleBuildTarget srcTarget) throws IOException { + @NotNull ModuleBuildTarget srcTarget) throws IOException { if (chunk.getModules().size() > 1 && !srcTarget.equals(chunk.representativeTarget())) { File output = new File(item.outputPath); + String srcTargetOutput = generationOutputs.get(srcTarget); + if (srcTargetOutput == null) { + LOG.info("No output for " + srcTarget + "; outputs=" + generationOutputs + "; targets = " + chunk.getTargets()); + return item.outputPath; + } + //todo honor package prefixes - File correctRoot = new File(generationOutputs.get(srcTarget)); + File correctRoot = new File(srcTargetOutput); File correctOutput = new File(correctRoot, FileUtil.getRelativePath(new File(compilerOutput), output)); FileUtil.rename(output, correctOutput);