Java Code Examples for net.sourceforge.argparse4j.inf.Namespace

The following examples show how to use net.sourceforge.argparse4j.inf.Namespace. These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: map-matching   Source File: ImportCommand.java    License: Apache License 2.0 7 votes vote down vote up
@Override
public void run(Bootstrap<?> bootstrap, Namespace args) {
    GraphHopperConfig graphHopperConfiguration = new GraphHopperConfig();
    String vehicle = args.getString("vehicle");
    graphHopperConfiguration.putObject("graph.flag_encoders", vehicle);
    graphHopperConfiguration.putObject("datareader.file", args.getString("datasource"));
    graphHopperConfiguration.putObject("graph.location", "graph-cache");
    // always using fastest weighting, see comment in MatchCommand
    String weightingStr = "fastest";
    List<Profile> profiles = new ArrayList<>();
    for (String v : vehicle.split(",")) {
        v = v.trim();
        profiles.add(new Profile(v + "_profile").setVehicle(v).setWeighting(weightingStr));
    }
    graphHopperConfiguration.setProfiles(profiles);
    GraphHopper hopper = new GraphHopperOSM().init(graphHopperConfiguration);
    hopper.importOrLoad();
}
 
Example 2
/**
 * Parse arguments from the commandline.
 */
public static void init(Namespace args) {
    Game.args = args;

    Coordinate2D.setOffset(-args.getInt("center-x"), -args.getInt("center-z"));

    Palette.setMaskBedrock(args.getBoolean("mask-bedrock"));

    initFolders();

    WorldManager.setSaveServiceVariables(args.getBoolean("mark-new-chunks"), args.getBoolean("write-chunks"));
    if (args.getBoolean("gui")) {
        GuiManager.showGui();
    }
    enableWorldGen = args.getBoolean("enable-world-gen");

    versionHandler = VersionHandler.createVersionHandler();
}
 
Example 3
@Override
public int handleCommand(final Namespace ns, final Manager m) {
    if (!m.isRegistered()) {
        System.err.println("User is not registered.");
        return 1;
    }
    if (ns.get("number") == null) {
        for (JsonIdentityKeyStore.Identity identity : m.getIdentities()) {
            printIdentityFingerprint(m, identity);
        }
    } else {
        String number = ns.getString("number");
        try {
            List<JsonIdentityKeyStore.Identity> identities = m.getIdentities(number);
            for (JsonIdentityKeyStore.Identity id : identities) {
                printIdentityFingerprint(m, id);
            }
        } catch (InvalidNumberException e) {
            System.out.println("Invalid number: " + e.getMessage());
        }
    }
    return 0;
}
 
Example 4
Source Project: dropwizard-flyway   Source File: AbstractFlywayCommand.java    License: Apache License 2.0 6 votes vote down vote up
@Override
protected void run(final Bootstrap<T> bootstrap, final Namespace namespace, final T configuration) throws Exception {
    final PooledDataSourceFactory datasourceFactory = databaseConfiguration.getDataSourceFactory(configuration);
    final FlywayFactory flywayFactory = flywayConfiguration.getFlywayFactory(configuration);

    // Give subclasses an option to set additional config flags for flyway.
    setAdditionalOptions(flywayFactory, namespace);
    
    final Flyway flyway = flywayFactory.build(datasourceFactory.build(bootstrap.getMetricRegistry(), "Flyway"));

    try {
        run(namespace, flyway);
    } catch (FlywayException e) {
        LOG.error("Error while running database command", e);
        throw e;
    }
}
 
Example 5
Source Project: emodb   Source File: CreateKeyspacesCommand.java    License: Apache License 2.0 6 votes vote down vote up
@Override
protected void run(Bootstrap<EmoConfiguration> bootstrap, Namespace namespace, EmoConfiguration emoConfiguration)
        throws Exception {
    _outputOnly = namespace.getBoolean("output_only");

    DdlConfiguration ddlConfiguration = parseDdlConfiguration(toFile(namespace.getString("config-ddl")));
    CuratorFramework curator = null;
    if (!_outputOnly) {
        curator = emoConfiguration.getZooKeeperConfiguration().newCurator();
        curator.start();
    }
    try {
        createKeyspacesIfNecessary(emoConfiguration, ddlConfiguration, curator, bootstrap.getMetricRegistry());

    } finally {
        Closeables.close(curator, true);
    }
}
 
