Fixing YangLibraryDescription to avoid creating multiple build rules for YangLibrary targets

The null condition (or call) was being executed every time; using a supplier to ensure it only gets called if rule
has not yet been created.

Change-Id: Ibd6fc05adb8f2f16a754b423fa9aeaaa7149cbdb
diff --git a/compiler/plugin/buck/src/main/java/org/onosproject/yang/compiler/plugin/buck/YangLibraryDescription.java b/compiler/plugin/buck/src/main/java/org/onosproject/yang/compiler/plugin/buck/YangLibraryDescription.java
index 1a65719..54a1e07 100644
--- a/compiler/plugin/buck/src/main/java/org/onosproject/yang/compiler/plugin/buck/YangLibraryDescription.java
+++ b/compiler/plugin/buck/src/main/java/org/onosproject/yang/compiler/plugin/buck/YangLibraryDescription.java
@@ -99,7 +99,7 @@
                         unflavoredBuildTarget, SOURCES));
 
         BuildRule yangLib = resolver.getRuleOptional(yangParams.getBuildTarget())
-                .or(resolver.addToIndex(new YangLibrary(yangParams, pathResolver, args.srcs)));
+                .or(() -> resolver.addToIndex(new YangLibrary(yangParams, pathResolver, args.srcs)));
 
         if (params.getBuildTarget().getFlavors().contains(SOURCES)) {
             return yangLib;