[Pkg-mozext-commits] [adblock-plus] 65/464: Made other scripts delegate file reading to the packager as well, also made make_release.pl take extension name preferable from meta.properties

David Prévot taffit at moszumanska.debian.org
Tue Jul 22 20:44:03 UTC 2014


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository adblock-plus.

commit d59eba11c56ee5613476fa441f7cd51d3f8cbfc8
Author: Wladimir Palant <trev at adblockplus.org>
Date:   Mon Jan 18 16:23:55 2010 +0100

    Made other scripts delegate file reading to the packager as well, also made make_release.pl take extension name preferable from meta.properties
---
 Packager.pm              | 12 ++++++++++++
 make_babelzilla_build.pl | 26 ++++----------------------
 make_devbuild.pl         | 30 +++++++-----------------------
 make_release.pl          | 39 +++++++++------------------------------
 4 files changed, 32 insertions(+), 75 deletions(-)

diff --git a/Packager.pm b/Packager.pm
index 5e4164b..7def807 100644
--- a/Packager.pm
+++ b/Packager.pm
@@ -112,6 +112,18 @@ EOT
   $self->{localizedInfo} = $info;
 }
 
+sub readNameFromManifest
+{
+  my ($self, $installManifestFile) = @_;
+
+  my $installRDF = $self->readFile($installManifestFile);
+  return unless $installRDF;
+
+  $installRDF =~ s/<em:(requires|targetApplication)>.*?<\/em:\1>//gs;
+
+  $self->{name} = $1 if $installRDF =~ /<em:name>\s*([^<>]+?)\s*<\/em:name>/;
+}
+
 sub rm_rec
 {
   my ($self, $dir) = @_;
diff --git a/make_babelzilla_build.pl b/make_babelzilla_build.pl
index 9fb476a..be617ba 100644
--- a/make_babelzilla_build.pl
+++ b/make_babelzilla_build.pl
@@ -12,23 +12,18 @@ use Packager;
 
 sub Packager::fixLocales() {}
 
-my $manifest = readFile("chrome.manifest");
-unless ($manifest =~ /\bjar:chrome\/(\S+?)\.jar\b/)
-{
-  die "Could not find JAR file name in chrome.manifest";
-}
-my $baseName = $1;
-
 my %params = ();
 $params{version} = shift @ARGV;
 die "Please specify version number on command line" unless $params{version};
 
-my $xpiFile = "$baseName-$params{version}.xpi";
-
 my $pkg = Packager->new(\%params);
+$pkg->readBasename('chrome.manifest');
 $pkg->readLocales('chrome/locale', 1);
 $pkg->readLocaleData('chrome/locale');
 
+my $baseName = $pkg->{baseName};
+my $xpiFile = "$baseName-$params{version}.xpi";
+
 chdir('chrome');
 $pkg->makeJAR("$baseName.jar", 'content', 'skin', 'locale', '-/tests', '-/mochitest', '-/.incomplete');
 chdir('..');
@@ -56,16 +51,3 @@ sub postprocessInstallRDF
 
   return $line;
 }
-
-sub readFile
-{
-  my $file = shift;
-
-  open(local *FILE, "<", $file) || die "Could not read file '$file'";
-  binmode(FILE);
-  local $/;
-  my $result = <FILE>;
-  close(FILE);
-
-  return $result;
-}
diff --git a/make_devbuild.pl b/make_devbuild.pl
index a02922a..568a914 100644
--- a/make_devbuild.pl
+++ b/make_devbuild.pl
@@ -21,18 +21,15 @@
 #############################################################################
 
 use strict;
+use lib qw(buildtools);
+use Packager;
 
-my $manifest = readFile("chrome.manifest");
-unless ($manifest =~ /\bjar:chrome\/(\S+?)\.jar\b/)
-{
-  die "Could not find JAR file name in chrome.manifest";
-}
-my $baseName = $1;
+my $pkg = Packager->new();
+$pkg->readBasename('chrome.manifest');
+$pkg->readVersion('version');
 
-open(VERSION, "version");
-my $version = <VERSION>;
-$version =~ s/[^\w\.]//gs;
-close(VERSION);
+my $baseName = $pkg->{baseName};
+my $version = $pkg->{version};
 
 # Pad the version with zeroes to get version comparisons
 # right (1.2+ > 1.2.1 but 1.2.0+ < 1.2.1)
@@ -45,16 +42,3 @@ my $locale = (@ARGV ? "-" . join("-", @ARGV) : "");
 @ARGV = ("$baseName-$version+.$build$locale.xpi", "+.$build", @ARGV);
 do 'buildtools/create_xpi.pl';
 die $@ if $@;
-
-sub readFile
-{
-  my $file = shift;
-
-  open(local *FILE, "<", $file) || die "Could not read file '$file'";
-  binmode(FILE);
-  local $/;
-  my $result = <FILE>;
-  close(FILE);
-
-  return $result;
-}
diff --git a/make_release.pl b/make_release.pl
index e44b5eb..e79bae6 100644
--- a/make_release.pl
+++ b/make_release.pl
@@ -7,26 +7,21 @@
 #############################################################################
 
 use strict;
-use Cwd;
+use lib qw(buildtools);
+use Packager;
 
 our $BRANCH_NAME;
 
 die "This script cannot be called directly, please call the script for a particular extension" unless $BRANCH_NAME;
 
-my $manifest = readFile("chrome.manifest");
-unless ($manifest =~ /\bjar:chrome\/(\S+?)\.jar\b/)
-{
-  die "Could not find JAR file name in chrome.manifest";
-}
-my $baseName = $1;
+my $pkg = Packager->new({locales => ['en-US']});
+$pkg->readBasename('chrome.manifest');
+$pkg->readLocaleData('chrome/locale');
+$pkg->readNameFromManifest('install.rdf') unless $pkg->{name};
+die "Could not extract extension name" unless $pkg->{name};
 
-my $installRDF = readFile("install.rdf");
-$installRDF =~ s/<em:(requires|targetApplication)>.*?<\/em:\1>//gs;
-unless ($installRDF =~ /<em:name>\s*([^<>]+?)\s*<\/em:name>/)
-{
-  die "Could not find extension name in install.rdf";
-}
-my $extensionName = $1;
+my $baseName = $pkg->{baseName};
+my $extensionName = $pkg->{name};
 
 die "Version number not specified" unless @ARGV;
 
@@ -41,9 +36,6 @@ close(VERSION);
 do 'buildtools/create_xpi.pl';
 die $@ if $@;
 
-die "Failed to determine current directory name" unless cwd() =~ /([^\\\/]+)[\\\/]?$/;
-my $dir = $1;
-
 system("hg add -R ../downloads ../downloads/$baseName-$version.xpi");
 system(qq(hg commit -m "Releasing $extensionName $version"));
 system(qq(hg commit -R ../downloads -m "Releasing $extensionName $version"));
@@ -58,16 +50,3 @@ system(qq(hg tag -R ../buildtools $branch));
 system(qq(hg push));
 system(qq(hg push -R ../downloads));
 system(qq(hg push -R ../buildtools));
-
-sub readFile
-{
-  my $file = shift;
-
-  open(local *FILE, "<", $file) || die "Could not read file '$file'";
-  binmode(FILE);
-  local $/;
-  my $result = <FILE>;
-  close(FILE);
-
-  return $result;
-}

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/adblock-plus.git



More information about the Pkg-mozext-commits mailing list