Example 6
Source Project: Repeat   Source File: SharedVariablesCliActionHandler.java    License: Apache License 2.0 6 votes vote down vote up
private void handleSet(Namespace namespace) {
	String space = namespace.getString("namespace");
	String variable = namespace.getString("variable");
	if (variable.isEmpty()) {
		LOGGER.warning("Variable name must be provided.");
		CliExitCodes.INVALID_ARGUMENTS.exit();
	}
	String value = namespace.getString("value");
	if (value.isEmpty()) {
		LOGGER.warning("Variable value must be provided.");
		CliExitCodes.INVALID_ARGUMENTS.exit();
	}

	SharedVariablesSetMessage message = SharedVariablesSetMessage.of().setNamespace(space).setVariable(variable).setValue(value);
	sendRequest("/var/set", message);
}
 
Example 7
Source Project: clue   Source File: IndexTrimCommand.java    License: Apache License 2.0 6 votes vote down vote up
@Override
public void execute(Namespace args, PrintStream out) throws Exception {
  int trimPercent = args.getInt("percent");
  
  if (trimPercent < 0 || trimPercent > 100) {
    throw new IllegalArgumentException("invalid percent: " + trimPercent);
  }
  
  IndexWriter writer = ctx.getIndexWriter();    
  if (writer != null) {      
    IndexReader reader = ctx.getIndexReader();
    
    writer.deleteDocuments(buildDeleteQuery(trimPercent, reader.maxDoc()));
    writer.commit();      
    ctx.refreshReader();
    reader = ctx.getIndexReader();
    out.println("trim successful, index now contains: " + reader.numDocs() + " docs.");
  }
  else {
    out.println("unable to open writer, index is in readonly mode");
  }
}
 
Example 8
Source Project: emodb   Source File: ListCassandraCommand.java    License: Apache License 2.0 6 votes vote down vote up
@Override
protected void run(Bootstrap<EmoConfiguration> bootstrap, Namespace namespace, EmoConfiguration configuration)
        throws Exception {
    String serviceName = namespace.getString("service");

    CuratorFramework curator = configuration.getZooKeeperConfiguration().newCurator();
    curator.start();

    ZooKeeperHostDiscovery hostDiscovery = new ZooKeeperHostDiscovery(curator, serviceName, bootstrap.getMetricRegistry());

    for (ServiceEndPoint endPoint : hostDiscovery.getHosts()) {
        System.out.println(endPoint.getId());
    }

    hostDiscovery.close();
    curator.close();
}
 
Example 9
Source Project: graphicsfuzz   Source File: PrettyPrint.java    License: Apache License 2.0 6 votes vote down vote up
public static void main(String[] args) throws IOException, InterruptedException {

    try {
      Namespace ns = parse(args);
      long startTime = System.currentTimeMillis();
      TranslationUnit tu = ParseHelper.parse(new File(ns.getString("shader")));
      long endTime = System.currentTimeMillis();

      if (ns.getBoolean("add_braces")) {
        tu = AddBraces.transform(tu);
      }

      prettyPrintShader(ns, tu);

      System.err.println("Time for parsing: " + (endTime - startTime));
    } catch (Throwable exception) {
      exception.printStackTrace();
      System.exit(1);
    }

  }
 
Example 10
Source Project: graphicsfuzz   Source File: Main.java    License: Apache License 2.0 6 votes vote down vote up
public static void main(String[] args) throws Exception {
  ArgumentParser parser = ArgumentParsers.newArgumentParser("Fuzzer server")
      .defaultHelp(true);

  parser.addArgument("--port")
      .help("Port on which to listen.")
      .setDefault(8080)
      .type(Integer.class);

  try {
    Namespace ns = parser.parseArgs(args);

    ShaderJobFileOperations fileOps = new ShaderJobFileOperations();

    new FuzzerServer(ns.get("port"), fileOps).start();

  } catch (ArgumentParserException ex) {
    ex.getParser().handleError(ex);
  }
}
 
Example 11
Source Project: atomix   Source File: AtomixAgent.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * Parses unknown arguments, returning an argparse4j namespace.
 *
 * @param unknown the unknown arguments to parse
 * @return the namespace
 * --foo.bar baz --bar.baz foo bar --foo.bar.baz bang
 */
