Updating buck plugin to track web resources

Also, renaming onosjar to onos.

Change-Id: Ia726772462b0bc997b92dbcb4bdc477ee7b590b0
diff --git a/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OnosJarDescription.java b/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OnosJarDescription.java
index 6d1ee7e..6ba61cf 100644
--- a/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OnosJarDescription.java
+++ b/tools/build/buck-plugin/src/main/java/org/onosproject/onosjar/OnosJarDescription.java
@@ -34,6 +34,7 @@
 import com.facebook.buck.model.Flavor;
 import com.facebook.buck.model.Flavored;
 import com.facebook.buck.model.ImmutableFlavor;
+import com.facebook.buck.model.Pair;
 import com.facebook.buck.parser.NoSuchBuildTargetException;
 import com.facebook.buck.rules.BuildRule;
 import com.facebook.buck.rules.BuildRuleParams;
@@ -53,8 +54,12 @@
 import com.google.common.collect.ImmutableSortedMap;
 import com.google.common.collect.ImmutableSortedSet;
 import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
 
 import java.nio.file.Path;
+import java.util.List;
+import java.util.function.BinaryOperator;
+import java.util.stream.Collectors;
 
 import static com.facebook.buck.jvm.common.ResourceValidator.validateResources;
 
@@ -198,6 +203,19 @@
 
         ImmutableSortedSet<BuildRule> exportedDeps = resolver.getAllRules(args.exportedDeps.get());
 
+        // Build the resources string
+        List<String> resourceMappings = Lists.newArrayList();
+
+        if (args.includeResources.isPresent()) {
+            args.includeResources.get().entrySet().forEach(p ->
+                resourceMappings.add(String.format("%s=%s", p.getKey(), p.getValue())));
+        }
+
+        if (args.apiTitle.isPresent()) {
+            resourceMappings.add("WEB-INF/classes/apidoc/swagger.json=swagger.json");
+        }
+
+        Optional<String> includedResourcesString = Optional.of(String.join(",", resourceMappings));
         final DefaultJavaLibrary defaultJavaLibrary;
         if (!flavors.contains(NON_OSGI_JAR)) {
             defaultJavaLibrary =
@@ -232,7 +250,7 @@
                                                            args.apiPackage, args.apiDescription, args.resources,
                                                            args.groupId, args.bundleName, args.bundleVersion,
                                                            args.bundleLicense, args.bundleDescription, args.importPackages,
-                                                           args.exportPackages, args.includeResources, args.dynamicimportPackages),
+                                                           args.exportPackages, includedResourcesString, args.dynamicimportPackages),
                                     args.resourcesRoot,
                                     args.manifestFile,
                                     args.mavenCoords,
@@ -242,7 +260,8 @@
                                     args.apiTitle,
                                     args.apiVersion,
                                     args.apiPackage,
-                                    args.apiDescription));
+                                    args.apiDescription,
+                                    args.includeResources));
         } else {
             defaultJavaLibrary =
                     resolver.addToIndex(
@@ -309,7 +328,7 @@
 
         public Optional<String> importPackages;
         public Optional<String> exportPackages;
-        public Optional<String> includeResources;
+        public Optional<ImmutableSortedMap<String, SourcePath>> includeResources;
         public Optional<String> dynamicimportPackages;
     }
 }
\ No newline at end of file