2006-12-04 Don Gibson <dgibson77@gmail.com>
[WebKit-https.git] / WebKitTools / BuildSlaveSupport / build-launcher-app
old mode 100644 (file)
new mode 100755 (executable)
index 395b625..ceee275
@@ -38,12 +38,14 @@ use webkitdirs;
 my @xcodeBuildArguments = XcodeOptions();
 my $nightlyLauncherTemplatePath = "$FindBin::Bin/../WebKitLauncher";
 my $nightlyLauncherStagingPath = productDir() . "/WebKit.app";
+my $droseraProjectPath = "$FindBin::Bin/../Drosera";
+my $droseraStagingPath = productDir() . "/DroseraLauncher.app";
 
 sub buildNightlyLauncher
 {
     chdir($nightlyLauncherTemplatePath);
-    system("xcodebuild", "clean", @xcodeBuildArguments) == 0 or die "Failed cleaning WebKitLauncher project";
-    system("xcodebuild", @xcodeBuildArguments) == 0 or die "Failed building WebKitLauncher project";
+    system("xcodebuild", "clean", "-alltargets", @xcodeBuildArguments, @ARGV) == 0 or die "Failed cleaning WebKitLauncher project";
+    system("xcodebuild", @xcodeBuildArguments, @ARGV) == 0 or die "Failed building WebKitLauncher project";
     chdirWebKit();
 }
 
@@ -51,6 +53,7 @@ sub copyNightlyLauncher
 {
     my $revision = currentSVNRevision();
     my $infoPlist = "$nightlyLauncherStagingPath/Contents/Info.plist";
+    my $versionFile = "$nightlyLauncherStagingPath/Contents/Resources/VERSION";
     my $data;
     open(IN, $infoPlist) or die "Couldn't open Info.plist in built application for reading";
     {
@@ -62,19 +65,46 @@ sub copyNightlyLauncher
     $data =~ s/VERSION/$revision/g;
     print OUT $data;
     close(OUT);
-    
+
+    open(OUT, ">$versionFile") or die "Couldn't open VERSION in built application for writing";
+    print OUT "$revision\n";
+    close(OUT);
+
     my @frameworks = ("JavaScriptCore", "JavaScriptGlue", "WebCore", "WebKit");
     for my $framework (@frameworks) {
         system("ditto", productDir() . "/$framework.framework", "$nightlyLauncherStagingPath/Contents/Resources/$framework.framework") == 0 or die "Failed copying $framework.framework into $nightlyLauncherStagingPath";
     }
 }
 
+sub buildDroseraLauncher
+{
+    chdir($droseraProjectPath);
+    system("xcodebuild", "clean", "-alltargets", @xcodeBuildArguments, @ARGV) == 0 or die "Failed cleaning Drosera project";
+    # Build native platform only right now, as building universal with the 10.4u SDK cause Xcode to look for WebKit,
+    # WebCore & JavaScriptCore in the SDK under /Developer/SDKs/MacOSX10.4u.sdk/$(BUILT_PRODUCTS_DIR) where they do not exist
+    system("xcodebuild", "-alltargets", @xcodeBuildArguments, @ARGV) == 0 or die "Failed building Drosera project";
+    chdirWebKit();
+}
+
+sub setDroseraLauncherVersion
+{
+    my $revision = currentSVNRevision();
+    my $infoPlist = "$droseraStagingPath/Contents/Info.plist";
+    my $data;
+    open(IN, $infoPlist) or die "Couldn't open Info.plist in built application for reading";
+    {
+        undef $/;
+        $data = <IN>;
+    }
+    close(IN);
+    open(OUT, ">$infoPlist") or die "Couldn't open Info.plist in built application for writing";
+    $data =~ s/VERSION/$revision/g;
+    print OUT $data;
+    close(OUT);
+}
+
 chdirWebKit();
 buildNightlyLauncher();
 copyNightlyLauncher();
-
-Property changes on: WebKitTools/BuildSlaveSupport/build-launcher-app
-___________________________________________________________________
-Name: svn:executable
-   + *
-
+buildDroseraLauncher();
+setDroseraLauncherVersion();