зеркало из https://github.com/mozilla/gecko-dev.git
File Removed.
This commit is contained in:
Родитель
b2951b5f50
Коммит
1576d14b51
|
@ -1,44 +0,0 @@
|
||||||
#!perl
|
|
||||||
|
|
||||||
#
|
|
||||||
# The contents of this file are subject to the Netscape Public
|
|
||||||
# License Version 1.1 (the "License"); you may not use this file
|
|
||||||
# except in compliance with the License. You may obtain a copy of
|
|
||||||
# the License at http://www.mozilla.org/NPL/
|
|
||||||
#
|
|
||||||
# Software distributed under the License is distributed on an "AS
|
|
||||||
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|
||||||
# implied. See the License for the specific language governing
|
|
||||||
# rights and limitations under the License.
|
|
||||||
#
|
|
||||||
# The Original Code is mozilla.org code.
|
|
||||||
#
|
|
||||||
# The Initial Developer of the Original Code is Netscape
|
|
||||||
# Communications Corporation. Portions created by Netscape are
|
|
||||||
# Copyright (C) 1998 Netscape Communications Corporation. All
|
|
||||||
# Rights Reserved.
|
|
||||||
#
|
|
||||||
# Contributor(s):
|
|
||||||
#
|
|
||||||
|
|
||||||
use Moz;
|
|
||||||
use BuildList;
|
|
||||||
|
|
||||||
$DEBUG = 0;
|
|
||||||
|
|
||||||
# One of them should be 1. This will come from a config file at some stage.
|
|
||||||
# In the meanwhile, it should match mozilla/config/mac/MacConfig.h
|
|
||||||
$MOZ_LITE = 0;
|
|
||||||
$MOZ_MEDIUM = 1;
|
|
||||||
$MOZ_DARK = 0;
|
|
||||||
|
|
||||||
Moz::OpenErrorLog(":::Mozilla.BuildLog");
|
|
||||||
Moz::StopForErrors();
|
|
||||||
|
|
||||||
chdir("::::");
|
|
||||||
|
|
||||||
# Make and popuplate the dist directory
|
|
||||||
DistMozilla();
|
|
||||||
|
|
||||||
# Now build the projects
|
|
||||||
BuildMozilla();
|
|
|
@ -1,48 +0,0 @@
|
||||||
#!perl
|
|
||||||
|
|
||||||
#
|
|
||||||
# The contents of this file are subject to the Netscape Public
|
|
||||||
# License Version 1.1 (the "License"); you may not use this file
|
|
||||||
# except in compliance with the License. You may obtain a copy of
|
|
||||||
# the License at http://www.mozilla.org/NPL/
|
|
||||||
#
|
|
||||||
# Software distributed under the License is distributed on an "AS
|
|
||||||
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|
||||||
# implied. See the License for the specific language governing
|
|
||||||
# rights and limitations under the License.
|
|
||||||
#
|
|
||||||
# The Original Code is mozilla.org code.
|
|
||||||
#
|
|
||||||
# The Initial Developer of the Original Code is Netscape
|
|
||||||
# Communications Corporation. Portions created by Netscape are
|
|
||||||
# Copyright (C) 1998 Netscape Communications Corporation. All
|
|
||||||
# Rights Reserved.
|
|
||||||
#
|
|
||||||
# Contributor(s):
|
|
||||||
#
|
|
||||||
|
|
||||||
use Moz;
|
|
||||||
use BuildList;
|
|
||||||
|
|
||||||
$DEBUG = 1;
|
|
||||||
|
|
||||||
# One of them should be 1. This will come from a config file at some stage.
|
|
||||||
# In the meanwhile, it should match mozilla/config/mac/MacConfig.h
|
|
||||||
$MOZ_LITE = 0;
|
|
||||||
$MOZ_MEDIUM = 1;
|
|
||||||
$MOZ_DARK = 0;
|
|
||||||
|
|
||||||
Moz::OpenErrorLog(":::Mozilla.BuildLog");
|
|
||||||
Moz::StopForErrors();
|
|
||||||
|
|
||||||
chdir("::::");
|
|
||||||
|
|
||||||
# Make and popuplate the dist directory
|
|
||||||
DistMozilla();
|
|
||||||
|
|
||||||
# Set the build number in about-all.html. Commented out for now
|
|
||||||
# until ckid/mcvs resource problem is resolved.
|
|
||||||
# SetBuildNumber();
|
|
||||||
|
|
||||||
# Now build the projects
|
|
||||||
BuildMozilla();
|
|
|
@ -1,55 +0,0 @@
|
||||||
#!perl
|
|
||||||
|
|
||||||
#
|
|
||||||
# The contents of this file are subject to the Netscape Public
|
|
||||||
# License Version 1.1 (the "License"); you may not use this file
|
|
||||||
# except in compliance with the License. You may obtain a copy of
|
|
||||||
# the License at http://www.mozilla.org/NPL/
|
|
||||||
#
|
|
||||||
# Software distributed under the License is distributed on an "AS
|
|
||||||
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|
||||||
# implied. See the License for the specific language governing
|
|
||||||
# rights and limitations under the License.
|
|
||||||
#
|
|
||||||
# The Original Code is mozilla.org code.
|
|
||||||
#
|
|
||||||
# The Initial Developer of the Original Code is Netscape
|
|
||||||
# Communications Corporation. Portions created by Netscape are
|
|
||||||
# Copyright (C) 1998 Netscape Communications Corporation. All
|
|
||||||
# Rights Reserved.
|
|
||||||
#
|
|
||||||
# Contributor(s):
|
|
||||||
#
|
|
||||||
|
|
||||||
use Moz;
|
|
||||||
use BuildList;
|
|
||||||
|
|
||||||
$DEBUG = 1;
|
|
||||||
|
|
||||||
# One of them should be 1. This will come from a config file at some stage.
|
|
||||||
# In the meanwhile, it should match mozilla/config/mac/MacConfig.h
|
|
||||||
$MOZ_LITE = 0;
|
|
||||||
$MOZ_MEDIUM = 1;
|
|
||||||
$MOZ_DARK = 0;
|
|
||||||
|
|
||||||
Moz::OpenErrorLog(":::Mozilla.BuildLog");
|
|
||||||
Moz::StopForErrors();
|
|
||||||
|
|
||||||
chdir("::::");
|
|
||||||
|
|
||||||
SetBuildNumber();
|
|
||||||
|
|
||||||
SetTimeBomb(0, 30);
|
|
||||||
|
|
||||||
# Make and popuplate the dist directory
|
|
||||||
DistMozilla();
|
|
||||||
|
|
||||||
Delay(10);
|
|
||||||
|
|
||||||
# Set the build number in about-all.html. Commented out for now
|
|
||||||
# until ckid/mcvs resource problem is resolved.
|
|
||||||
|
|
||||||
# SetAgentString();
|
|
||||||
|
|
||||||
# Now build the projects
|
|
||||||
BuildMozilla();
|
|
|
@ -1,908 +0,0 @@
|
||||||
global PPCPROJECTFAILED
|
|
||||||
global CVSSESSIONFILE
|
|
||||||
global CVSSESSIONNAME
|
|
||||||
global BUILDLIST
|
|
||||||
global BUILDNAME
|
|
||||||
global FOLDERTIME
|
|
||||||
global SOURCEPATH
|
|
||||||
global CHECKOUTTIME
|
|
||||||
global TINDERBOXTREE
|
|
||||||
global MACHINEADMIN
|
|
||||||
global CLOBBERBUILD
|
|
||||||
global STARTUPDISK
|
|
||||||
global BINARYPATH
|
|
||||||
property CONFIGFILENAME : "Tinderbox Config"
|
|
||||||
|
|
||||||
-------------------------
|
|
||||||
on CreateLogFile(logFilePath)
|
|
||||||
-- creates a "build log" file
|
|
||||||
-------------------------
|
|
||||||
global logFileID
|
|
||||||
set logFileID to 0
|
|
||||||
try
|
|
||||||
set logFileID to open for access file logFilePath with write permission
|
|
||||||
--set the type of alias logFilePath to "CWIE"
|
|
||||||
on error errMsg2 number errNum
|
|
||||||
if (errNum is not -49) then
|
|
||||||
-- nothing to do about such errors
|
|
||||||
error errMsg2 & " error = " & errNum
|
|
||||||
end if
|
|
||||||
end try
|
|
||||||
end CreateLogFile
|
|
||||||
|
|
||||||
-------------------------
|
|
||||||
on CloseLogFile()
|
|
||||||
-- close log file
|
|
||||||
-------------------------
|
|
||||||
global logFileID
|
|
||||||
if logFileID is not 0 then close access logFileID
|
|
||||||
end CloseLogFile
|
|
||||||
|
|
||||||
-------------------------
|
|
||||||
on logMessage(m)
|
|
||||||
-- logs a message to the log file
|
|
||||||
-------------------------
|
|
||||||
global logFileID
|
|
||||||
try
|
|
||||||
if logFileID is not 0 then write (m as string) & (ASCII character 13) to logFileID
|
|
||||||
--display dialog m
|
|
||||||
on error
|
|
||||||
-- hmmm??
|
|
||||||
end try
|
|
||||||
end logMessage
|
|
||||||
|
|
||||||
-------------------------
|
|
||||||
on trim(q)
|
|
||||||
-- strip leading and trailing white space.
|
|
||||||
-------------------------
|
|
||||||
set realLast to length of q
|
|
||||||
repeat
|
|
||||||
if realLast is 0 then exit repeat
|
|
||||||
set c to character realLast of q
|
|
||||||
if c is not space and c is not tab then exit repeat
|
|
||||||
set realLast to realLast - 1
|
|
||||||
end repeat
|
|
||||||
if (realLast is 0) then return ""
|
|
||||||
set realFirst to 1
|
|
||||||
repeat
|
|
||||||
if realFirst > realLast then exit repeat
|
|
||||||
set c to character realFirst of q
|
|
||||||
if c is not space and c is not tab then exit repeat
|
|
||||||
set realFirst to realFirst + 1
|
|
||||||
end repeat
|
|
||||||
if (realFirst > realLast) then return ""
|
|
||||||
return text realFirst through realLast of q
|
|
||||||
end trim
|
|
||||||
|
|
||||||
-------------------------
|
|
||||||
on Token(aString, tokenRequested)
|
|
||||||
-- Return the string up to the first space. Input must be trimmed.
|
|
||||||
-------------------------
|
|
||||||
set tokenFirst to 0 -- offset of first char of current token
|
|
||||||
set tokenCount to 0 -- which token we are examining
|
|
||||||
set tokenScan to 0 -- offset of next character being examined
|
|
||||||
set stringLength to length of aString
|
|
||||||
if (tokenRequested = 0) then return ""
|
|
||||||
repeat
|
|
||||||
set tokenFirst to tokenFirst + 1
|
|
||||||
set tokenCount to tokenCount + 1
|
|
||||||
-- check for inital whitespace
|
|
||||||
repeat
|
|
||||||
set c to character tokenFirst of aString
|
|
||||||
if c is not space and c is not tab then exit repeat
|
|
||||||
set tokenFirst to tokenFirst + 1
|
|
||||||
end repeat
|
|
||||||
-- check for inital quote
|
|
||||||
set isQuotedString to false
|
|
||||||
if c is "\"" then
|
|
||||||
set isQuotedString to true
|
|
||||||
set tokenFirst to tokenFirst + 1
|
|
||||||
end if
|
|
||||||
-- scan for the next white space or the end of string
|
|
||||||
set tokenScan to tokenFirst - 1
|
|
||||||
repeat
|
|
||||||
set tokenScan to tokenScan + 1
|
|
||||||
if tokenScan > stringLength then exit repeat
|
|
||||||
set c to character tokenScan of aString
|
|
||||||
if (isQuotedString) then
|
|
||||||
if c is "\"" then exit repeat
|
|
||||||
else
|
|
||||||
if c is space or c is tab then exit repeat -- whitespace
|
|
||||||
end if
|
|
||||||
end repeat
|
|
||||||
-- Got a token
|
|
||||||
if (tokenCount = tokenRequested) then
|
|
||||||
return trim(text tokenFirst through (tokenScan - 1) of aString)
|
|
||||||
end if
|
|
||||||
if (tokenScan > stringLength) then return ""
|
|
||||||
set tokenFirst to tokenScan
|
|
||||||
end repeat
|
|
||||||
end Token
|
|
||||||
|
|
||||||
-------------------------
|
|
||||||
on monthNumber(dateObj)
|
|
||||||
-------------------------
|
|
||||||
set monthList to {January, February, March, April, May, Â
|
|
||||||
June, July, August, September, October, November, December}
|
|
||||||
set m to month of dateObj
|
|
||||||
repeat with i from 1 to number of items of monthList
|
|
||||||
if m = item i of monthList then
|
|
||||||
return i
|
|
||||||
end if
|
|
||||||
end repeat
|
|
||||||
end monthNumber
|
|
||||||
|
|
||||||
-------------------------
|
|
||||||
on ExtractTimeString(d)
|
|
||||||
-- given a date object, extract hh.mm
|
|
||||||
-------------------------
|
|
||||||
set tstring to ""
|
|
||||||
set t to (time of d as integer)
|
|
||||||
set m to (t div 60 as integer)
|
|
||||||
set h to m div 60
|
|
||||||
set m to (m - h * 60)
|
|
||||||
if (h < 10) then set tstring to tstring & "0"
|
|
||||||
set tstring to tstring & h
|
|
||||||
if (m < 10) then set tstring to tstring & "0"
|
|
||||||
set tstring to tstring & m
|
|
||||||
return tstring
|
|
||||||
end ExtractTimeString
|
|
||||||
|
|
||||||
-------------------------
|
|
||||||
on ExtractDateString(d)
|
|
||||||
-- given a date object, extract yy/mm/dd
|
|
||||||
-------------------------
|
|
||||||
set dstring to (year of d) & "."
|
|
||||||
set m to monthNumber(d)
|
|
||||||
if (m < 10) then set dstring to dstring & "0"
|
|
||||||
set dstring to dstring & m & "."
|
|
||||||
set d to (day of d)
|
|
||||||
if (d < 10) then set dstring to dstring & "0"
|
|
||||||
set dstring to dstring & d
|
|
||||||
return dstring
|
|
||||||
end ExtractDateString
|
|
||||||
|
|
||||||
-------------------------
|
|
||||||
on GetCVSTimeStamp(d)
|
|
||||||
-- turns AppleScript date object into a text CVS type time stamp
|
|
||||||
-- suitable for passing into MacCVS
|
|
||||||
-------------------------
|
|
||||||
set dstring to ""
|
|
||||||
set m to monthNumber(d)
|
|
||||||
if (m < 10) then set dstring to "0"
|
|
||||||
set dstring to m & "/"
|
|
||||||
set dayNum to (day of d)
|
|
||||||
if (dayNum < 10) then set dstring to dstring & "0"
|
|
||||||
set dstring to dstring & dayNum & "/"
|
|
||||||
set theYear to ((year of d) as string)
|
|
||||||
set dstring to dstring & {characters 3 thru 4 of theYear}
|
|
||||||
|
|
||||||
set tstring to ""
|
|
||||||
set t to (time of d as integer)
|
|
||||||
set m to (t div 60 as integer)
|
|
||||||
set h to m div 60
|
|
||||||
set m to (m - h * 60)
|
|
||||||
if (h < 10) then set tstring to tstring & "0"
|
|
||||||
set tstring to tstring & h & ":"
|
|
||||||
if (m < 10) then set tstring to tstring & "0"
|
|
||||||
set tstring to tstring & m & ":"
|
|
||||||
set s to (t mod 60)
|
|
||||||
if (s < 10) then set tstring to tstring & 0
|
|
||||||
set tstring to tstring & s
|
|
||||||
|
|
||||||
set theresult to ((dstring & " " & tstring & " PST") as string)
|
|
||||||
return theresult
|
|
||||||
end GetCVSTimeStamp
|
|
||||||
|
|
||||||
-------------------------
|
|
||||||
on GetTimeStamp()
|
|
||||||
-- returns a numeric string given for a date object
|
|
||||||
-------------------------
|
|
||||||
set d to current date
|
|
||||||
set dstring to ExtractDateString(d) & "." & ExtractTimeString(d)
|
|
||||||
set dstring to dstring as string
|
|
||||||
return dstring
|
|
||||||
end GetTimeStamp
|
|
||||||
|
|
||||||
-------------------------
|
|
||||||
-- given a full path, return the name of the last object
|
|
||||||
on GetCVSSessionName(path)
|
|
||||||
-- given a mac style path, return the string name of the
|
|
||||||
-- last object in a path
|
|
||||||
-------------------------
|
|
||||||
set going to true
|
|
||||||
set i to the length of path
|
|
||||||
|
|
||||||
repeat while going is true
|
|
||||||
set theChar to character i of path
|
|
||||||
if theChar is ":" then
|
|
||||||
set going to false
|
|
||||||
end if
|
|
||||||
set i to i - 1
|
|
||||||
end repeat
|
|
||||||
set sessionName to (characters {i + 2} thru length of path)
|
|
||||||
return sessionName as string
|
|
||||||
end GetCVSSessionName
|
|
||||||
|
|
||||||
-------------------------
|
|
||||||
on doOnePPCProject(projpath, targetName)
|
|
||||||
-- process one PPC project, given path to project and the target
|
|
||||||
-- if target is "" build frontmost target (the default)
|
|
||||||
-------------------------
|
|
||||||
global gDoAliases
|
|
||||||
set noError to false
|
|
||||||
with timeout of 3600 seconds (* one hour*)
|
|
||||||
|
|
||||||
try
|
|
||||||
tell application "CodeWarrior IDE 3.2"
|
|
||||||
open {projpath}
|
|
||||||
end tell
|
|
||||||
on error errMsg number errNum
|
|
||||||
logMessage("Error : Can't open project " & projpath)
|
|
||||||
set PPCPROJECTFAILED to true
|
|
||||||
error
|
|
||||||
end try
|
|
||||||
|
|
||||||
if targetName is not "" then
|
|
||||||
tell application "CodeWarrior IDE 3.2"
|
|
||||||
Set Current Target (targetName as string)
|
|
||||||
end tell
|
|
||||||
end if
|
|
||||||
|
|
||||||
try
|
|
||||||
tell application "CodeWarrior IDE 3.2"
|
|
||||||
set myErrors to Make Project
|
|
||||||
end tell
|
|
||||||
on error number errNum
|
|
||||||
if errNum < 0 then
|
|
||||||
set noError to true
|
|
||||||
end if
|
|
||||||
end try
|
|
||||||
if noError is false then
|
|
||||||
tell application "CodeWarrior IDE 3.2"
|
|
||||||
set theProjectName to my GetProjectName(projpath)
|
|
||||||
Save Error Window As {STARTUPDISK & ":" & FOLDERTIME & ":" & theProjectName & ".txt"}
|
|
||||||
end tell
|
|
||||||
set PPCPROJECTFAILED to true
|
|
||||||
end if
|
|
||||||
tell application "CodeWarrior IDE 3.2"
|
|
||||||
Close Project
|
|
||||||
end tell
|
|
||||||
end timeout
|
|
||||||
return (noError)
|
|
||||||
end doOnePPCProject
|
|
||||||
|
|
||||||
|
|
||||||
-------------------------
|
|
||||||
on ReadLn(fileRefNum)
|
|
||||||
-- strip empty lines and strip terminal comments
|
|
||||||
-------------------------
|
|
||||||
try
|
|
||||||
repeat
|
|
||||||
set q to read fileRefNum before return
|
|
||||||
if q is not "" then
|
|
||||||
set hashOffset to offset of "#" in q
|
|
||||||
if (hashOffset is 0) then set hashOffset to offset of "//" in q
|
|
||||||
if (hashOffset > 1) then
|
|
||||||
set q to text 1 thru (hashOffset - 1) of q
|
|
||||||
end if
|
|
||||||
if hashOffset is not 1 and q is not "" then
|
|
||||||
-- strip trailing white space.
|
|
||||||
set q to trim(q)
|
|
||||||
if q is not "" then return q
|
|
||||||
end if
|
|
||||||
end if
|
|
||||||
end repeat
|
|
||||||
on error errString number errNum
|
|
||||||
if errNum is -39 then -- no more lines (eof)
|
|
||||||
return ""
|
|
||||||
end if
|
|
||||||
ErrorMessage(errString)
|
|
||||||
error errString
|
|
||||||
return errString
|
|
||||||
end try
|
|
||||||
end ReadLn
|
|
||||||
|
|
||||||
on ProcessList(theListFile)
|
|
||||||
try
|
|
||||||
with timeout of 14400 seconds -- four hours
|
|
||||||
tell application "MacPerl"
|
|
||||||
Do Script {theListFile as alias}
|
|
||||||
end tell
|
|
||||||
end timeout
|
|
||||||
on error
|
|
||||||
end try
|
|
||||||
|
|
||||||
end ProcessList
|
|
||||||
|
|
||||||
(* Initialize script. Read Config file. Get source directory *)
|
|
||||||
on Initialize()
|
|
||||||
|
|
||||||
try
|
|
||||||
-- find the config file at the same level as this applescript
|
|
||||||
-- if you're running this in script debugger, uncomment lines below
|
|
||||||
set oldDelimiters to AppleScript's text item delimiters
|
|
||||||
set myPath to (path to me) as text
|
|
||||||
set AppleScript's text item delimiters to {":"}
|
|
||||||
set pl to (every text item of myPath)
|
|
||||||
set configPath to (items 1 thru ((count of pl) - 1) of pl) as string
|
|
||||||
set configPath to configPath & ":" & CONFIGFILENAME
|
|
||||||
set AppleScript's text item delimiters to oldDelimiters
|
|
||||||
|
|
||||||
set f to 0
|
|
||||||
|
|
||||||
-- DEBUG
|
|
||||||
-- uncomment this for debugging
|
|
||||||
-- set configPath to "Forge:Tinderbox:cm:client:mac:contbuild:Tinderbox Config"
|
|
||||||
set f to open for access {configPath as alias}
|
|
||||||
|
|
||||||
set MACHINEADMIN to ReadLn(f)
|
|
||||||
set TINDERBOXTREE to ReadLn(f)
|
|
||||||
set BUILDNAME to ReadLn(f)
|
|
||||||
|
|
||||||
set clobberstring to ReadLn(f)
|
|
||||||
if clobberstring is "Clobber" then
|
|
||||||
set CLOBBERBUILD to true
|
|
||||||
else
|
|
||||||
set CLOBBERBUILD to false
|
|
||||||
end if
|
|
||||||
|
|
||||||
set CVSSESSIONFILE to ReadLn(f)
|
|
||||||
set BUILDLIST to ReadLn(f)
|
|
||||||
set BINARYPATH to ReadLn(f)
|
|
||||||
|
|
||||||
if f is not 0 then
|
|
||||||
close access f
|
|
||||||
end if
|
|
||||||
on error
|
|
||||||
display dialog "Failed to read config file!"
|
|
||||||
end try
|
|
||||||
|
|
||||||
set CHECKOUTTIME to GetCVSTimeStamp(current date)
|
|
||||||
|
|
||||||
set SOURCEPATH to getLocalCVSRoot(CVSSESSIONFILE)
|
|
||||||
|
|
||||||
tell application "Finder"
|
|
||||||
set STARTUPDISK to name of startup disk
|
|
||||||
end tell
|
|
||||||
|
|
||||||
createLogDirectory(STARTUPDISK & ":")
|
|
||||||
CreateLogFile(STARTUPDISK & ":" & FOLDERTIME & ":" & "Tinderbox Script Log")
|
|
||||||
|
|
||||||
logMessage("Machine Administrator: " & MACHINEADMIN)
|
|
||||||
logMessage("Building to Tinderbox Tree: " & TINDERBOXTREE)
|
|
||||||
logMessage("Building: " & BUILDNAME)
|
|
||||||
|
|
||||||
if (CLOBBERBUILD) then
|
|
||||||
logMessage("Building Clobber")
|
|
||||||
else
|
|
||||||
logMessage("Building Depend")
|
|
||||||
end if
|
|
||||||
logMessage("CVS Session file at: " & CVSSESSIONFILE)
|
|
||||||
logMessage("BuildList at: " & BUILDLIST)
|
|
||||||
logMessage("Binary file at: " & BINARYPATH)
|
|
||||||
return true
|
|
||||||
|
|
||||||
end Initialize
|
|
||||||
|
|
||||||
-- given a full path, return the name of the last object
|
|
||||||
on GetProjectName(path)
|
|
||||||
set going to true
|
|
||||||
set i to the length of path
|
|
||||||
repeat while going is true
|
|
||||||
set theChar to character i of path
|
|
||||||
if theChar is ":" then
|
|
||||||
set going to false
|
|
||||||
end if
|
|
||||||
set i to i - 1
|
|
||||||
end repeat
|
|
||||||
return (characters {i + 2} thru length of path)
|
|
||||||
end GetProjectName
|
|
||||||
|
|
||||||
|
|
||||||
on notifyHook(result)
|
|
||||||
if result is true then
|
|
||||||
tell application "Eudora Pro 3.1"
|
|
||||||
activate
|
|
||||||
set newMsg to make new message at end of mailbox "Out" of mail folder ""
|
|
||||||
set field "Subject:" of newMsg to "Mac Continous Build FAILED"
|
|
||||||
set body of newMsg to "
|
|
||||||
The last Mac Continous Build Failed at: " & " " & {CHECKOUTTIME as text} & "
|
|
||||||
Since you are on the hook, you might be responsible for the breakage.
|
|
||||||
|
|
||||||
Please check the logs at: http://warp/tinderbox/showbuilds.cgi?tree=" & TINDERBOXTREE & "
|
|
||||||
|
|
||||||
to see if you busted the build."
|
|
||||||
set field "To:" of newMsg to "bonsai-hook"
|
|
||||||
activate
|
|
||||||
queue message newMsg
|
|
||||||
connect with sending without checking
|
|
||||||
end tell
|
|
||||||
end if
|
|
||||||
end notifyHook
|
|
||||||
|
|
||||||
on notifyTinderBoxStart()
|
|
||||||
try
|
|
||||||
tell application "Eudora Pro 3.1"
|
|
||||||
activate
|
|
||||||
set newMsg to make new message at end of mailbox "Out" of mail folder ""
|
|
||||||
set body of newMsg to "
|
|
||||||
|
|
||||||
tinderbox: tree: " & TINDERBOXTREE & "
|
|
||||||
tinderbox: builddate: " & CHECKOUTTIME & "
|
|
||||||
tinderbox: status: building
|
|
||||||
tinderbox: build: " & BUILDNAME & "
|
|
||||||
tinderbox: errorparser: mac
|
|
||||||
"
|
|
||||||
set field "To:" of newMsg to "tinderbox-daemon@warp"
|
|
||||||
activate
|
|
||||||
queue message newMsg
|
|
||||||
connect with sending without checking
|
|
||||||
quit
|
|
||||||
end tell
|
|
||||||
on error
|
|
||||||
CloseLogFile()
|
|
||||||
display dialog "MAIL SERVER ERROR: CAN'T SEND COMPLETION E-MAIL. SCRIPT HALTED"
|
|
||||||
error number -128
|
|
||||||
end try
|
|
||||||
|
|
||||||
end notifyTinderBoxStart
|
|
||||||
|
|
||||||
on notifyTinderBox(result)
|
|
||||||
try
|
|
||||||
if result is true then
|
|
||||||
|
|
||||||
tell application "Finder"
|
|
||||||
set thelist to (every file of folder (STARTUPDISK & ":" & FOLDERTIME & ":"))
|
|
||||||
end tell
|
|
||||||
|
|
||||||
set numFiles to count of thelist
|
|
||||||
set i to 1
|
|
||||||
set aliasList to {}
|
|
||||||
|
|
||||||
repeat numFiles times
|
|
||||||
set aliasList to aliasList & (item i of thelist as alias)
|
|
||||||
set i to i + 1
|
|
||||||
end repeat
|
|
||||||
|
|
||||||
tell application "Eudora Pro 3.1"
|
|
||||||
activate
|
|
||||||
set newMsg to make new message at end of mailbox "Out" of mail folder ""
|
|
||||||
attach to newMsg documents aliasList
|
|
||||||
set field "Subject:" of newMsg to "Mac Continous Build FAILED"
|
|
||||||
set body of newMsg to "
|
|
||||||
|
|
||||||
tinderbox: tree: " & TINDERBOXTREE & "
|
|
||||||
tinderbox: builddate: " & CHECKOUTTIME & "
|
|
||||||
tinderbox: status: busted
|
|
||||||
tinderbox: build: " & BUILDNAME & "
|
|
||||||
tinderbox: errorparser: mac
|
|
||||||
"
|
|
||||||
set field "To:" of newMsg to "tinderbox-daemon@warp"
|
|
||||||
activate
|
|
||||||
queue message newMsg
|
|
||||||
connect with sending without checking
|
|
||||||
quit
|
|
||||||
end tell
|
|
||||||
end if
|
|
||||||
|
|
||||||
if result is false then
|
|
||||||
|
|
||||||
tell application "Finder"
|
|
||||||
set thelist to (every file of folder (STARTUPDISK & ":" & FOLDERTIME & ":"))
|
|
||||||
end tell
|
|
||||||
|
|
||||||
set numFiles to count of thelist
|
|
||||||
set i to 1
|
|
||||||
set aliasList to {}
|
|
||||||
|
|
||||||
repeat numFiles times
|
|
||||||
set aliasList to aliasList & (item i of thelist as alias)
|
|
||||||
set i to i + 1
|
|
||||||
end repeat
|
|
||||||
|
|
||||||
tell application "Eudora Pro 3.1"
|
|
||||||
activate
|
|
||||||
set newMsg to make new message at end of mailbox "Out" of mail folder ""
|
|
||||||
set field "Subject:" of newMsg to "Mac Continous Build SUCCEEDED"
|
|
||||||
set body of newMsg to "
|
|
||||||
|
|
||||||
tinderbox: tree: " & TINDERBOXTREE & "
|
|
||||||
tinderbox: builddate: " & CHECKOUTTIME & "
|
|
||||||
tinderbox: status: success
|
|
||||||
tinderbox: build: " & BUILDNAME & "
|
|
||||||
tinderbox: errorparser: mac
|
|
||||||
"
|
|
||||||
set field "To:" of newMsg to "tinderbox-daemon@warp"
|
|
||||||
activate
|
|
||||||
queue message newMsg
|
|
||||||
connect with sending without checking
|
|
||||||
quit
|
|
||||||
end tell
|
|
||||||
end if
|
|
||||||
on error
|
|
||||||
CloseLogFile()
|
|
||||||
display dialog "MAIL SERVER ERROR: CAN'T SEND COMPLETION E-MAIL. SCRIPT HALTED"
|
|
||||||
error number -128
|
|
||||||
end try
|
|
||||||
|
|
||||||
end notifyTinderBox
|
|
||||||
|
|
||||||
on PageAdmin(pageMesg)
|
|
||||||
tell application "Eudora Pro 3.1"
|
|
||||||
activate
|
|
||||||
set newMsg to make new message at end of mailbox "Out" of mail folder ""
|
|
||||||
set field "To:" of newMsg to MACHINEADMIN
|
|
||||||
set field "Subject:" of newMsg to TINDERBOXTREE & " " & BUILDNAME & " Continous Build failed"
|
|
||||||
if pageMesg is not "" then
|
|
||||||
set body of newMsg to pageMesg
|
|
||||||
end if
|
|
||||||
activate
|
|
||||||
queue message newMsg
|
|
||||||
connect with sending without checking
|
|
||||||
quit
|
|
||||||
end tell
|
|
||||||
end PageAdmin
|
|
||||||
|
|
||||||
-- remove all directories from the local root, removing the old tree
|
|
||||||
on removeOldTree()
|
|
||||||
|
|
||||||
try
|
|
||||||
tell application "Finder"
|
|
||||||
open folder (SOURCEPATH as string)
|
|
||||||
select every item of item of container window of folder (SOURCEPATH as string)
|
|
||||||
delete selection
|
|
||||||
close container window of folder (SOURCEPATH as string)
|
|
||||||
empty trash
|
|
||||||
end tell
|
|
||||||
on error
|
|
||||||
CloseLogFile()
|
|
||||||
set PPCPROJECTFAILED to true
|
|
||||||
logMessage("Error : Couldn't delete the old tree.")
|
|
||||||
PageAdmin("Couldn't nuke old tree!")
|
|
||||||
display dialog ("Couldn't nuke old tree! SCRIPT HALTED")
|
|
||||||
error number -128
|
|
||||||
end try
|
|
||||||
|
|
||||||
end removeOldTree
|
|
||||||
|
|
||||||
-- remove the 'dist' directory from the local root
|
|
||||||
on removeOldDist() --¥
|
|
||||||
|
|
||||||
try
|
|
||||||
tell application "Finder"
|
|
||||||
set distPath to SOURCEPATH & ":mozilla:dist"
|
|
||||||
open folder (distPath as string)
|
|
||||||
select every item of item of container window of folder (distPath as string)
|
|
||||||
delete selection
|
|
||||||
close container window of folder (distPath as string)
|
|
||||||
empty trash
|
|
||||||
end tell
|
|
||||||
on error
|
|
||||||
CloseLogFile()
|
|
||||||
set PPCPROJECTFAILED to true
|
|
||||||
logMessage("Error : Couldn't delete the old 'dist' directory.")
|
|
||||||
PageAdmin("Couldn't nuke old 'dist' directory!")
|
|
||||||
display dialog ("Couldn't nuke old 'dist' directory! SCRIPT HALTED")
|
|
||||||
error number -128
|
|
||||||
end try
|
|
||||||
|
|
||||||
end removeOldDist
|
|
||||||
|
|
||||||
on checkoutModule(cvsmodule, cvsRevision)
|
|
||||||
|
|
||||||
try
|
|
||||||
with timeout of 1800 seconds (* 30 minutes *)
|
|
||||||
if cvsRevision is "" then
|
|
||||||
tell application "MacCVS Pro 2.1b2r1 PPC"
|
|
||||||
tell session CVSSESSIONNAME
|
|
||||||
activate
|
|
||||||
checkout module cvsmodule
|
|
||||||
end tell
|
|
||||||
end tell
|
|
||||||
else
|
|
||||||
tell application "MacCVS Pro 2.1b2r1 PPC"
|
|
||||||
tell session CVSSESSIONNAME
|
|
||||||
activate
|
|
||||||
checkout module cvsmodule revision cvsRevision
|
|
||||||
end tell
|
|
||||||
end tell
|
|
||||||
end if
|
|
||||||
end timeout
|
|
||||||
if cvsRevision is "" then
|
|
||||||
logMessage("Check-out of " & cvsmodule & "successful!")
|
|
||||||
else
|
|
||||||
logMessage("Check-out of " & cvsmodule & "at revision: " & cvsRevision & " successful!")
|
|
||||||
end if
|
|
||||||
on error errMsg number errNum
|
|
||||||
if cvsRevision is "" then
|
|
||||||
set PPCPROJECTFAILED to true
|
|
||||||
logMessage("Error : Can't check out module: " & cvsmodule & " revision: Tip")
|
|
||||||
logMessage("Error : " & errMsg)
|
|
||||||
error "Can't check out module"
|
|
||||||
else
|
|
||||||
set PPCPROJECTFAILED to true
|
|
||||||
logMessage("Error : Can't check out module: " & cvsmodule & " revision: " & cvsRevision)
|
|
||||||
logMessage("Error : " & errMsg)
|
|
||||||
error "Can't check out module"
|
|
||||||
end if
|
|
||||||
end try
|
|
||||||
|
|
||||||
end checkoutModule
|
|
||||||
|
|
||||||
on checkOutTree(pathToCVSSession)
|
|
||||||
|
|
||||||
try
|
|
||||||
set oldDelimiters to AppleScript's text item delimiters
|
|
||||||
set myPath to (path to me) as text
|
|
||||||
set AppleScript's text item delimiters to {":"}
|
|
||||||
set pl to (every text item of myPath)
|
|
||||||
set configPath to (items 1 thru ((count of pl) - 1) of pl) as string
|
|
||||||
set configPath to configPath & ":" & CONFIGFILENAME
|
|
||||||
set AppleScript's text item delimiters to oldDelimiters
|
|
||||||
|
|
||||||
set f to 0
|
|
||||||
|
|
||||||
-- set configPath to "Forge:Tinderbox:cm:client:mac:contbuild:Tinderbox Config"
|
|
||||||
set f to open for access {configPath as alias}
|
|
||||||
(* read past the cruft of the config file *)
|
|
||||||
ReadLn(f)
|
|
||||||
ReadLn(f)
|
|
||||||
ReadLn(f)
|
|
||||||
ReadLn(f)
|
|
||||||
ReadLn(f)
|
|
||||||
ReadLn(f)
|
|
||||||
ReadLn(f)
|
|
||||||
on error
|
|
||||||
CloseLogFile()
|
|
||||||
set PPCPROJECTFAILED to true
|
|
||||||
logMessage("Couldn't check-out the tree: couldn't read modules" & return)
|
|
||||||
logMessage(errMsg)
|
|
||||||
PageAdmin("Couldn't check-out the tree: couldn't read modules")
|
|
||||||
display dialog "Couldn't read modules from config file: SCRIPT HALTED"
|
|
||||||
error number -128
|
|
||||||
end try
|
|
||||||
|
|
||||||
-- open the session
|
|
||||||
tell application "MacCVS Pro 2.1b2r1 PPC"
|
|
||||||
activate
|
|
||||||
open {pathToCVSSession as alias}
|
|
||||||
end tell
|
|
||||||
|
|
||||||
try
|
|
||||||
repeat
|
|
||||||
set cvsmodule to ReadLn(f)
|
|
||||||
if cvsmodule is "" then exit repeat
|
|
||||||
if cvsmodule = "CVS Session" then
|
|
||||||
switchCVSSession(f)
|
|
||||||
else
|
|
||||||
set revision to Token(cvsmodule, 2)
|
|
||||||
set cvsmodule to Token(cvsmodule, 1)
|
|
||||||
checkoutModule(cvsmodule, revision)
|
|
||||||
end if
|
|
||||||
end repeat
|
|
||||||
logMessage("### Checked-out all required modules")
|
|
||||||
on error
|
|
||||||
--¥tell application "MacCVS Pro 2.1b2r1 PPC"
|
|
||||||
--¥quit
|
|
||||||
--¥end tell
|
|
||||||
-- toss something up to run()
|
|
||||||
error
|
|
||||||
end try
|
|
||||||
|
|
||||||
--¥tell application "MacCVS Pro 2.1b2r1 PPC"
|
|
||||||
--¥quit
|
|
||||||
--¥end tell
|
|
||||||
|
|
||||||
end checkOutTree
|
|
||||||
|
|
||||||
on switchCVSSession(f)
|
|
||||||
|
|
||||||
tell application "MacCVS Pro 2.1b2r1 PPC"
|
|
||||||
close session CVSSESSIONNAME
|
|
||||||
end tell
|
|
||||||
|
|
||||||
set newSessionPath to ReadLn(f)
|
|
||||||
set newSessionName to GetCVSSessionName(newSessionPath)
|
|
||||||
|
|
||||||
set CVSSESSIONNAME to newSessionName
|
|
||||||
|
|
||||||
tell application "MacCVS Pro 2.1b2r1 PPC"
|
|
||||||
activate
|
|
||||||
open {newSessionPath as alias}
|
|
||||||
end tell
|
|
||||||
|
|
||||||
end switchCVSSession
|
|
||||||
|
|
||||||
on getLocalCVSRoot(pathToCVSSession)
|
|
||||||
|
|
||||||
set CVSSESSIONNAME to GetCVSSessionName(pathToCVSSession)
|
|
||||||
try
|
|
||||||
tell application "MacCVS Pro 2.1b2r1 PPC"
|
|
||||||
open {pathToCVSSession as alias}
|
|
||||||
tell session CVSSESSIONNAME
|
|
||||||
set theLocalRoot to local root
|
|
||||||
end tell
|
|
||||||
--¥quit
|
|
||||||
end tell
|
|
||||||
set pathLength to {(get the length of (theLocalRoot as text)) as text}
|
|
||||||
return (characters 1 thru {pathLength - 1} of (theLocalRoot as text))
|
|
||||||
on error
|
|
||||||
display dialog "Error : CVS Session path wrong, or doesn't have a local root. SCRIPT HALTED!"
|
|
||||||
error number -128
|
|
||||||
end try
|
|
||||||
|
|
||||||
end getLocalCVSRoot
|
|
||||||
|
|
||||||
on createLogDirectory(destFolder)
|
|
||||||
|
|
||||||
tell application "Finder"
|
|
||||||
set FOLDERTIME to my GetTimeStamp()
|
|
||||||
make new folder at folder (destFolder)
|
|
||||||
set the name of the result to FOLDERTIME
|
|
||||||
end tell
|
|
||||||
|
|
||||||
end createLogDirectory
|
|
||||||
|
|
||||||
on mozillaLives(filePath)
|
|
||||||
|
|
||||||
try
|
|
||||||
tell application "Finder"
|
|
||||||
set fileTest to file filePath
|
|
||||||
set creatorType to get the creator type of fileTest
|
|
||||||
set fileTest to application file filePath
|
|
||||||
set partitionSize to get the partition size of fileTest
|
|
||||||
if (creatorType is "????" and partitionSize > 0) then
|
|
||||||
return false
|
|
||||||
else
|
|
||||||
return true
|
|
||||||
end if
|
|
||||||
end tell
|
|
||||||
on error
|
|
||||||
return true
|
|
||||||
end try
|
|
||||||
|
|
||||||
end mozillaLives
|
|
||||||
|
|
||||||
on copyFile(srcPath, destFolder)
|
|
||||||
|
|
||||||
try
|
|
||||||
tell application "Finder"
|
|
||||||
copy file (srcPath as alias) to folder (destFolder as alias)
|
|
||||||
-- set the name of the result to destName
|
|
||||||
end tell
|
|
||||||
on error msgErr
|
|
||||||
logMessage("Error: Could not copy - " & srcPath & msgErr)
|
|
||||||
end try
|
|
||||||
|
|
||||||
end copyFile
|
|
||||||
|
|
||||||
on getDriveName(path)
|
|
||||||
|
|
||||||
set going to true
|
|
||||||
set i to 1
|
|
||||||
|
|
||||||
repeat while going is true
|
|
||||||
set theChar to character i of path
|
|
||||||
if theChar is ":" then
|
|
||||||
set going to false
|
|
||||||
end if
|
|
||||||
set i to i + 1
|
|
||||||
end repeat
|
|
||||||
set driveName to (characters 1 thru {i - 1} of path)
|
|
||||||
return driveName as string
|
|
||||||
|
|
||||||
end getDriveName
|
|
||||||
|
|
||||||
on trashItem(filePath)
|
|
||||||
|
|
||||||
try
|
|
||||||
tell application "Finder"
|
|
||||||
select item (filePath as string)
|
|
||||||
delete selection
|
|
||||||
empty trash
|
|
||||||
end tell
|
|
||||||
on error
|
|
||||||
logMessage("Error : Couldn't delete the old binary.")
|
|
||||||
PageAdmin("Couldn't nuke old binary!")
|
|
||||||
display dialog "Couldn't nuke old binary: SCRIPT HALTED"
|
|
||||||
error number -128
|
|
||||||
end try
|
|
||||||
|
|
||||||
end trashItem
|
|
||||||
|
|
||||||
on run
|
|
||||||
|
|
||||||
-- if we are executing first time, skip time delay check
|
|
||||||
set firstRun to true
|
|
||||||
|
|
||||||
--¥repeat
|
|
||||||
|
|
||||||
-- if we're cycling around, make sure we don't cycle faster than 10 minutes
|
|
||||||
if firstRun is false then
|
|
||||||
if endTime - startTime is less than 600 then
|
|
||||||
repeat while endTime - startTime is less than 600
|
|
||||||
set endTime to current date
|
|
||||||
end repeat
|
|
||||||
end if
|
|
||||||
end if
|
|
||||||
|
|
||||||
set firstRun to false
|
|
||||||
|
|
||||||
set startTime to current date
|
|
||||||
|
|
||||||
-- 2 hour timeout
|
|
||||||
with timeout of 7200 seconds
|
|
||||||
|
|
||||||
set PPCPROJECTFAILED to false
|
|
||||||
|
|
||||||
-- read config file and create log directories
|
|
||||||
Initialize()
|
|
||||||
|
|
||||||
notifyTinderBoxStart()
|
|
||||||
|
|
||||||
if (CLOBBERBUILD) then
|
|
||||||
removeOldTree()
|
|
||||||
else
|
|
||||||
removeOldDist() --¥
|
|
||||||
end if
|
|
||||||
|
|
||||||
(*
|
|
||||||
else
|
|
||||||
trashItem("")
|
|
||||||
end
|
|
||||||
*)
|
|
||||||
|
|
||||||
try
|
|
||||||
checkOutTree(CVSSESSIONFILE)
|
|
||||||
on error
|
|
||||||
PageAdmin("Can't check out tree!")
|
|
||||||
end try
|
|
||||||
|
|
||||||
if PPCPROJECTFAILED is false then
|
|
||||||
set SOURCEPATH to getLocalCVSRoot(CVSSESSIONFILE)
|
|
||||||
set SOURCEPATH to SOURCEPATH as string
|
|
||||||
|
|
||||||
ProcessList(SOURCEPATH & BUILDLIST)
|
|
||||||
|
|
||||||
tell application "CodeWarrior IDE 3.2"
|
|
||||||
quit
|
|
||||||
end tell
|
|
||||||
|
|
||||||
tell application "MacCVS Pro 2.1b2r1 PPC"
|
|
||||||
quit
|
|
||||||
end tell
|
|
||||||
|
|
||||||
tell application "ToolServer"
|
|
||||||
quit
|
|
||||||
end tell
|
|
||||||
|
|
||||||
end if
|
|
||||||
|
|
||||||
-- set builddrive to getDriveName(SOURCEPATH)
|
|
||||||
|
|
||||||
copyFile(SOURCEPATH & ":Mozilla.BuildLog", STARTUPDISK & ":" & FOLDERTIME & ":")
|
|
||||||
set PPCPROJECTFAILED to mozillaLives(SOURCEPATH & BINARYPATH)
|
|
||||||
|
|
||||||
CloseLogFile()
|
|
||||||
|
|
||||||
try
|
|
||||||
notifyTinderBox(PPCPROJECTFAILED)
|
|
||||||
on error
|
|
||||||
PageAdmin("Couldn't send Tinderbox completion message!")
|
|
||||||
end try
|
|
||||||
|
|
||||||
tell application "Finder"
|
|
||||||
select folder FOLDERTIME of startup disk
|
|
||||||
delete selection
|
|
||||||
--¥empty trash
|
|
||||||
restart --¥
|
|
||||||
end tell
|
|
||||||
|
|
||||||
end timeout
|
|
||||||
|
|
||||||
set endTime to current date
|
|
||||||
|
|
||||||
--¥end repeat
|
|
||||||
|
|
||||||
end run
|
|
|
@ -1,44 +0,0 @@
|
||||||
#!perl
|
|
||||||
|
|
||||||
#
|
|
||||||
# The contents of this file are subject to the Netscape Public
|
|
||||||
# License Version 1.1 (the "License"); you may not use this file
|
|
||||||
# except in compliance with the License. You may obtain a copy of
|
|
||||||
# the License at http://www.mozilla.org/NPL/
|
|
||||||
#
|
|
||||||
# Software distributed under the License is distributed on an "AS
|
|
||||||
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|
||||||
# implied. See the License for the specific language governing
|
|
||||||
# rights and limitations under the License.
|
|
||||||
#
|
|
||||||
# The Original Code is mozilla.org code.
|
|
||||||
#
|
|
||||||
# The Initial Developer of the Original Code is Netscape
|
|
||||||
# Communications Corporation. Portions created by Netscape are
|
|
||||||
# Copyright (C) 1998 Netscape Communications Corporation. All
|
|
||||||
# Rights Reserved.
|
|
||||||
#
|
|
||||||
# Contributor(s):
|
|
||||||
#
|
|
||||||
|
|
||||||
use Moz;
|
|
||||||
use BuildList;
|
|
||||||
|
|
||||||
$DEBUG = 1;
|
|
||||||
|
|
||||||
# One of them should be 1. This will come from a config file at some stage.
|
|
||||||
# In the meanwhile, it should match mozilla/config/mac/MacConfig.h
|
|
||||||
$MOZ_LITE = 0;
|
|
||||||
$MOZ_MEDIUM = 1;
|
|
||||||
$MOZ_DARK = 0;
|
|
||||||
|
|
||||||
Moz::OpenErrorLog("::::Mozilla.BuildLog");
|
|
||||||
#Moz::StopForErrors();
|
|
||||||
|
|
||||||
chdir("::::");
|
|
||||||
|
|
||||||
# Make and popuplate the dist directory
|
|
||||||
DistMozilla();
|
|
||||||
|
|
||||||
# Now build the projects
|
|
||||||
BuildMozilla();
|
|
|
@ -1,102 +0,0 @@
|
||||||
#!perl
|
|
||||||
|
|
||||||
#
|
|
||||||
# The contents of this file are subject to the Netscape Public
|
|
||||||
# License Version 1.1 (the "License"); you may not use this file
|
|
||||||
# except in compliance with the License. You may obtain a copy of
|
|
||||||
# the License at http://www.mozilla.org/NPL/
|
|
||||||
#
|
|
||||||
# Software distributed under the License is distributed on an "AS
|
|
||||||
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|
||||||
# implied. See the License for the specific language governing
|
|
||||||
# rights and limitations under the License.
|
|
||||||
#
|
|
||||||
# The Original Code is mozilla.org code.
|
|
||||||
#
|
|
||||||
# The Initial Developer of the Original Code is Netscape
|
|
||||||
# Communications Corporation. Portions created by Netscape are
|
|
||||||
# Copyright (C) 1998 Netscape Communications Corporation. All
|
|
||||||
# Rights Reserved.
|
|
||||||
#
|
|
||||||
# Contributor(s):
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# nglayout build script (debug)
|
|
||||||
#
|
|
||||||
use NGLayoutBuildList;
|
|
||||||
use Cwd;
|
|
||||||
use Moz;
|
|
||||||
|
|
||||||
|
|
||||||
# configuration variables
|
|
||||||
|
|
||||||
$DEBUG = 1;
|
|
||||||
$ALIAS_SYM_FILES = 0;
|
|
||||||
$CLOBBER_LIBS = 1;
|
|
||||||
$MOZ_FULLCIRCLE = 0;
|
|
||||||
$GC_LEAK_DETECTOR = 0; # turn on to use GC leak detection
|
|
||||||
|
|
||||||
# The following two options will delete all files, but leave the directory structure intact.
|
|
||||||
$CLOBBER_DIST_ALL = 0; # turn on to clobber all files inside dist (headers, xsym and libs)
|
|
||||||
$CLOBBER_DIST_LIBS = 0; # turn on to clobber the aliases to libraries and sym files in dist
|
|
||||||
|
|
||||||
$pull{all} = 0;
|
|
||||||
$pull{lizard} = 0;
|
|
||||||
$pull{xpcom} = 0;
|
|
||||||
$pull{imglib} = 0;
|
|
||||||
$pull{netlib} = 0;
|
|
||||||
$pull{nglayout} = 0;
|
|
||||||
$pull{mac} = 0;
|
|
||||||
|
|
||||||
$build{all} = 1; # turn off to do individual builds, or to do "most"
|
|
||||||
$build{most} = 0; # turn off to do individual builds
|
|
||||||
$build{dist} = 0;
|
|
||||||
$build{dist_runtime} = 0; # implied by $build{dist}
|
|
||||||
$build{idl} = 0;
|
|
||||||
$build{resources} = 0;
|
|
||||||
$build{stubs} = 0;
|
|
||||||
$build{runtime} = 0;
|
|
||||||
$build{common} = 0;
|
|
||||||
$build{intl} = 0;
|
|
||||||
$build{nglayout} = 0;
|
|
||||||
$build{editor} = 0;
|
|
||||||
$build{viewer} = 0;
|
|
||||||
$build{xpapp} = 0;
|
|
||||||
$build{mailnews} = 0;
|
|
||||||
$build{apprunner} = 0;
|
|
||||||
|
|
||||||
|
|
||||||
# script
|
|
||||||
|
|
||||||
$pull{all} = 1;
|
|
||||||
$build{all} = 1;
|
|
||||||
|
|
||||||
if ($pull{all})
|
|
||||||
{
|
|
||||||
foreach $k (keys(%pull))
|
|
||||||
{
|
|
||||||
$pull{$k} = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($build{all})
|
|
||||||
{
|
|
||||||
foreach $k (keys(%build))
|
|
||||||
{
|
|
||||||
$build{$k} = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# do the work
|
|
||||||
|
|
||||||
OpenErrorLog("::::Mozilla.BuildLog"); # Tinderbox requires that name
|
|
||||||
|
|
||||||
chdir("::::");
|
|
||||||
|
|
||||||
Checkout();
|
|
||||||
|
|
||||||
BuildDist();
|
|
||||||
|
|
||||||
BuildProjects();
|
|
||||||
|
|
||||||
print "Build complete\n";
|
|
|
@ -1,99 +0,0 @@
|
||||||
#!perl
|
|
||||||
|
|
||||||
#
|
|
||||||
# The contents of this file are subject to the Netscape Public
|
|
||||||
# License Version 1.1 (the "License"); you may not use this file
|
|
||||||
# except in compliance with the License. You may obtain a copy of
|
|
||||||
# the License at http://www.mozilla.org/NPL/
|
|
||||||
#
|
|
||||||
# Software distributed under the License is distributed on an "AS
|
|
||||||
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|
||||||
# implied. See the License for the specific language governing
|
|
||||||
# rights and limitations under the License.
|
|
||||||
#
|
|
||||||
# The Original Code is mozilla.org code.
|
|
||||||
#
|
|
||||||
# The Initial Developer of the Original Code is Netscape
|
|
||||||
# Communications Corporation. Portions created by Netscape are
|
|
||||||
# Copyright (C) 1998 Netscape Communications Corporation. All
|
|
||||||
# Rights Reserved.
|
|
||||||
#
|
|
||||||
# Contributor(s):
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# nglayout build script (debug)
|
|
||||||
#
|
|
||||||
use NGLayoutBuildList;
|
|
||||||
use Cwd;
|
|
||||||
use Moz;
|
|
||||||
|
|
||||||
|
|
||||||
# configuration variables
|
|
||||||
|
|
||||||
$DEBUG = 0;
|
|
||||||
$ALIAS_SYM_FILES = 0;
|
|
||||||
$CLOBBER_LIBS = 1;
|
|
||||||
$MOZ_FULLCIRCLE = 0;
|
|
||||||
$GC_LEAK_DETECTOR = 0; # turn on to use GC leak detection
|
|
||||||
|
|
||||||
# The following two options will delete all files, but leave the directory structure intact.
|
|
||||||
$CLOBBER_DIST_ALL = 0; # turn on to clobber all files inside dist (headers, xsym and libs)
|
|
||||||
$CLOBBER_DIST_LIBS = 0; # turn on to clobber the aliases to libraries and sym files in dist
|
|
||||||
|
|
||||||
$pull{all} = 1;
|
|
||||||
$pull{lizard} = 0;
|
|
||||||
$pull{xpcom} = 0;
|
|
||||||
$pull{imglib} = 0;
|
|
||||||
$pull{netlib} = 0;
|
|
||||||
$pull{nglayout} = 0;
|
|
||||||
$pull{mac} = 0;
|
|
||||||
|
|
||||||
$build{all} = 1; # turn off to do individual builds, or to do "most"
|
|
||||||
$build{most} = 0; # turn off to do individual builds
|
|
||||||
$build{dist} = 0;
|
|
||||||
$build{dist_runtime} = 0; # implied by $build{dist}
|
|
||||||
$build{idl} = 0;
|
|
||||||
$build{resources} = 0;
|
|
||||||
$build{stubs} = 0;
|
|
||||||
$build{runtime} = 0;
|
|
||||||
$build{common} = 0;
|
|
||||||
$build{intl} = 0;
|
|
||||||
$build{nglayout} = 0;
|
|
||||||
$build{editor} = 0;
|
|
||||||
$build{viewer} = 0;
|
|
||||||
$build{xpapp} = 0;
|
|
||||||
$build{mailnews} = 0;
|
|
||||||
$build{apprunner} = 0;
|
|
||||||
|
|
||||||
# script
|
|
||||||
|
|
||||||
|
|
||||||
if ($pull{all})
|
|
||||||
{
|
|
||||||
foreach $k (keys(%pull))
|
|
||||||
{
|
|
||||||
$pull{$k} = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($build{all})
|
|
||||||
{
|
|
||||||
foreach $k (keys(%build))
|
|
||||||
{
|
|
||||||
$build{$k} = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# do the work
|
|
||||||
|
|
||||||
OpenErrorLog("::::Mozilla.BuildLog"); # Tinderbox requires that name
|
|
||||||
|
|
||||||
chdir("::::");
|
|
||||||
|
|
||||||
Checkout();
|
|
||||||
|
|
||||||
BuildDist();
|
|
||||||
|
|
||||||
BuildProjects();
|
|
||||||
|
|
||||||
print "Build complete\n";
|
|
Загрузка…
Ссылка в новой задаче