Explorar el Código

Make packaging script wait for the disk image to be mounted.

Frequently the apple script would execute before the disk image had been
fully mounted, and would fail. We now try to wait for the disk to be
mounted first.
Robert Maynard hace 9 años
padre
commit
d381243703
Se han modificado 1 ficheros con 17 adiciones y 2 borrados
  1. 17 2
      Packaging/CMakeDMGSetup.scpt

+ 17 - 2
Packaging/CMakeDMGSetup.scpt

@@ -4,6 +4,21 @@ on run argv
   tell application "Finder"
   tell application "Finder"
   tell disk image_name
   tell disk image_name
 
 
+    -- wait for the image to finish mounting
+    set open_attempts to 0
+    repeat while open_attempts < 4
+      try
+        open
+          delay 1
+          set open_attempts to 5
+        close
+      on error errStr number errorNumber
+        set open_attempts to open_attempts + 1
+        delay 10
+      end try
+    end repeat
+    delay 5
+
     -- open the image the first time and save a DS_Store with just
     -- open the image the first time and save a DS_Store with just
     -- background and icon setup
     -- background and icon setup
     open
     open
@@ -12,7 +27,7 @@ on run argv
       set background picture of theViewOptions to file ".background:background.tif"
       set background picture of theViewOptions to file ".background:background.tif"
       set arrangement of theViewOptions to not arranged
       set arrangement of theViewOptions to not arranged
       set icon size of theViewOptions to 128
       set icon size of theViewOptions to 128
-      delay 1
+      delay 5
     close
     close
 
 
     -- next setup the position of the app and Applications symlink
     -- next setup the position of the app and Applications symlink
@@ -28,7 +43,7 @@ on run argv
         set position of item "Applications" to { 378, 200 }
         set position of item "Applications" to { 378, 200 }
       end tell
       end tell
       update without registering applications
       update without registering applications
-      delay 1
+      delay 5
     close
     close
 
 
     -- one last open and close so you can see everything looks correct
     -- one last open and close so you can see everything looks correct