/[suikacvs]/messaging/manakai/bin/daf.pl
Suika

Diff of /messaging/manakai/bin/daf.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.13 by wakaba, Tue May 16 11:26:24 2006 UTC revision 1.16 by wakaba, Tue Aug 15 10:59:24 2006 UTC
# Line 12  use Message::Util::QName::Filter { Line 12  use Message::Util::QName::Filter {
12    Util => q<http://suika.fam.cx/~wakaba/archive/2005/manakai/Util/>,    Util => q<http://suika.fam.cx/~wakaba/archive/2005/manakai/Util/>,
13  };  };
14    
15    our$VERSION=do{my @r=(q$Revision$=~/\d+/g);sprintf "%d."."%02d" x $#r,@r};
16  use Cwd;  use Cwd;
17  use Getopt::Long;  use Getopt::Long;
18  use Pod::Usage;  use Pod::Usage;
19  my %Opt = (create_module => []);  our %Opt = (create_module => []);
20    my @target_modules;
21  GetOptions (  GetOptions (
22      'create-dtd-modules=s' => sub {
23        shift;
24        my $i = [split /\s+/, shift, 3];
25        $i->[3] = 'dtd-modules';
26        push @{$Opt{create_module}}, $i;
27      },
28    'create-perl-module=s' => sub {    'create-perl-module=s' => sub {
29      shift;      shift;
30      my $i = [split /\s+/, shift, 3];      my $i = [split /\s+/, shift, 3];
31      $i->[3] = 'perl-pm';      $i->[3] = 'perl-pm';
32      push @{$Opt{create_module}}, $i;      push @{$Opt{create_module}}, $i;
33        push @target_modules, [$i->[0], $i->[2]];
34    },    },
35    'create-perl-test=s' => sub {    'create-perl-test=s' => sub {
36      shift;      shift;
37      my $i = [split /\s+/, shift, 3];      my $i = [split /\s+/, shift, 3];
38      $i->[3] = 'perl-t';      $i->[3] = 'perl-t';
39      push @{$Opt{create_module}}, $i;      push @{$Opt{create_module}}, $i;
40        push @target_modules, [$i->[0], $i->[2]];
41    },    },
42    'debug' => \$Opt{debug},    'debug' => \$Opt{debug},
43    'dis-file-suffix=s' => \$Opt{dis_suffix},    'dis-file-suffix=s' => \$Opt{dis_suffix},
# Line 35  GetOptions ( Line 45  GetOptions (
45    'dafs-file-suffix=s' => \$Opt{dafs_suffix},    'dafs-file-suffix=s' => \$Opt{dafs_suffix},
46    'dafx-file-suffix=s' => \$Opt{dafx_suffix},    'dafx-file-suffix=s' => \$Opt{dafx_suffix},
47    'help' => \$Opt{help},    'help' => \$Opt{help},
48      'load-module=s' => sub {
49        shift;
50        my $i = [split /\s+/, shift, 2];
51        push @target_modules, [$i->[0], $i->[1]];
52      },
53      'mod-file-suffix=s' => \$Opt{mod_suffix},
54    'search-path|I=s' => sub {    'search-path|I=s' => sub {
55      shift;      shift;
56      my @value = split /\s+/, shift;      my @value = split /\s+/, shift;
# Line 82  $Opt{dis_suffix} = '.dis' unless defined Line 98  $Opt{dis_suffix} = '.dis' unless defined
98  $Opt{daem_suffix} = '.dafm' unless defined $Opt{daem_suffix};  $Opt{daem_suffix} = '.dafm' unless defined $Opt{daem_suffix};
99  $Opt{dafx_suffix} = '.dafx' unless defined $Opt{dafx_suffix};  $Opt{dafx_suffix} = '.dafx' unless defined $Opt{dafx_suffix};
100  $Opt{dafs_suffix} = '.dafs' unless defined $Opt{dafs_suffix};  $Opt{dafs_suffix} = '.dafs' unless defined $Opt{dafs_suffix};
101    $Opt{mod_suffix} = '.mod' unless defined $Opt{mod_suffix};
102  $Message::DOM::DOMFeature::DEBUG = 1 if $Opt{debug};  $Message::DOM::DOMFeature::DEBUG = 1 if $Opt{debug};
103  require Error;  require Error;
104  $Error::Debug = 1 if $Opt{debug};  $Error::Debug = 1 if $Opt{debug};
# Line 129  for (@{$Opt{create_module}}) { Line 146  for (@{$Opt{create_module}}) {
146      $feature{ExpandedURI q<fe:GenericLS>} = '3.0';      $feature{ExpandedURI q<fe:GenericLS>} = '3.0';
147      $feature{'+' . ExpandedURI q<DIS:TDT>} = '1.0';      $feature{'+' . ExpandedURI q<DIS:TDT>} = '1.0';
148      $feature{'+' . ExpandedURI q<Util:PerlCode>} = '1.0';      $feature{'+' . ExpandedURI q<Util:PerlCode>} = '1.0';
149      } elsif ($out_type eq 'dtd-modules') {
150        require 'manakai/daf-dtd-modules.pl';
151        $feature{ExpandedURI q<fe:GenericLS>} = '3.0';
152        $feature{'+' . ExpandedURI q<fe:XDP>} = '3.0';
153    }    }
154  }  }
155    
# Line 158  my %ModuleNameNamespaceBinding = ( Line 179  my %ModuleNameNamespaceBinding = (
179      ## property.      ## property.
180  );  );
181    
 my @target_modules;  
 for (@{$Opt{create_module}}) {  
   my ($mod_uri, $out_path, $mod_for, $out_type) = @$_;  
   push @target_modules, [$mod_uri, $mod_for];  
 }  
   
182  my $ResourceCount = 0;  my $ResourceCount = 0;
183  $db->pl_update_module (\@target_modules,  $db->pl_update_module (\@target_modules,
184  get_module_index_file_name => sub {  get_module_index_file_name => sub {
# Line 247  $db->read_properties (on_resource_read = Line 262  $db->read_properties (on_resource_read =
262      status_msg_ " " if ($ResourceCount % (10 * 10)) == 0;      status_msg_ " " if ($ResourceCount % (10 * 10)) == 0;
263      status_msg '' if ($ResourceCount % (10 * 50)) == 0;      status_msg '' if ($ResourceCount % (10 * 50)) == 0;
264    }    }
265  });  }, implementation => $impl);
266  status_msg '';  status_msg '';
267  status_msg "done";  status_msg "done";
268    
# Line 294  for (@{$Opt{create_module}}) { Line 309  for (@{$Opt{create_module}}) {
309      daf_perl_pm ($mod_uri, $out_file_path, $mod_for);      daf_perl_pm ($mod_uri, $out_file_path, $mod_for);
310    } elsif ($out_type eq 'perl-t') {    } elsif ($out_type eq 'perl-t') {
311      daf_perl_t ($mod_uri, $out_file_path, $mod_for);      daf_perl_t ($mod_uri, $out_file_path, $mod_for);
312      } elsif ($out_type eq 'dtd-modules') {
313        daf_dtd_modules ($mod_uri, $out_file_path, $mod_for);
314    }    }
315  }  }
316    

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.16

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24