示例#1
0
 @Override
 public ListenableFuture<Map<String, Object>> getNodeJob(
     final Cell cell, final BuildTarget buildTarget) throws BuildTargetException {
   return Futures.transformAsync(
       getAllNodesJob(cell, cell.getAbsolutePathToBuildFile(buildTarget)),
       input -> {
         for (Map<String, Object> rawNode : input) {
           Object shortName = rawNode.get("name");
           if (buildTarget.getShortName().equals(shortName)) {
             return Futures.immediateFuture(rawNode);
           }
         }
         throw NoSuchBuildTargetException.createForMissingBuildRule(
             buildTarget,
             BuildTargetPatternParser.forBaseName(buildTarget.getBaseName()),
             cell.getBuildFileName(),
             "Defined in file: " + cell.getAbsolutePathToBuildFile(buildTarget));
       },
       executorService);
 }