Loading Rakefile +1 −0 Original line number Diff line number Diff line Loading @@ -233,6 +233,7 @@ task :sdk => :sass do "--output", OUT_DIR, "--config", "#{SDK_DIR}/extjs/docs/config.json", "--examples-base-url", "extjs-build/examples/", "--import", "Ext JS 1:compare/ext11", "--import", "Ext JS 2:compare/ext23", "--import", "Ext JS 3:compare/ext34", "--import", "Ext JS 4.0.7:compare/ext407", Loading lib/jsduck/app.rb +4 −4 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ module JsDuck @opts = opts # Sets the nr of parallel processes to use. # Set to 0 to disable parallelization completely. @parallel = ParallelWrap.new(:in_processes => @opts.processes) ParallelWrap.in_processes = @opts.processes # Turn JSON pretty-printing on/off JsonDuck.pretty = @opts.pretty_json end Loading Loading @@ -83,7 +83,7 @@ module JsDuck # between source files and classes. Therefore it MUST to be done # after writing sources which needs the links to work. if @opts.source source_writer = SourceWriter.new(parsed_files, @parallel) source_writer = SourceWriter.new(parsed_files) source_writer.write(@opts.output_dir + "/source") end format_classes Loading @@ -104,7 +104,7 @@ module JsDuck # Parses the files in parallel using as many processes as available CPU-s def parallel_parse(filenames) @parallel.map(filenames) do |fname| ParallelWrap.map(filenames) do |fname| Logger.instance.log("Parsing", fname) begin SourceFile.new(JsDuck::IO.read(fname), fname, @opts) Loading Loading @@ -165,7 +165,7 @@ module JsDuck # Don't format types when exporting class_formatter.include_types = !@opts.export # Format all doc-objects in parallel formatted_classes = @parallel.map(@relations.classes) do |cls| formatted_classes = ParallelWrap.map(@relations.classes) do |cls| Logger.instance.log("Markdown formatting #{cls[:name]}") begin { Loading lib/jsduck/class_writer.rb +2 −3 Original line number Diff line number Diff line Loading @@ -10,7 +10,6 @@ module JsDuck def initialize(exporter_class, relations, opts) @relations = relations @exporter = exporter_class.new(relations, opts) @parallel = ParallelWrap.new(:in_processes => opts.processes) end # Writes class data into given directory or STDOUT when dir == :stdout. Loading @@ -24,13 +23,13 @@ module JsDuck private def write_stdout json = @parallel.map(@relations.classes) {|cls| @exporter.export(cls) }.compact json = ParallelWrap.map(@relations.classes) {|cls| @exporter.export(cls) }.compact Stdout.instance.add(json) end def write_dir(dir, extension) FileUtils.mkdir(dir) @parallel.each(@relations.classes) do |cls| ParallelWrap.each(@relations.classes) do |cls| filename = dir + "/" + cls[:name] + extension Logger.instance.log("Writing docs", filename) json = @exporter.export(cls) Loading lib/jsduck/guide_writer.rb +2 −3 Original line number Diff line number Diff line Loading @@ -10,7 +10,6 @@ module JsDuck def initialize(exporter_class, guides, opts) @guides = guides @exporter = exporter_class.new(guides, opts) @parallel = ParallelWrap.new(:in_processes => opts.processes) end # Writes guide data into given directory or STDOUT when dir == :stdout. Loading @@ -24,13 +23,13 @@ module JsDuck private def write_stdout json = @parallel.map(all_guides) {|guide| @exporter.export_guide(guide) }.compact json = ParallelWrap.map(all_guides) {|guide| @exporter.export_guide(guide) }.compact Stdout.instance.add(json) end def write_dir(dir, extension) FileUtils.mkdir(dir) unless File.exists?(dir) @parallel.each(all_guides) do |guide| ParallelWrap.each(all_guides) do |guide| filename = dir + "/" + guide["name"] + extension Logger.instance.log("Writing guide", filename) json = @exporter.export_guide(guide) Loading lib/jsduck/importer.rb +11 −6 Original line number Diff line number Diff line require 'jsduck/json_duck' require 'jsduck/null_object' require 'jsduck/logger' require 'jsduck/parallel_wrap' module JsDuck Loading @@ -21,7 +23,7 @@ module JsDuck imports.map do |ver| { :version => ver[:version], :classes => ver[:path] ? read(ver[:path]) : current_version, :classes => ver[:path] ? read(ver) : current_version, } end end Loading @@ -31,13 +33,16 @@ module JsDuck end # Reads in data from all .json files in directory def read(path) classes = {} Dir[path + "/*.json"].each do |filename| def read(ver) # Map list of files into pairs of (classname, members-hash) pairs = ParallelWrap.map(Dir[ver[:path] + "/*.json"]) do |filename| JsDuck::Logger.instance.log("Importing #{ver[:version]}", filename) json = JsonDuck.read(filename) classes[json["name"]] = members_id_index(json) [json["name"], members_id_index(json)] end classes # Turn key-value pairs array into hash return Hash[ pairs ] end # creates index of all class members Loading Loading
Rakefile +1 −0 Original line number Diff line number Diff line Loading @@ -233,6 +233,7 @@ task :sdk => :sass do "--output", OUT_DIR, "--config", "#{SDK_DIR}/extjs/docs/config.json", "--examples-base-url", "extjs-build/examples/", "--import", "Ext JS 1:compare/ext11", "--import", "Ext JS 2:compare/ext23", "--import", "Ext JS 3:compare/ext34", "--import", "Ext JS 4.0.7:compare/ext407", Loading
lib/jsduck/app.rb +4 −4 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ module JsDuck @opts = opts # Sets the nr of parallel processes to use. # Set to 0 to disable parallelization completely. @parallel = ParallelWrap.new(:in_processes => @opts.processes) ParallelWrap.in_processes = @opts.processes # Turn JSON pretty-printing on/off JsonDuck.pretty = @opts.pretty_json end Loading Loading @@ -83,7 +83,7 @@ module JsDuck # between source files and classes. Therefore it MUST to be done # after writing sources which needs the links to work. if @opts.source source_writer = SourceWriter.new(parsed_files, @parallel) source_writer = SourceWriter.new(parsed_files) source_writer.write(@opts.output_dir + "/source") end format_classes Loading @@ -104,7 +104,7 @@ module JsDuck # Parses the files in parallel using as many processes as available CPU-s def parallel_parse(filenames) @parallel.map(filenames) do |fname| ParallelWrap.map(filenames) do |fname| Logger.instance.log("Parsing", fname) begin SourceFile.new(JsDuck::IO.read(fname), fname, @opts) Loading Loading @@ -165,7 +165,7 @@ module JsDuck # Don't format types when exporting class_formatter.include_types = !@opts.export # Format all doc-objects in parallel formatted_classes = @parallel.map(@relations.classes) do |cls| formatted_classes = ParallelWrap.map(@relations.classes) do |cls| Logger.instance.log("Markdown formatting #{cls[:name]}") begin { Loading
lib/jsduck/class_writer.rb +2 −3 Original line number Diff line number Diff line Loading @@ -10,7 +10,6 @@ module JsDuck def initialize(exporter_class, relations, opts) @relations = relations @exporter = exporter_class.new(relations, opts) @parallel = ParallelWrap.new(:in_processes => opts.processes) end # Writes class data into given directory or STDOUT when dir == :stdout. Loading @@ -24,13 +23,13 @@ module JsDuck private def write_stdout json = @parallel.map(@relations.classes) {|cls| @exporter.export(cls) }.compact json = ParallelWrap.map(@relations.classes) {|cls| @exporter.export(cls) }.compact Stdout.instance.add(json) end def write_dir(dir, extension) FileUtils.mkdir(dir) @parallel.each(@relations.classes) do |cls| ParallelWrap.each(@relations.classes) do |cls| filename = dir + "/" + cls[:name] + extension Logger.instance.log("Writing docs", filename) json = @exporter.export(cls) Loading
lib/jsduck/guide_writer.rb +2 −3 Original line number Diff line number Diff line Loading @@ -10,7 +10,6 @@ module JsDuck def initialize(exporter_class, guides, opts) @guides = guides @exporter = exporter_class.new(guides, opts) @parallel = ParallelWrap.new(:in_processes => opts.processes) end # Writes guide data into given directory or STDOUT when dir == :stdout. Loading @@ -24,13 +23,13 @@ module JsDuck private def write_stdout json = @parallel.map(all_guides) {|guide| @exporter.export_guide(guide) }.compact json = ParallelWrap.map(all_guides) {|guide| @exporter.export_guide(guide) }.compact Stdout.instance.add(json) end def write_dir(dir, extension) FileUtils.mkdir(dir) unless File.exists?(dir) @parallel.each(all_guides) do |guide| ParallelWrap.each(all_guides) do |guide| filename = dir + "/" + guide["name"] + extension Logger.instance.log("Writing guide", filename) json = @exporter.export_guide(guide) Loading
lib/jsduck/importer.rb +11 −6 Original line number Diff line number Diff line require 'jsduck/json_duck' require 'jsduck/null_object' require 'jsduck/logger' require 'jsduck/parallel_wrap' module JsDuck Loading @@ -21,7 +23,7 @@ module JsDuck imports.map do |ver| { :version => ver[:version], :classes => ver[:path] ? read(ver[:path]) : current_version, :classes => ver[:path] ? read(ver) : current_version, } end end Loading @@ -31,13 +33,16 @@ module JsDuck end # Reads in data from all .json files in directory def read(path) classes = {} Dir[path + "/*.json"].each do |filename| def read(ver) # Map list of files into pairs of (classname, members-hash) pairs = ParallelWrap.map(Dir[ver[:path] + "/*.json"]) do |filename| JsDuck::Logger.instance.log("Importing #{ver[:version]}", filename) json = JsonDuck.read(filename) classes[json["name"]] = members_id_index(json) [json["name"], members_id_index(json)] end classes # Turn key-value pairs array into hash return Hash[ pairs ] end # creates index of all class members Loading