From 7f672711a08fa3dcf103179aef04e07fb6f79643 Mon Sep 17 00:00:00 2001 From: plegall Date: Mon, 7 Mar 2016 20:59:19 +0100 Subject: new release script, which sets versions for extensions --- tools/pwg_rel_create.sh | 74 ++++++++++++++++++++++++++++++++++++++++++------ tools/replace_version.pl | 39 +++++++++++++++++++++++++ 2 files changed, 105 insertions(+), 8 deletions(-) create mode 100644 tools/replace_version.pl diff --git a/tools/pwg_rel_create.sh b/tools/pwg_rel_create.sh index f891d55e1..c3cf7d0ce 100755 --- a/tools/pwg_rel_create.sh +++ b/tools/pwg_rel_create.sh @@ -1,5 +1,7 @@ #!/bin/bash +scriptdir=$(dirname $(readlink -e $0)) + # +--------------------------------------------------------------------------+ # | pwg_rel_create.sh | # +--------------------------------------------------------------------------+ @@ -38,22 +40,78 @@ then git checkout $2 fi +# remove Git metadata +rm -rf /tmp/$version/piwigo/.git + +# +--------------------------------------------------------------------------+ +# | plugins | +# +--------------------------------------------------------------------------+ + cd plugins -git clone https://github.com/Piwigo/TakeATour.git -git clone https://github.com/Piwigo/AdminTools.git -git clone https://github.com/Piwigo/LocalFilesEditor.git -git clone https://github.com/Piwigo/LanguageSwitch.git -rm -rf /tmp/$version/piwigo/.git -rm -rf /tmp/$version/piwigo/plugins/*/.git +for plugin in TakeATour AdminTools LocalFilesEditor LanguageSwitch +do + cd /tmp/$version/piwigo/plugins + + plugin_dir=$plugin + if [ $plugin = "LanguageSwitch" ] + then + plugin_dir=language_switch + fi + + # clone repo + git clone https://github.com/Piwigo/${plugin}.git $plugin_dir + cd /tmp/$version/piwigo/plugins/$plugin_dir + + # change version + perl $scriptdir/replace_version.pl --file=main.inc.php --version=$version + + # register metadata in dedicated file + echo https://github.com/Piwigo/${plugin}.git > pem_metadata.txt + git log -n 1 --pretty=format:"%H %ad" --date=iso8601 >> pem_metadata.txt + + # remove Git metadata + rm -rf .git +done + +# +--------------------------------------------------------------------------+ +# | themes | +# +--------------------------------------------------------------------------+ + +cd /tmp/$version/piwigo/themes +for themefile in $(ls */themeconf.inc.php) +do + # change version + perl $scriptdir/replace_version.pl --file=$themefile --version=$version +done + +# +--------------------------------------------------------------------------+ +# | languages | +# +--------------------------------------------------------------------------+ + +cd /tmp/$version/piwigo/language +for languagefile in $(ls */common.lang.php) +do + # change version + perl $scriptdir/replace_version.pl --file=$languagefile --version=$version +done +# +--------------------------------------------------------------------------+ +# | data directories + zip 1 | +# +--------------------------------------------------------------------------+ + +# create "data" directories cd /tmp/$version mkdir piwigo/upload mkdir piwigo/_data touch piwigo/_data/dummy.txt -zip -r $name-nochmod.zip piwigo +zip -q -r $name-nochmod.zip piwigo + +# +--------------------------------------------------------------------------+ +# | permissions + zip 2 | +# +--------------------------------------------------------------------------+ chmod -R a+w piwigo/local chmod a+w piwigo/_data @@ -61,6 +119,6 @@ chmod a+w piwigo/upload chmod a+w piwigo/plugins chmod a+w piwigo/themes -zip -r $name.zip piwigo +zip -q -r $name.zip piwigo echo cd /tmp/$version diff --git a/tools/replace_version.pl b/tools/replace_version.pl new file mode 100644 index 000000000..845948d81 --- /dev/null +++ b/tools/replace_version.pl @@ -0,0 +1,39 @@ +#!/usr/bin/perl + +#### +# Usage +# +# perl replace_version.pl --file=/path/to/file.php --version=2.8.0 + +use strict; +use warnings; + +use Getopt::Long; +use File::Basename; + +my %opt = (); +GetOptions( + \%opt, + qw/ + file=s + version=s + / +); + +if (not -e $opt{file}) { + die "file missing ".$opt{file}; +} + +my $new_content = ''; +open(my $ifh, '<'.$opt{file}) or die 'Houston, problem with "'.$opt{file}.'" for reading'; +while (<$ifh>) { + if (/^Version:/) { + $_ = 'Version: '.$opt{version}.''."\n"; + } + $new_content.= $_; +} +close($ifh); + +open(my $ofh, '>'.$opt{file}) or die 'Houston, problem with "'.$opt{file}.'" for writing'; +print {$ofh} $new_content; +close($ofh); -- cgit v1.2.3