Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(419)

Unified Diff: tools/mac_build_editor_bundle.sh

Issue 16831019: Initial support for mac installers. Currently only on our editor builders on FYI (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/build.py ('k') | tools/mac_build_editor_dmg.sh » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/mac_build_editor_bundle.sh
diff --git a/tools/mac_build_editor_bundle.sh b/tools/mac_build_editor_bundle.sh
new file mode 100755
index 0000000000000000000000000000000000000000..14b80545f6bcfc78232906a11fc4a4c814972dca
--- /dev/null
+++ b/tools/mac_build_editor_bundle.sh
@@ -0,0 +1,121 @@
+#!/bin/bash
+# Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
+# for details. All rights reserved. Use of this source code is governed by
+# BSD-style license that can be found in the LICENSE file.
+
+# Fail if a command failed
+set -e
+
+if [ $# -ne 5 ]; then
+ echo "Usage $0 <app-folder> <editor-build-directory> <dart-sdk> " \
+ "<Chromium.app> <icon.icns>"
+ exit 1
+fi
+
+OUTPUT_APP_FOLDER=$1
+INPUT_EDITOR_BUILD_DIRECTORY=$2
+INPUT_DART_SDK_DIRECTORY=$3
+INPUT_CHROMIUM_APP_DIRECTORY=$4
+INPUT_ICON_PATH=$5
+
+# Input validations
+if [ "${OUTPUT_APP_FOLDER##*.}" != "app" ]; then
+ echo "Application folder has to end in '.app' " \
+ "(but was $APP_FOLDER_NAME)."
+ exit 1
+fi
+if [ "${INPUT_ICON_PATH##*.}" != "icns" ]; then
+ echo "Application icon has to end in '.icns'."
+ exit 1
+fi
+
+function ensure_exists {
+ if [ ! -e "$1" ]; then
+ echo "Directory or file does not exist: $1."
+ exit 1
+ fi
+}
+ensure_exists "$INPUT_EDITOR_BUILD_DIRECTORY"
+ensure_exists "$INPUT_DART_SDK_DIRECTORY"
+
+# Remove old directory if present
+if [ -e "$OUTPUT_APP_FOLDER" ]; then
+ rm -r "$OUTPUT_APP_FOLDER"
+fi
+
+# Make directory structure and copy necessary files
+mkdir -p "$OUTPUT_APP_FOLDER/Contents/MacOS"
+LAUNCHER_SUBPATH="DartEditor.app/Contents/MacOS/DartEditor"
+cp "$INPUT_EDITOR_BUILD_DIRECTORY/$LAUNCHER_SUBPATH" \
+ "$OUTPUT_APP_FOLDER/Contents/MacOS/"
+cp "$INPUT_EDITOR_BUILD_DIRECTORY/$LAUNCHER_SUBPATH.ini" \
+ "$OUTPUT_APP_FOLDER/Contents/MacOS/"
+mkdir -p "$OUTPUT_APP_FOLDER/Contents/Resources"
+cp "$INPUT_ICON_PATH" "$OUTPUT_APP_FOLDER/Contents/Resources/dart.icns"
+cp -R "$INPUT_DART_SDK_DIRECTORY" \
+ "$OUTPUT_APP_FOLDER/Contents/Resources/dart-sdk"
+cp -R "$INPUT_CHROMIUM_APP_DIRECTORY" \
+ "$OUTPUT_APP_FOLDER/Contents/Resources/Chromium.app"
+for dirname in $(echo configuration plugins features samples); do
+ cp -R "$INPUT_EDITOR_BUILD_DIRECTORY/$dirname" \
+ "$OUTPUT_APP_FOLDER/Contents/Resources/"
+done
+
+EQUINOX_LAUNCHER_JARFILE=$(cd "$OUTPUT_APP_FOLDER"; \
+ ls Contents/Resources/plugins/org.eclipse.equinox.launcher_*.jar);
+
+EQUINOX_LAUNCHER_LIBRARY=$(cd "$OUTPUT_APP_FOLDER"; ls \
+ Contents/Resources/plugins/org.eclipse.equinox.launcher.cocoa.*/eclipse_*.so);
+
+cat > "$OUTPUT_APP_FOLDER/Contents/Info.plist" << EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
+ "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+ <dict>
+ <key>NSHighResolutionCapable</key>
+ <true/>
+ <key>CFBundleExecutable</key>
+ <string>DartEditor</string>
+ <key>CFBundleGetInfoString</key>
+ <string>Eclipse 3.7 for Mac OS X, Copyright IBM Corp. and others 2002,
+ 2011. All rights reserved.</string>
+ <key>CFBundleIconFile</key>
+ <string>dart.icns</string>
+ <key>CFBundleIdentifier</key>
+ <string>org.eclipse.eclipse</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>DartEditor</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>3.7</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>3.7</string>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleLocalizations</key>
+ <array>
+ <string>en</string>
+ <key>WorkingDirectory</key>
+ <string>\$APP_PACKAGE/Contents/Resources</string>
+ </array>
+ <key>Eclipse</key>
+ <array>
+ <string>-startup</string>
+ <string>\$APP_PACKAGE/$EQUINOX_LAUNCHER_JARFILE</string>
+ <string>--launcher.library</string>
+ <string>\$APP_PACKAGE/$EQUINOX_LAUNCHER_LIBRARY</string>
+ <string>-keyring</string><string>~/.eclipse_keyring</string>
+ <string>-showlocation</string>
+ <key>WorkingDirectory</key>
+ <string>\$APP_PACKAGE/Contents/Resources</string>
+ </array>
+ </dict>
+</plist>
+EOF
+
« no previous file with comments | « tools/build.py ('k') | tools/mac_build_editor_dmg.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698