mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-22 08:27:31 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
220
config/Moz/Milestone.pm
Normal file
220
config/Moz/Milestone.pm
Normal file
|
|
@ -0,0 +1,220 @@
|
|||
#!/usr/bin/perl -w
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
package Moz::Milestone;
|
||||
use strict;
|
||||
|
||||
use vars qw($officialMilestone
|
||||
$milestone);
|
||||
|
||||
local $Moz::Milestone::milestone;
|
||||
local $Moz::Milestone::officialMilestone;
|
||||
|
||||
#
|
||||
# Usage: getOfficialMilestone($milestoneFile)
|
||||
# Returns full milestone (x.x.x.x[ab12pre+])
|
||||
#
|
||||
sub getOfficialMilestone($) {
|
||||
my $mfile = $_[0];
|
||||
open(FILE,"$mfile") ||
|
||||
die ("Can't open $mfile for reading!");
|
||||
|
||||
my $num = <FILE>;
|
||||
while($num =~ /^\s*#/ || $num !~ /^\d/) {
|
||||
$num = <FILE>;
|
||||
}
|
||||
|
||||
close(FILE);
|
||||
if ($num !~ /^\d/) { return; }
|
||||
chomp($num);
|
||||
# Remove extra ^M caused by using dos-mode line-endings
|
||||
chop $num if (substr($num, -1, 1) eq "\r");
|
||||
$Moz::Milestone::officialMilestone = $num;
|
||||
$Moz::Milestone::milestone = &getMilestoneNum;
|
||||
return $num;
|
||||
}
|
||||
|
||||
#
|
||||
# Usage: getMilestoneNum($num)
|
||||
# Returns: milestone without a + if it exists.
|
||||
#
|
||||
sub getMilestoneNum {
|
||||
if (defined($Moz::Milestone::milestone)) {
|
||||
return $Moz::Milestone::milestone;
|
||||
}
|
||||
|
||||
if (defined($Moz::Milestone::officialMilestone)) {
|
||||
$Moz::Milestone::milestone = $Moz::Milestone::officialMilestone;
|
||||
} else {
|
||||
$Moz::Milestone::milestone = $_[0];
|
||||
}
|
||||
|
||||
if ($Moz::Milestone::milestone =~ /\+$/) { # for x.x.x+, strip off the +
|
||||
$Moz::Milestone::milestone =~ s/\+$//;
|
||||
}
|
||||
|
||||
return $Moz::Milestone::milestone;
|
||||
}
|
||||
|
||||
#
|
||||
# Usage: getMilestoneQualifier($num)
|
||||
# Returns: + if it exists.
|
||||
#
|
||||
sub getMilestoneQualifier {
|
||||
my $milestoneQualifier;
|
||||
if (defined($Moz::Milestone::officialMilestone)) {
|
||||
$milestoneQualifier = $Moz::Milestone::officialMilestone;
|
||||
} else {
|
||||
$milestoneQualifier = $_[0];
|
||||
}
|
||||
|
||||
if ($milestoneQualifier =~ /\+$/) {
|
||||
return "+";
|
||||
}
|
||||
}
|
||||
|
||||
sub getMilestoneMajor {
|
||||
my $milestoneMajor;
|
||||
if (defined($Moz::Milestone::milestone)) {
|
||||
$milestoneMajor = $Moz::Milestone::milestone;
|
||||
} else {
|
||||
$milestoneMajor = $_[0];
|
||||
}
|
||||
my @parts = split(/\./,$milestoneMajor);
|
||||
return $parts[0];
|
||||
}
|
||||
|
||||
sub getMilestoneMinor {
|
||||
my $milestoneMinor;
|
||||
if (defined($Moz::Milestone::milestone)) {
|
||||
$milestoneMinor = $Moz::Milestone::milestone;
|
||||
} else {
|
||||
$milestoneMinor = $_[0];
|
||||
}
|
||||
my @parts = split(/\./,$milestoneMinor);
|
||||
|
||||
if ($#parts < 1 ) { return 0; }
|
||||
return $parts[1];
|
||||
}
|
||||
|
||||
sub getMilestoneMini {
|
||||
my $milestoneMini;
|
||||
if (defined($Moz::Milestone::milestone)) {
|
||||
$milestoneMini = $Moz::Milestone::milestone;
|
||||
} else {
|
||||
$milestoneMini = $_[0];
|
||||
}
|
||||
my @parts = split(/\./,$milestoneMini);
|
||||
|
||||
if ($#parts < 2 ) { return 0; }
|
||||
return $parts[2];
|
||||
}
|
||||
|
||||
sub getMilestoneMicro {
|
||||
my $milestoneMicro;
|
||||
if (defined($Moz::Milestone::milestone)) {
|
||||
$milestoneMicro = $Moz::Milestone::milestone;
|
||||
} else {
|
||||
$milestoneMicro = $_[0];
|
||||
}
|
||||
my @parts = split(/\./,$milestoneMicro);
|
||||
|
||||
if ($#parts < 3 ) { return 0; }
|
||||
return $parts[3];
|
||||
}
|
||||
|
||||
sub getMilestoneAB {
|
||||
my $milestoneAB;
|
||||
if (defined($Moz::Milestone::milestone)) {
|
||||
$milestoneAB = $Moz::Milestone::milestone;
|
||||
} else {
|
||||
$milestoneAB = $_[0];
|
||||
}
|
||||
|
||||
if ($milestoneAB =~ /a/) { return "alpha"; }
|
||||
if ($milestoneAB =~ /b/) { return "beta"; }
|
||||
return "final";
|
||||
}
|
||||
|
||||
#
|
||||
# Usage: getMilestoneABWithNum($milestoneFile)
|
||||
# Returns the alpha and beta tag with its number (a1, a2, b3, ...)
|
||||
#
|
||||
sub getMilestoneABWithNum {
|
||||
my $milestoneABNum;
|
||||
if (defined($Moz::Milestone::milestone)) {
|
||||
$milestoneABNum = $Moz::Milestone::milestone;
|
||||
} else {
|
||||
$milestoneABNum = $_[0];
|
||||
}
|
||||
|
||||
if ($milestoneABNum =~ /([ab]\d+)/) {
|
||||
return $1;
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# build_file($template_file,$output_file)
|
||||
#
|
||||
sub build_file($$) {
|
||||
my @FILE;
|
||||
my @MILESTONE_PARTS;
|
||||
my $MINI_VERSION = 0;
|
||||
my $MICRO_VERSION = 0;
|
||||
my $OFFICIAL = 0;
|
||||
my $QUALIFIER = "";
|
||||
|
||||
if (!defined($Moz::Milestone::milestone)) { die("$0: no milestone file set!\n"); }
|
||||
@MILESTONE_PARTS = split(/\./, &getMilestoneNum);
|
||||
if ($#MILESTONE_PARTS >= 2) {
|
||||
$MINI_VERSION = 1;
|
||||
} else {
|
||||
$MILESTONE_PARTS[2] = 0;
|
||||
}
|
||||
if ($#MILESTONE_PARTS >= 3) {
|
||||
$MICRO_VERSION = 1;
|
||||
} else {
|
||||
$MILESTONE_PARTS[3] = 0;
|
||||
}
|
||||
if (! &getMilestoneQualifier) {
|
||||
$OFFICIAL = 1;
|
||||
} else {
|
||||
$QUALIFIER = "+";
|
||||
}
|
||||
|
||||
if (-e $_[0]) {
|
||||
open(FILE, "$_[0]") || die("$0: Can't open $_[0] for reading!\n");
|
||||
@FILE = <FILE>;
|
||||
close(FILE);
|
||||
|
||||
open(FILE, ">$_[1]") || die("$0: Can't open $_[1] for writing!\n");
|
||||
|
||||
#
|
||||
# There will be more of these based on what we need for files.
|
||||
#
|
||||
foreach(@FILE) {
|
||||
s/__MOZ_MAJOR_VERSION__/$MILESTONE_PARTS[0]/g;
|
||||
s/__MOZ_MINOR_VERSION__/$MILESTONE_PARTS[1]/g;
|
||||
s/__MOZ_MINI_VERSION__/$MILESTONE_PARTS[2]/g;
|
||||
s/__MOZ_MICRO_VERSION__/$MILESTONE_PARTS[3]/g;
|
||||
if ($MINI_VERSION) {
|
||||
s/__MOZ_OPTIONAL_MINI_VERSION__/.$MILESTONE_PARTS[2]/g;
|
||||
}
|
||||
if ($MICRO_VERSION) {
|
||||
s/__MOZ_OPTIONAL_MICRO_VERSION__/.$MILESTONE_PARTS[3]/g;
|
||||
}
|
||||
|
||||
print FILE $_;
|
||||
}
|
||||
close(FILE);
|
||||
} else {
|
||||
die("$0: $_[0] doesn't exist for autoversioning!\n");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
1;
|
||||
Loading…
Add table
Add a link
Reference in a new issue