BEP: Gracefully handle null configurations

Those may occur, e.g., if the target is simply a source file.

Change-Id: Ia64c54e8543dd93712b00428c443922c67e2b6cd
PiperOrigin-RevId: 160278149
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/TargetCompleteEvent.java b/src/main/java/com/google/devtools/build/lib/analysis/TargetCompleteEvent.java
index 01a3ddf..fc14025 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/TargetCompleteEvent.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/TargetCompleteEvent.java
@@ -116,8 +116,10 @@
 
   @Override
   public BuildEventId getEventId() {
-    return BuildEventId.targetCompleted(
-        getTarget().getLabel(), getTarget().getConfiguration().getEventId());
+    BuildConfiguration config = getTarget().getConfiguration();
+    BuildEventId configId =
+        config == null ? BuildEventId.nullConfigurationId() : config.getEventId();
+    return BuildEventId.targetCompleted(getTarget().getLabel(), configId);
   }
 
   @Override