8 my $class = Module::Build->subclass(
9 class => 'MTToiplanPluginDirectoryBuilder',
17 # no warning on ACTION_distdir
18 $_[0]->{metafile} = 'MANIFEST';
20 # Don't add MEATA.yml to MANIFEST
22 $_[0]->{metafile} = 'MANIFEST',
23 $_[0]->SUPER::ACTION_manifest(@_);
26 my $p = $_[0]->{properties};
29 File::Spec->catdir($p->{base_dir}, 'extlib'),
30 File::Spec->catdir($p->{base_dir}, '../../lib'),
31 File::Spec->catdir($p->{base_dir}, '../../extlib'),
34 $_[0]->SUPER::ACTION_test(@_);
36 sub ACTION_upload_google {
38 my $prj = 'toiplan-mtplugin-directory';
39 my $ver = $self->dist_version;
40 my $dist_dir = $self->dist_dir;
41 my $name = $self->dist_name;
43 $self->depends_on('dist');
44 #$self->_call_action('distdir');
45 $self->ACTION_distdir;
46 $self->depends_on('zipdist');
48 "googlecode_upload.py -s 'Release $ver (TGZ)' -p $prj -l $name $dist_dir.tar.gz"
51 "googlecode_upload.py -s 'Release $ver (ZIP)' -p $prj -l $name $dist_dir.zip"
53 unlink("$dist_dir.tar.gz");
54 unlink("$dist_dir.zip");
59 my $dist_dir = $self->dist_dir;
60 $self->depends_on('distdir');
61 print "Creating $dist_dir.zip\n";
62 system("zip -r $dist_dir.zip $dist_dir") == 0 or die $?;
63 $self->delete_filetree($dist_dir);
69 $_[0]->SUPER::ACTION_distdir(@_);
71 my $dist_dir = $self->dist_dir;
72 rename($dist_dir, $self->{properties}{dist_name});
76 my $plugins = File::Spec->catfile($dist_dir, 'plugins');
77 mkpath($plugins, 1, 0755);
79 my $new_dist_dir = File::Spec->catfile(
80 $plugins, $self->{properties}{dist_name}
82 rename($self->{properties}{dist_name}, $new_dist_dir);
84 foreach my $f (glob(File::Spec->catfile($new_dist_dir, 'LIC*'))) {
85 rename($f, File::Spec->catfile($dist_dir, basename($f)));
88 if (my @statics = glob(File::Spec->catfile($new_dist_dir, 'static/*'))) {
89 my $static = File::Spec->catfile(
90 $dist_dir, 'mt-static/plugins'
92 mkpath($static, 1, 0755);
94 my $d = File::Spec->catfile(
95 $static, $self->{properties}{dist_name}
99 foreach my $f (@statics) {
100 rename($f, File::Spec->catfile($d, basename($f)));
103 rmdir(File::Spec->catfile($new_dist_dir, 'static'));
109 my $yaml_string = do {
110 open(my $fh, File::Spec->catfile(dirname(__FILE__), 'config.yaml'));
114 $yaml_string =~ s/^(\s*)\*/$1App::\*/gm;
115 my $yaml = Load($yaml_string);
117 my $builder = $class->new(
118 dist_name => $yaml->{name},
119 dist_author => 'Movable Type ACME Plugin Project',
120 dist_version => $yaml->{version},
121 module_name => $yaml->{name} . '::App',
122 license => 'MIT License',
123 add_to_cleanup => [ $yaml->{name} . '-*' ],
126 $builder->create_build_script();