26 my $sLETTERS_FILE="D:\\letters.txt"; |
26 my $sLETTERS_FILE="D:\\letters.txt"; |
27 my $nMAX_LETTER_AGE_SECONDS = 86400; # max number of seconds after which the letter is forcibly released |
27 my $nMAX_LETTER_AGE_SECONDS = 86400; # max number of seconds after which the letter is forcibly released |
28 |
28 |
29 my $sFbfProjectRepo = ''; |
29 my $sFbfProjectRepo = ''; |
30 my $sFbfProjectDir = ''; |
30 my $sFbfProjectDir = ''; |
31 my $sFbfConfigRepo="\\\\v800008.ad-sfpd.intra\\g\$\\mercurial_development\\oss\\FCL\\interim\\fbf\\configs\\pkgbuild"; |
31 my $sFbfConfigRepo="\\\\v800008.ad-sfpd.intra\\g\$\\mercurial_internal\\fbf\\configs\\pkgbuild"; |
32 my $sFbfConfigDir = ''; |
32 my $sFbfConfigDir = ''; |
33 my $sJobLabel = ''; |
33 my $sJobLabel = ''; |
34 my $nCmdLineNumber; |
34 my $nCmdLineNumber; |
35 GetOptions(('label:s' => \$sJobLabel, 'configrepo:s' => \$sFbfConfigRepo, 'configdir:s' => \$sFbfConfigDir, 'projectrepo:s' => \$sFbfProjectRepo, 'projectdir:s' => \$sFbfProjectDir, 'number:s' => \$nCmdLineNumber)); |
35 my $bTestBuild = 0; |
|
36 GetOptions(( |
|
37 'label:s' => \$sJobLabel, |
|
38 'configrepo:s' => \$sFbfConfigRepo, |
|
39 'configdir:s' => \$sFbfConfigDir, |
|
40 'projectrepo:s' => \$sFbfProjectRepo, |
|
41 'projectdir:s' => \$sFbfProjectDir, |
|
42 'number:s' => \$nCmdLineNumber, |
|
43 'testbuild!' => \$bTestBuild |
|
44 )); |
36 |
45 |
37 if (!$sJobLabel or !($sFbfProjectRepo or $sFbfProjectDir)) |
46 if (!$sJobLabel or !($sFbfProjectRepo or $sFbfProjectDir)) |
38 { |
47 { |
39 print "Usage: build_package.pl --label=<label> --projectrepo=<project repo> | --projectdir=<project dir>\n\t[--configrepo=<config repo> | --configdir=<config dir>]\n"; |
48 print "Usage: build_package.pl --label=LABEL (--projectrepo=REPO | --projectdir=DIR) OPTIONS\n"; |
|
49 print "\tOPTIONS:\n"; |
|
50 print "\t--configrepo=REPO Use REPO location for the config instead of \\\\v800008\\g\$\\mercurial_development\\oss\\FCL\\interim\\fbf\\config\\pkgbuild\\n"; |
|
51 print "\t--configdir=DIR Use DIR location for the config (exclusive with --configrepo)\n"; |
|
52 print "\t--number=N Force build number to N\n"; |
|
53 print "\t--testbuild Use d:\\numbers_test.txt for numbers and d:\\SF_builds_test to publish results\n"; |
40 exit(0); |
54 exit(0); |
41 } |
55 } |
|
56 |
|
57 my $sTestBuildOpts = ""; |
|
58 $sTestBuildOpts = "-Dsf.spec.publish.networkdrive=d:\\SF_builds_test" if ( $bTestBuild ); |
|
59 $sNUMBERS_FILE = "d:\\numbers_test.txt" if ( $bTestBuild ); |
42 |
60 |
43 my $sJobDir = mkdir_unique("$sJOB_BASE_DIR\\$sJobLabel"); |
61 my $sJobDir = mkdir_unique("$sJOB_BASE_DIR\\$sJobLabel"); |
44 |
62 |
45 print("cd $sBOOTSTRAP_DIR\n"); |
63 print("cd $sBOOTSTRAP_DIR\n"); |
46 chdir("$sBOOTSTRAP_DIR"); |
64 chdir("$sBOOTSTRAP_DIR"); |
77 die "Could not acquire drive letter" if (! $sDriveLetter); |
95 die "Could not acquire drive letter" if (! $sDriveLetter); |
78 |
96 |
79 print("cd $sJobDir\\sf-config\n"); |
97 print("cd $sJobDir\\sf-config\n"); |
80 chdir("$sJobDir\\sf-config"); |
98 chdir("$sJobDir\\sf-config"); |
81 print "###### BUILD PREPARATION ######\n"; |
99 print "###### BUILD PREPARATION ######\n"; |
82 print("hlm sf-prep -Dsf.spec.job.number=$nJobNumber -Dsf.spec.job.drive=$sDriveLetter:\n"); |
100 print("hlm sf-prep -Dsf.spec.job.number=$nJobNumber -Dsf.spec.job.drive=$sDriveLetter: $sTestBuildOpts\n"); |
83 system("hlm sf-prep -Dsf.spec.job.number=$nJobNumber -Dsf.spec.job.drive=$sDriveLetter:"); |
101 system("hlm sf-prep -Dsf.spec.job.number=$nJobNumber -Dsf.spec.job.drive=$sDriveLetter: $sTestBuildOpts"); |
84 |
102 |
85 print "###### EXECUTE BUILD ######\n"; |
103 print "###### EXECUTE BUILD ######\n"; |
86 print("hlm sf-build-all -Dsf.spec.job.number=$nJobNumber -Dsf.spec.job.drive=$sDriveLetter:\n"); |
104 print("hlm sf-build-all -Dsf.spec.job.number=$nJobNumber -Dsf.spec.job.drive=$sDriveLetter:\n"); |
87 system("hlm sf-build-all -Dsf.spec.job.number=$nJobNumber -Dsf.spec.job.drive=$sDriveLetter:"); |
105 system("hlm sf-build-all -Dsf.spec.job.number=$nJobNumber -Dsf.spec.job.drive=$sDriveLetter:"); |
88 |
106 |