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 | 