static Namespace parseUnknown(List<String> unknown) {
  Map<String, Object> attrs = new HashMap<>();
  String attr = null;
  for (String arg : unknown) {
    if (arg.startsWith("--")) {
      int splitIndex = arg.indexOf('=');
      if (splitIndex == -1) {
        attr = arg.substring(2);
      } else {
        attrs.put(arg.substring(2, splitIndex), arg.substring(splitIndex + 1));
        attr = null;
      }
    } else if (attr != null) {
      attrs.put(attr, arg);
      attr = null;
    }
  }
  return new Namespace(attrs);
}
 
Example 12
Source Project: graphicsfuzz   Source File: FragmentShaderToShaderJob.java    License: Apache License 2.0 6 votes vote down vote up
public static void main(String[] args) throws IOException, InterruptedException {

    try {
      Namespace ns = parse(args);
      long startTime = System.currentTimeMillis();
      final TranslationUnit tu = ParseHelper.parse(new File(ns.getString("shader")));
      long endTime = System.currentTimeMillis();
      System.err.println("Time for parsing: " + (endTime - startTime));

      startTime = System.currentTimeMillis();
      final ShaderJob result = createShaderJob(tu, new RandomWrapper(ArgsUtil.getSeedArgument(ns)));
      endTime = System.currentTimeMillis();
      System.err.println("Time for creating shader job: " + (endTime - startTime));

      final ShaderJobFileOperations fileOperations = new ShaderJobFileOperations();
      fileOperations.writeShaderJobFile(result, new File(ns.getString("output")));
    } catch (Throwable exception) {
      exception.printStackTrace();
      System.exit(1);
    }
  }
 
Example 13
@Override
public int handleCommand(final Namespace ns, final Manager m) {
    if (!m.isRegistered()) {
        System.err.println("User is not registered.");
        return 1;
    }
    try {
        List<DeviceInfo> devices = m.getLinkedDevices();
        for (DeviceInfo d : devices) {
            System.out.println("Device " + d.getId() + (d.getId() == m.getDeviceId() ? " (this device)" : "") + ":");
            System.out.println(" Name: " + d.getName());
            System.out.println(" Created: " + DateUtils.formatTimestamp(d.getCreated()));
            System.out.println(" Last seen: " + DateUtils.formatTimestamp(d.getLastSeen()));
        }
        return 0;
    } catch (IOException e) {
        e.printStackTrace();
        return 3;
    }
}
 
Example 14
Source Project: helios   Source File: DeploymentGroupStopCommand.java    License: Apache License 2.0 6 votes vote down vote up
@Override
int run(final Namespace options, final HeliosClient client, final PrintStream out,
        final boolean json, final BufferedReader stdin)
    throws ExecutionException, InterruptedException, IOException {
  final String name = options.getString(nameArg.getDest());

  final int status = client.stopDeploymentGroup(name).get();

  // TODO(staffam): Support json output

  if (status == Response.Status.NO_CONTENT.getStatusCode()) {
    out.println(format("Deployment-group %s stopped", name));
    return 0;
  } else if (status == Response.Status.NOT_FOUND.getStatusCode()) {
    out.println(format("Deployment-group %s not found", name));
    return 1;
  } else {
    out.println(format("Failed to stop deployment-group %s. Status: %d",
        name, status));
    return 1;
  }
}
 
Example 15
Source Project: helios   Source File: Utils.java    License: Apache License 2.0 6 votes vote down vote up
public static Map<String, String> argToStringMap(final Namespace namespace, final Argument arg) {
  final List<List<String>> args = namespace.getList(arg.getDest());
  final Map<String, String> map = Maps.newHashMap();
  if (args != null) {
    for (final List<String> group : args) {
      for (final String s : group) {
        final String[] parts = s.split("=", 2);
        if (parts.length != 2) {
          throw new IllegalArgumentException("Bad " + arg.textualName() + " value: " + s);
        }
        map.put(parts[0], parts[1]);
      }
    }
  }
  return map;
}
 
