@Override public void processFiles(HashSet<OutputFile> output_files, File output_dir) { log("Generating dominoes rules..."); this.output_files = output_files; // NOT COMPILED rules = new OutputFile(output_dir, rules_file); for (OutputFile of : this.output_files) { if (of.hasFlag(OutputFile.FLAG_COMPILED)) continue; processFile(of, rules); } // COMPILED rules_min = new OutputFile(output_dir, rules_file.replace(".js", ".min.js")); for (OutputFile of : this.output_files) { if (!of.hasFlag(OutputFile.FLAG_COMPILED)) continue; processFile(of, rules_min); } if (rules.getContents().length() > 0) { output_files.add(rules); } if (rules_min.getContents().length() > 0) { output_files.add(rules_min); } }
private String generateRule(Module module, OutputFile file) { String deps = ""; if (module.totalDeps() > 0) { for (Module dep : module.getDeps()) { deps = deps + " " + dep.getPackage().getName() + "." + dep.getName(); } deps = "( " + deps + " ) > "; } String modname = module.getPackage().getName() + "." + module.getName(); String modpath = js_root + file.getName(); return String.format("dominoes.rule('%s','( %s%s )');\n", modname, deps, modpath); }
private void processFile(OutputFile file, OutputFile rules_file) { for (Module module : file.getModules()) { log("Processing " + module); rules_file.appendContents(generateRule(module, file)); } }