diff options
-rw-r--r-- | data/doc/sisu/CHANGELOG_v4 | 5 | ||||
-rw-r--r-- | lib/sisu/v4/hub.rb | 27 |
2 files changed, 25 insertions, 7 deletions
diff --git a/data/doc/sisu/CHANGELOG_v4 b/data/doc/sisu/CHANGELOG_v4 index 257841da..33ec693c 100644 --- a/data/doc/sisu/CHANGELOG_v4 +++ b/data/doc/sisu/CHANGELOG_v4 @@ -28,6 +28,11 @@ http://www.jus.uio.no/sisu/pkg/src/sisu_4.0.16.orig.tar.xz sisu_4.0.16.orig.tar.xz sisu_4.0.16-1.dsc +* v4: hub, processing flow, sequence, fix + * re-run manifests at end of general processing run: + * where document source shared and more than one markup file processed; + * where translations of same document exist (determined by filename) + %% 4.0.15.orig.tar.xz (2013-03-18:11/1) http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.0.15 http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/debian/sisu_4.0.15-1 diff --git a/lib/sisu/v4/hub.rb b/lib/sisu/v4/hub.rb index ba36c9ad..6577f1fa 100644 --- a/lib/sisu/v4/hub.rb +++ b/lib/sisu/v4/hub.rb @@ -146,11 +146,9 @@ module SiSU number_of_files={} @opt.files.each_with_index do |fns,i| fn=fns.gsub(/(?:~(?:#{@r}))?\.ss[tm]$/,'') - if number_of_files[fn].is_a?(Array) - number_of_files[fn] << i - else - number_of_files.store(fn,[i]) - end + (number_of_files[fn].is_a?(Array)) \ + ? (number_of_files[fn] << i) + : (number_of_files.store(fn,[i])) end files_translated_idx=[] number_of_files.each do |x| @@ -359,6 +357,14 @@ module SiSU require_relative 'dbi_discrete' # -d dbi_discrete.rb SiSU_DBI_Discrete::SQL.new(@opt).build end + if @opt.act[:manifest][:set]==:on #% --manifest, -y + require_relative 'manifest' # -y manifest.rb + ((@opt.act[:sisupod][:set]==:on \ + || @opt.act[:share_source][:set]==:on) \ + && @opt.files.length < 2 ) \ + ? nil + : SiSU_Manifest::Source.new(@opt).read + end end end def loop_files_on_given_option_pre_do @@ -413,9 +419,16 @@ module SiSU end end end - if @opt.act[:manifest][:set]==:on #% --manifest, -y + if (@opt.act[:sisupod][:set]==:on \ + || @opt.act[:share_source][:set]==:on) \ + and @opt.act[:manifest][:set]==:on #% --manifest, -y require_relative 'manifest' # -y manifest.rb - SiSU_Manifest::Source.new(@opt).read + begin + ensure + OptionLoopFiles.new(@opt).loop_files_on_given_option_bundle do + SiSU_Manifest::Source.new(@opt).read + end + end end ensure path_pod=@env.processing_path.processing_sisupod(@opt).paths |