Example 16
Source Project: helios   Source File: JobStartCommand.java    License: Apache License 2.0 6 votes vote down vote up
@Override
protected int runWithJob(final Namespace options, final HeliosClient client,
                         final PrintStream out, final boolean json, final Job job,
                         final BufferedReader stdin)
    throws ExecutionException, InterruptedException, IOException {
  final JobId jobId = job.getId();
  final List<String> hosts = options.getList(hostsArg.getDest());

  final Deployment deployment = new Deployment.Builder()
      .setGoal(Goal.START)
      .setJobId(jobId)
      .build();

  if (!json) {
    out.printf("Starting %s on %s%n", jobId, hosts);
  }

  return Utils.setGoalOnHosts(client, out, json, hosts, deployment,
      options.getString(tokenArg.getDest()));
}
 
Example 17
Source Project: java-docs-samples   Source File: ImportProductSets.java    License: Apache License 2.0 6 votes vote down vote up
public static void argsHelper(String[] args, PrintStream out) throws Exception {
  ArgumentParser parser = ArgumentParsers.newFor("Import Product Sets").build();
  Subparsers subparsers = parser.addSubparsers().dest("command");

  Subparser importProductSetsParser = subparsers.addParser("import_product_sets");
  importProductSetsParser.addArgument("gcsUri");

  String projectId = System.getenv("PROJECT_ID");
  String computeRegion = System.getenv("REGION_NAME");

  Namespace ns = null;
  try {
    ns = parser.parseArgs(args);
    if (ns.get("command").equals("import_product_sets")) {
      importProductSets(projectId, computeRegion, ns.getString("gcsUri"));
    }
  } catch (ArgumentParserException e) {
    parser.handleError(e);
  }
}
 
Example 18
Source Project: clue   Source File: DeleteCommand.java    License: Apache License 2.0 6 votes vote down vote up
@Override
public void execute(Namespace args, PrintStream out) throws Exception {
  Query q = null;
  String qstring = args.getString("query");
  try{
    q = luceneContext.getQueryBuilder().build(qstring);
  }
  catch(Exception e){
    out.println("cannot parse query: "+e.getMessage());
    return;
  }
  
  out.println("parsed query: " + q);
  
  if (q != null){
    IndexWriter writer = luceneContext.getIndexWriter();
    if (writer != null) {
      writer.deleteDocuments(q);
      writer.commit();
      luceneContext.refreshReader();
    }
    else {
      out.println("unable to open writer, index is in readonly mode");
    }
  }
}
 
Example 19
Source Project: lancoder   Source File: Main.java    License: GNU General Public License v3.0 6 votes vote down vote up
/**
 * Function to avoid bloated try-catch
 *
 * @param clazz
 *            The class of the container to instantiate
 * @param parsed
 * @return The container
 * @throws UnavailableException
 */
private static Container getContainerInstance(Class<? extends Container> clazz, Namespace argsNamespace) {
	try {
		Container container = clazz.getConstructor().newInstance();
		ConfigManager<? extends Config> manager = getConfigManager(container, argsNamespace);

		container.setConfigManager(manager);
		manager.load();

		return container;
	} catch (Exception e) {
		// java pls
		e.printStackTrace();
		throw new UnsupportedClassVersionError(e.getMessage());
	}
}
 
Example 20
@Override
@UnitOfWork
protected void run(Environment environment, Namespace namespace, T configuration) throws Exception {
    LOGGER.info("Initialize Starting...");
    LOGGER.info("Starting to create initial data.");
    execute(configuration);
    if (!"TEST".equals(System.getProperty("env"))) {
        System.exit(0);
    }
}
 
Example 21
Source Project: metastore   Source File: MetaStoreServer.java    License: Apache License 2.0 5 votes vote down vote up
/** Main method. This comment makes the linter happy. */
public static void main(String[] args) throws Exception {
  LOG.info("MetaStore server");
  printVersion();

  ArgumentParser parser = ArgumentParsers.newFor("metastore").build();
  parser.addArgument("-c", "--config").required(false);

  Namespace res = parser.parseArgs(args);
  String configPath = res.getString("config");
  if (configPath == null) {
    LOG.info("No configuration file set via argument, setting from environment.");
    configPath = System.getenv("METASTORE_CONFIG_PATH");
    LOG.info("Taking configuration file: " + configPath);
  } else {
    LOG.info("Taking configuration file: " + configPath);
  }

  // 2. Configure 100% sample rate, otherwise, few traces will be sampled.
  TraceConfig traceConfig = Tracing.getTraceConfig();
  TraceParams activeTraceParams = traceConfig.getActiveTraceParams();
  traceConfig.updateActiveTraceParams(
      activeTraceParams.toBuilder().setSampler(Samplers.alwaysSample()).build());

  String port = System.getenv("PORT");
  if (port == null) {
    port = "8980";
  }
  MetaStoreServer server = new MetaStoreServer(configPath, Integer.valueOf(port));
  server.start();
  server.blockUntilShutdown();
}
 
