Changeset 23603 for lang/perl/MENTA
- Timestamp:
- 11/14/08 07:35:40 (5 years ago)
- Location:
- lang/perl/MENTA/trunk
- Files:
-
- 2 modified
-
bin/menta.pl (modified) (1 diff)
-
lib/MENTA/Builder.pm (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/MENTA/trunk/bin/menta.pl
r23341 r23603 8 8 binmode STDOUT, ':utf8'; 9 9 10 MENTA::Builder->run ;10 MENTA::Builder->run( 'app' => 'out' ); 11 11 -
lang/perl/MENTA/trunk/lib/MENTA/Builder.pm
r23602 r23603 2 2 use MENTA; 3 3 use MENTA::Template; 4 5 my $OUTPUT_DIR = 'out';6 my $SOURCE_DIR = 'app';7 4 8 5 { … … 15 12 16 13 sub run { 14 my ($class, $srcdir, $outdir) = @_; 15 17 16 puts "出力先ディレクトリを作成します"; 18 mkdir $ OUTPUT_DIR unless -d $OUTPUT_DIR;17 mkdir $outdir unless -d $outdir; 19 18 my $mode = 755; #TODO 20 19 puts "chmod $mode"; 21 chmod oct($mode), $ OUTPUT_DIR;20 chmod oct($mode), $outdir; 22 21 23 22 puts "メインソースをコンパイルします"; 24 generate_cgi( );23 generate_cgi($srcdir => $outdir); 25 24 26 25 puts "テンプレートファイルをコンパイルします"; 27 generate_template_files( );26 generate_template_files($srcdir => $outdir); 28 27 29 28 puts "静的ファイルをコピーします"; 30 copy_dir( 'static', '静的ファイル');29 copy_dir($srcdir => $outdir, 'static', '静的ファイル'); 31 30 32 31 puts "コントローラファイルをコピーします"; 33 copy_dir( 'controller', 'コントローラ');32 copy_dir($srcdir => $outdir, 'controller', 'コントローラ'); 34 33 } 35 34 36 35 sub generate_cgi { 36 my ($srcdir, $outdir) = @_; 37 37 38 puts "menta.cgi をつくりあげる"; 38 my $menta = read_file( 'app/menta.cgi');39 my $menta = read_file("${srcdir}/menta.cgi"); 39 40 my $menta_pm = read_file('lib/MENTA.pm'); 40 41 $menta =~ s/use MENTA;/use strict;use warnings;use utf8;\n$menta_pm\npackage main;/; … … 42 43 43 44 puts "menta.cgi を出力します"; 44 write_file("$ OUTPUT_DIR/menta.cgi" => $menta);45 write_file("$outdir/menta.cgi" => $menta); 45 46 my $mode = 755; #TODO 46 47 puts "chmod $mode"; 47 chmod oct($mode), "$ OUTPUT_DIR/menta.cgi";48 chmod oct($mode), "$outdir/menta.cgi"; 48 49 } 49 50 50 51 sub generate_template_files { 51 my $outputdir = "$OUTPUT_DIR/tmpl_cache/"; 52 my ($srcdir, $outdir) = @_; 53 54 my $outputdir = "$outdir/tmpl_cache/"; 52 55 unless (-d $outputdir) { 53 56 mkdir $outputdir or die "キャッシュディレクトリを作成できません: $!"; 54 57 } 55 opendir my $dir, "$ SOURCE_DIR/tmpl" or die "テンプレートファイル用ディレクトリを開けません: $!";58 opendir my $dir, "$srcdir/tmpl" or die "テンプレートファイル用ディレクトリを開けません: $!"; 56 59 while (my $file = readdir $dir) { 57 my $fname = "$ SOURCE_DIR/tmpl/$file";60 my $fname = "$srcdir/tmpl/$file"; 58 61 next unless -f $fname; 59 62 my $src = read_file($fname); … … 68 71 69 72 sub copy_dir { 70 my ($ dirname, $type) = @_;71 my $outputdir = "$ OUTPUT_DIR/$dirname/";73 my ($srcdir, $outdir, $dirname, $type) = @_; 74 my $outputdir = "$outdir/$dirname/"; 72 75 unless (-d $outputdir) { 73 76 mkdir $outputdir or die "${type} 出力用ディレクトリを作成できません: $!"; 74 77 } 75 opendir my $dir, "$ SOURCE_DIR/$dirname/" or die "${type} 用ディレクトリを開けません: $!";78 opendir my $dir, "$srcdir/$dirname/" or die "${type} 用ディレクトリを開けません: $!"; 76 79 while (my $file = readdir $dir) { 77 my $fname = "$ SOURCE_DIR/$dirname/$file";80 my $fname = "$srcdir/$dirname/$file"; 78 81 next unless -f $fname; 79 82 write_file("$outputdir/$file" => read_file($fname));
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)