summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/scripts/context/ruby/base/ctx.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/scripts/context/ruby/base/ctx.rb')
-rw-r--r--Master/texmf-dist/scripts/context/ruby/base/ctx.rb18
1 files changed, 17 insertions, 1 deletions
diff --git a/Master/texmf-dist/scripts/context/ruby/base/ctx.rb b/Master/texmf-dist/scripts/context/ruby/base/ctx.rb
index dff9570d837..4ee2715b88a 100644
--- a/Master/texmf-dist/scripts/context/ruby/base/ctx.rb
+++ b/Master/texmf-dist/scripts/context/ruby/base/ctx.rb
@@ -21,7 +21,7 @@ require 'rexml/document'
class CtxRunner
- attr_reader :environments, :modules, :filters
+ attr_reader :environments, :modules, :filters, :flags
@@suffix = 'prep'
@@ -42,6 +42,7 @@ class CtxRunner
@environments = Array.new
@modules = Array.new
@filters = Array.new
+ @flags = Array.new
end
def manipulate(ctxname=nil,defaultname=nil)
@@ -116,6 +117,18 @@ class CtxRunner
variables['job'] = @jobname
end
root = @xmldata.root
+REXML::XPath.each(root,"/ctx:job//ctx:flags/ctx:flag") do |flg|
+ @flags << justtext(flg)
+end
+REXML::XPath.each(root,"/ctx:job//ctx:resources/ctx:environment") do |sty|
+ @environments << justtext(sty)
+end
+REXML::XPath.each(root,"/ctx:job//ctx:resources/ctx:module") do |mod|
+ @modules << justtext(mod)
+end
+REXML::XPath.each(root,"/ctx:job//ctx:resources/ctx:filter") do |fil|
+ @filters << justtext(fil)
+end
begin
REXML::XPath.each(root,"//ctx:block") do |blk|
if @jobname && blk.attributes['pattern'] then
@@ -141,6 +154,9 @@ class CtxRunner
REXML::XPath.each(root,"/ctx:job//ctx:process/ctx:resources/ctx:filter") do |fil|
@filters << justtext(fil)
end
+REXML::XPath.each(root,"/ctx:job//ctx:process/ctx:flags/ctx:flag") do |flg|
+ @flags << justtext(flg)
+end
commands = Hash.new
REXML::XPath.each(root,"/ctx:job//ctx:preprocess/ctx:processors/ctx:processor") do |pre|
begin