- Timestamp:
- Jan 20, 2018, 12:05:55 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/project-meta/project-meta
r177 r178 26 26 'check' => \&cmd_check, 27 27 'make-link' => \&cmd_make_link, 28 'make-zip' => \&cmd_make_zip, 28 29 'make-author' => \&cmd_make_author, 29 30 'make-licence' => \&cmd_make_licence, … … 157 158 } 158 159 print "chmod -R o+rX,o-w $dap_folder/$acronym/\n"; 160 } 161 162 ################################################################ 163 164 sub cmd_make_zip { 165 my $meta = YAML::Syck::LoadFile("PROJECT-META.yml"); 166 my $current_dir = Cwd::getcwd(); 167 my $data_set = $meta->{'public-dap'}{'data-set'}; 168 my $acronym = $meta->{'project'}{'acronym'}; 169 my $time = time; 170 171 push @{$data_set}, 'AUTHORS.txt', 'COPYRIGHT.txt', 'LICENCE.txt'; 172 { 173 # Remove doublon 174 my %seen = (); 175 @{$data_set} = grep { ! $seen{$_}++ } @{$data_set}; 176 } 177 178 # Create a Zip file 179 use Archive::Zip qw( :ERROR_CODES :CONSTANTS ); 180 181 my $zip = Archive::Zip->new(); 182 183 for my $dataset (@{$data_set}) { 184 if (-d $dataset) { 185 # Folder case 186 $zip->addDirectory($dataset); 187 } 188 elsif (-f $dataset) { 189 # File case 190 $zip->addFile($dataset); 191 } 192 else { 193 # Strange cas 194 print "Error: entry $dataset doesn't exists\n"; 195 } 196 } 197 198 # Save the Zip file 199 unless ($zip->writeToFileNamed("$current_dir/$acronym-$time.zip") == AZ_OK) { 200 die 'Error: zip write error'; 201 } 159 202 } 160 203
Note: See TracChangeset
for help on using the changeset viewer.