Example 22
Source Project: signal-cli   Source File: Main.java    License: GNU General Public License v3.0 5 votes vote down vote up
public static void main(String[] args) {
    installSecurityProviderWorkaround();

    Namespace ns = parseArgs(args);
    if (ns == null) {
        System.exit(1);
    }

    int res = handleCommands(ns);
    System.exit(res);
}
 
Example 23
Source Project: graphicsfuzz   Source File: GlslGenerate.java    License: Apache License 2.0 5 votes vote down vote up
private static List<String> getGenerateShaderFamilyArgs(Namespace ns,
                                                        File overallOutputDir,
                                                        File shaderJobFile,
                                                        String prefix,
                                                        int innerSeed) {
  List<String> result = new ArrayList<>();
  result.add(shaderJobFile.getAbsolutePath());
  result.add(ns.get("donors").toString());
  result.add(new File(overallOutputDir,
      prefix + "_" + FilenameUtils.removeExtension(shaderJobFile.getName())).getAbsolutePath());
  result.add("--seed");
  result.add(String.valueOf(innerSeed));

  for (String arg : ns.getAttrs().keySet()) {
    switch (arg) {
      // These arguments are either dealt with above, or are irrelevant.
      case "donors":
      case "output_dir":
      case "prefix":
      case "references":
      case "seed":
        continue;
      default:
        break;
    }
    if (ns.get(arg) == null) {
      continue;
    }
    final String replacementArg = arg.replace("_", "-");
    if (ns.get(arg) instanceof Boolean) {
      if (ns.getBoolean(arg)) {
        result.add("--" + replacementArg);
      }
    } else {
      result.add("--" + replacementArg);
      result.add(ns.get(arg).toString());
    }
  }
  return result;
}
 
Example 24
Source Project: graphicsfuzz   Source File: PrepareReference.java    License: Apache License 2.0 5 votes vote down vote up
private static Namespace parse(String[] args) throws ArgumentParserException {
  ArgumentParser parser = ArgumentParsers.newArgumentParser("PrepareReference")
      .defaultHelp(true)
      .description("Prepare a reference shader job to work with GraphicsFuzz.");

  // Required arguments
  parser.addArgument("reference")
      .help("Reference shader job file (.json) to be prepared.")
      .type(File.class);

  parser.addArgument("output")
      .help("Output shader job file (.json).")
      .type(File.class);

  // Optional arguments
  parser.addArgument("--replace-float-literals")
      .help("Replace float literals with uniforms.")
      .action(Arguments.storeTrue());

  parser.addArgument("--webgl")
      .help("Use WebGL spec.")
      .action(Arguments.storeTrue());

  parser.addArgument("--vulkan")
      .help("Put all uniforms in uniform blocks and generate "
          + "bindings; required for Vulkan compatibility. "
          + "Also enables vulkan-specific features and performs "
          + "shader validation as Vulkan target.")
      .action(Arguments.storeTrue());

  parser.addArgument("--max-uniforms")
      .help("Check that reference doesn't have too many uniforms; required for Vulkan "
          + "compatibility.")
      .setDefault(0)
      .type(Integer.class);

  return parser.parseArgs(args);
}
 
Example 25
Source Project: monasca-common   Source File: AbstractAppTest.java    License: Apache License 2.0 5 votes vote down vote up
private void startIfRequired() {
  if (jettyServer != null) {
    return;
  }

  try {
    application = newApplication();

    final Bootstrap<C> bootstrap = new Bootstrap<C>(application) {
      @Override
      public void run(C configuration, Environment environment) throws Exception {
        environment.lifecycle().addServerLifecycleListener(new ServerLifecycleListener() {
          @Override
          public void serverStarted(Server server) {
            jettyServer = server;
          }
        });
        AbstractAppTest.this.configuration = configuration;
        AbstractAppTest.this.environment = environment;
        super.run(configuration, environment);
      }
    };

    application.initialize(bootstrap);
    final ServerCommand<C> command = new ServerCommand<>(application);
    final Namespace namespace = new Namespace(ImmutableMap.<String, Object>of("file", configPath));
    command.run(bootstrap, namespace);
  } catch (Exception e) {
    throw new RuntimeException(e);
  }
}
 
