| OLD | NEW |
| (Empty) |
| 1 #!/bin/bash | |
| 2 # Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | |
| 3 # for details. All rights reserved. Use of this source code is governed by | |
| 4 # BSD-style license that can be found in the LICENSE file. | |
| 5 | |
| 6 # Fail if a command failed | |
| 7 set -e | |
| 8 | |
| 9 if [ $# -ne 5 ]; then | |
| 10 echo "Usage $0 <app-folder> <editor-build-directory> <dart-sdk> " \ | |
| 11 "<Chromium.app> <icon.icns>" | |
| 12 exit 1 | |
| 13 fi | |
| 14 | |
| 15 OUTPUT_APP_FOLDER=$1 | |
| 16 INPUT_EDITOR_BUILD_DIRECTORY=$2 | |
| 17 INPUT_DART_SDK_DIRECTORY=$3 | |
| 18 INPUT_CHROMIUM_APP_DIRECTORY=$4 | |
| 19 INPUT_ICON_PATH=$5 | |
| 20 | |
| 21 # Input validations | |
| 22 if [ "${OUTPUT_APP_FOLDER##*.}" != "app" ]; then | |
| 23 echo "Application folder has to end in '.app' " \ | |
| 24 "(but was $APP_FOLDER_NAME)." | |
| 25 exit 1 | |
| 26 fi | |
| 27 if [ "${INPUT_ICON_PATH##*.}" != "icns" ]; then | |
| 28 echo "Application icon has to end in '.icns'." | |
| 29 exit 1 | |
| 30 fi | |
| 31 | |
| 32 function ensure_exists { | |
| 33 if [ ! -e "$1" ]; then | |
| 34 echo "Directory or file does not exist: $1." | |
| 35 exit 1 | |
| 36 fi | |
| 37 } | |
| 38 ensure_exists "$INPUT_EDITOR_BUILD_DIRECTORY" | |
| 39 ensure_exists "$INPUT_DART_SDK_DIRECTORY" | |
| 40 | |
| 41 # Remove old directory if present | |
| 42 if [ -e "$OUTPUT_APP_FOLDER" ]; then | |
| 43 rm -r "$OUTPUT_APP_FOLDER" | |
| 44 fi | |
| 45 | |
| 46 # Make directory structure and copy necessary files | |
| 47 mkdir -p "$OUTPUT_APP_FOLDER/Contents/MacOS" | |
| 48 LAUNCHER_SUBPATH="DartEditor.app/Contents/MacOS/DartEditor" | |
| 49 cp "$INPUT_EDITOR_BUILD_DIRECTORY/$LAUNCHER_SUBPATH" \ | |
| 50 "$OUTPUT_APP_FOLDER/Contents/MacOS/" | |
| 51 cp "$INPUT_EDITOR_BUILD_DIRECTORY/$LAUNCHER_SUBPATH.ini" \ | |
| 52 "$OUTPUT_APP_FOLDER/Contents/MacOS/" | |
| 53 mkdir -p "$OUTPUT_APP_FOLDER/Contents/Resources" | |
| 54 cp "$INPUT_ICON_PATH" "$OUTPUT_APP_FOLDER/Contents/Resources/dart.icns" | |
| 55 cp -R "$INPUT_DART_SDK_DIRECTORY" \ | |
| 56 "$OUTPUT_APP_FOLDER/Contents/Resources/dart-sdk" | |
| 57 cp -R "$INPUT_CHROMIUM_APP_DIRECTORY" \ | |
| 58 "$OUTPUT_APP_FOLDER/Contents/Resources/Chromium.app" | |
| 59 for dirname in $(echo configuration plugins features samples); do | |
| 60 cp -R "$INPUT_EDITOR_BUILD_DIRECTORY/$dirname" \ | |
| 61 "$OUTPUT_APP_FOLDER/Contents/Resources/" | |
| 62 done | |
| 63 | |
| 64 EQUINOX_LAUNCHER_JARFILE=$(cd "$OUTPUT_APP_FOLDER"; \ | |
| 65 ls Contents/Resources/plugins/org.eclipse.equinox.launcher_*.jar); | |
| 66 | |
| 67 EQUINOX_LAUNCHER_LIBRARY=$(cd "$OUTPUT_APP_FOLDER"; ls \ | |
| 68 Contents/Resources/plugins/org.eclipse.equinox.launcher.cocoa.*/eclipse_*.so); | |
| 69 | |
| 70 cat > "$OUTPUT_APP_FOLDER/Contents/Info.plist" << EOF | |
| 71 <?xml version="1.0" encoding="UTF-8"?> | |
| 72 <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" | |
| 73 "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
| 74 <plist version="1.0"> | |
| 75 <dict> | |
| 76 <key>NSHighResolutionCapable</key> | |
| 77 <true/> | |
| 78 <key>CFBundleExecutable</key> | |
| 79 <string>DartEditor</string> | |
| 80 <key>CFBundleGetInfoString</key> | |
| 81 <string>Eclipse 3.7 for Mac OS X, Copyright IBM Corp. and others 2002, | |
| 82 2011. All rights reserved.</string> | |
| 83 <key>CFBundleIconFile</key> | |
| 84 <string>dart.icns</string> | |
| 85 <key>CFBundleIdentifier</key> | |
| 86 <string>org.eclipse.eclipse</string> | |
| 87 <key>CFBundleInfoDictionaryVersion</key> | |
| 88 <string>6.0</string> | |
| 89 <key>CFBundleName</key> | |
| 90 <string>DartEditor</string> | |
| 91 <key>CFBundlePackageType</key> | |
| 92 <string>APPL</string> | |
| 93 <key>CFBundleShortVersionString</key> | |
| 94 <string>3.7</string> | |
| 95 <key>CFBundleSignature</key> | |
| 96 <string>????</string> | |
| 97 <key>CFBundleVersion</key> | |
| 98 <string>3.7</string> | |
| 99 <key>CFBundleDevelopmentRegion</key> | |
| 100 <string>English</string> | |
| 101 <key>CFBundleLocalizations</key> | |
| 102 <array> | |
| 103 <string>en</string> | |
| 104 <key>WorkingDirectory</key> | |
| 105 <string>\$APP_PACKAGE/Contents/Resources</string> | |
| 106 </array> | |
| 107 <key>Eclipse</key> | |
| 108 <array> | |
| 109 <string>-startup</string> | |
| 110 <string>\$APP_PACKAGE/$EQUINOX_LAUNCHER_JARFILE</string> | |
| 111 <string>--launcher.library</string> | |
| 112 <string>\$APP_PACKAGE/$EQUINOX_LAUNCHER_LIBRARY</string> | |
| 113 <string>-keyring</string><string>~/.eclipse_keyring</string> | |
| 114 <string>-showlocation</string> | |
| 115 <key>WorkingDirectory</key> | |
| 116 <string>\$APP_PACKAGE/Contents/Resources</string> | |
| 117 </array> | |
| 118 </dict> | |
| 119 </plist> | |
| 120 EOF | |
| 121 | |
| OLD | NEW |