Changeset 27930 in webkit


Ignore:
Timestamp:
Nov 20, 2007 10:01:54 AM (16 years ago)
Author:
treat@webkit.org
Message:
  • Prepend git branch name to $baseProductDir
Location:
trunk/WebKitTools
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKitTools/ChangeLog

    r27927 r27930  
     12007-11-20  Adam Treat  <treat@kde.org>
     2
     3        Reviewed by David Kilzer.
     4
     5        * Prepend git branch name to $baseProductDir
     6
     7        * Scripts/VCSUtils.pm:
     8        * Scripts/webkitdirs.pm:
     9
    1102007-11-20  Mark Rowe  <mrowe@apple.com>
    211
  • trunk/WebKitTools/Scripts/VCSUtils.pm

    r24448 r27930  
    3030use warnings;
    3131use File::Spec;
     32use webkitdirs;
    3233
    3334BEGIN {
     
    4546my $isGit;
    4647my $isSVN;
     48my $gitBranch;
     49my $isGitBranchBuild;
    4750
    4851sub isGitDirectory($)
     
    5861    $isGit = isGitDirectory(".");
    5962    return $isGit;
     63}
     64
     65sub gitBranch()
     66{
     67    unless (defined $gitBranch) {
     68        chomp($gitBranch = `git symbolic-ref -q HEAD`);
     69        $gitBranch = "" if exitStatus($?);
     70        $gitBranch =~ s#^refs/heads/##;
     71        $gitBranch = "" if $gitBranch eq "master";
     72    }
     73
     74    return $gitBranch;
     75}
     76
     77sub isGitBranchBuild()
     78{
     79    my $branch = gitBranch();
     80    chomp(my $override = `git config --bool branch.$branch.webKitBranchBuild`);
     81    return 1 if $override eq "true";
     82    return 0 if $override eq "false";
     83
     84    unless (defined $isGitBranchBuild) {
     85        chomp(my $gitBranchBuild = `git config --bool core.webKitBranchBuild`);
     86        $isGitBranchBuild = $gitBranchBuild eq "true";
     87    }
     88
     89    return $isGitBranchBuild;
    6090}
    6191
  • trunk/WebKitTools/Scripts/webkitdirs.pm

    r27927 r27930  
    3232use File::Basename;
    3333use POSIX;
     34use VCSUtils;
    3435
    3536BEGIN {
     
    125126    if (!defined($baseProductDir)) {
    126127        $baseProductDir = "$sourceDir/WebKitBuild";
     128
     129        if (isGit() && isGitBranchBuild()) {
     130            my $branch = gitBranch();
     131            $baseProductDir = "$baseProductDir/$branch";
     132        }
     133
    127134        @baseProductDirOption = ("SYMROOT=$baseProductDir", "OBJROOT=$baseProductDir") if (isOSX());
    128135        if (isCygwin()) {
     
    722729    my $dir = baseProductDir();
    723730    if (! -d $dir) {
    724         mkdir $dir or die "Failed to create product directory " . $dir;
     731        system "mkdir", "-p", "$dir";
     732        if (! -d $dir) {
     733            die "Failed to create product directory " . $dir;
     734        }
    725735    }
    726736    $dir = $dir . "/$config";
    727737    if (! -d $dir) {
    728         mkdir $dir or die "Failed to create build directory " . $dir;
     738        system "mkdir", "-p", "$dir";
     739        if (! -d $dir) {
     740            die "Failed to create build directory " . $dir;
     741        }
    729742    }
    730743
Note: See TracChangeset for help on using the changeset viewer.