Example 26
Source Project: helios   Source File: VersionCommand.java    License: Apache License 2.0 5 votes vote down vote up
@Override
int run(final Namespace options, final HeliosClient client, final PrintStream out,
        final boolean json, final BufferedReader stdin)
    throws ExecutionException, InterruptedException {

  final VersionResponse response = client.version().get();

  if (json) {
    out.println(Json.asPrettyStringUnchecked(response));
  } else {
    out.println(String.format("Client Version: %s%nMaster Version: %s",
        response.getClientVersion(), response.getMasterVersion()));
  }
  return 0;
}
 
Example 27
Source Project: dropwizard-grpc   Source File: Utils.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * Runs a command for the {@link TestApplication} with the given yaml configuration.
 *
 * @param yamlConfig a <code>String</code> containing the yaml configuration
 * @return the TestApplication if successful
 * @throws Exception if the command failed
 */
public static TestApplication runDropwizardCommandUsingConfig(final String yamlConfig,
        final Function<TestApplication, Command> commandInstantiator) throws Exception {
    final TestApplication application = new TestApplication();
    final Bootstrap<TestConfiguration> bootstrap = new Bootstrap<>(application);
    bootstrap.setConfigurationSourceProvider(new StringConfigurationSourceProvider());
    final Command command = commandInstantiator.apply(application);
    command.run(bootstrap, new Namespace(Collections.singletonMap("file", yamlConfig)));
    return application;
}
 
Example 28
Source Project: keywhiz   Source File: DbSeedCommand.java    License: Apache License 2.0 5 votes vote down vote up
@Override protected void run(Bootstrap<KeywhizConfig> bootstrap, Namespace namespace,
    KeywhizConfig config) throws Exception {

  if (!config.getEnvironment().equals("development")) {
    throw new IllegalArgumentException("cannot call db-seed in non-development environment");
  }

  DataSource dataSource = config.getDataSourceFactory()
      .build(new MetricRegistry(), "db-seed-datasource");

  DSLContext dslContext = DSLContexts.databaseAgnostic(dataSource);
  doImport(dslContext);
}
 
Example 29
Source Project: graphicsfuzz   Source File: Generate.java    License: Apache License 2.0 5 votes vote down vote up
public static EnabledTransformations getTransformationDisablingFlags(Namespace ns) {
  final EnabledTransformations result = new EnabledTransformations();
  final List<Class<? extends ITransformation>> toDisable = new ArrayList<>();
  if (ns.get("disable") != null) {
    if (ns.get("enable_only") != null) {
      throw new RuntimeException("--disable and --enable_only are not compatible");
    }
    toDisable.addAll(EnabledTransformations.namesToList(ns.get("disable")));
  } else if (ns.get("enable_only") != null) {
    toDisable.addAll(EnabledTransformations.allTransformations());
    toDisable.removeAll(EnabledTransformations.namesToList(ns.get("enable_only")));
  }
  toDisable.forEach(result::disable);
  return result;
}
 
Example 30
Source Project: graphicsfuzz   Source File: Fragment2Compute.java    License: Apache License 2.0 5 votes vote down vote up
public static void mainHelper(String... args) throws ArgumentParserException,
    InterruptedException, GlslParserException, ParseTimeoutException, IOException {
  final Namespace ns = parse(args);
  final ShaderJobFileOperations fileOps = new ShaderJobFileOperations();
  final IRandom generator = new RandomWrapper(ArgsUtil.getSeedArgument(ns));

  final ShaderJob transformedShaderJob = transform(
      fileOps.readShaderJobFile(ns.get("fragment_json")), generator);
  if (ns.getBoolean("vulkan")) {
    transformedShaderJob.makeUniformBindings(Optional.empty());
  }
  fileOps.writeShaderJobFile(transformedShaderJob,
      ns.get("compute_json"));
}