Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Sparkle

  • Loading branch information...
commit de7b8a70ca7fc8685ed108889afd0837c8955a90 1 parent 5a35e08
Rasmus Andersson authored

Showing 109 changed files with 3,259 additions and 190 deletions. Show diff stats Hide diff stats

  1. 9  admin/appcast.xml
  2. 124  admin/distribution.sh
  3. 19  admin/release-notes.html
  4. 1  deps/Sparkle.framework/Headers
  5. 1  deps/Sparkle.framework/Resources
  6. 1  deps/Sparkle.framework/Sparkle
  7. 33  deps/Sparkle.framework/Versions/A/Headers/SUAppcast.h
  8. 47  deps/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h
  9. 118  deps/Sparkle.framework/Versions/A/Headers/SUUpdater.h
  10. 27  deps/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h
  11. 21  deps/Sparkle.framework/Versions/A/Headers/Sparkle.h
  12. 24  deps/Sparkle.framework/Versions/A/Resources/Info.plist
  13. 7  deps/Sparkle.framework/Versions/A/Resources/License.txt
  14. 174  deps/Sparkle.framework/Versions/A/Resources/SUModelTranslation.plist
  15. 56  deps/Sparkle.framework/Versions/A/Resources/SUStatus.nib/classes.nib
  16. 20  deps/Sparkle.framework/Versions/A/Resources/SUStatus.nib/info.nib
  17. BIN  deps/Sparkle.framework/Versions/A/Resources/SUStatus.nib/keyedobjects.nib
  18. 50  deps/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  19. 20  deps/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/info.nib
  20. BIN  deps/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  21. 67  deps/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/classes.nib
  22. 20  deps/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/info.nib
  23. BIN  deps/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/keyedobjects.nib
  24. 59  deps/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  25. 20  deps/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/info.nib
  26. BIN  deps/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  27. BIN  deps/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings
  28. 50  deps/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  29. 20  deps/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/info.nib
  30. BIN  deps/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  31. 67  deps/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/classes.nib
  32. 20  deps/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/info.nib
  33. BIN  deps/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/keyedobjects.nib
  34. 59  deps/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  35. 21  deps/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/info.nib
  36. BIN  deps/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  37. BIN  deps/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings
  38. 50  deps/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  39. 20  deps/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/info.nib
  40. BIN  deps/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  41. 67  deps/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/classes.nib
  42. 20  deps/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/info.nib
  43. BIN  deps/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/keyedobjects.nib
  44. 59  deps/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  45. 20  deps/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/info.nib
  46. BIN  deps/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  47. BIN  deps/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings
  48. 50  deps/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  49. 16  deps/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/info.nib
  50. BIN  deps/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  51. 67  deps/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/classes.nib
  52. 16  deps/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/info.nib
  53. BIN  deps/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/keyedobjects.nib
  54. 59  deps/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  55. 16  deps/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/info.nib
  56. BIN  deps/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  57. BIN  deps/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings
  58. 1  deps/Sparkle.framework/Versions/A/Resources/fr.lproj/fr.lproj
  59. 1  deps/Sparkle.framework/Versions/A/Resources/fr_CA.lproj
  60. 50  deps/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  61. 20  deps/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/info.nib
  62. BIN  deps/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  63. 67  deps/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/classes.nib
  64. 20  deps/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/info.nib
  65. BIN  deps/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/keyedobjects.nib
  66. 59  deps/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  67. 20  deps/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/info.nib
  68. BIN  deps/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  69. BIN  deps/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings
  70. 50  deps/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  71. 18  deps/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/info.nib
  72. BIN  deps/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  73. 67  deps/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/classes.nib
  74. 16  deps/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/info.nib
  75. BIN  deps/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/keyedobjects.nib
  76. 59  deps/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  77. 16  deps/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/info.nib
  78. BIN  deps/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  79. BIN  deps/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings
  80. BIN  deps/Sparkle.framework/Versions/A/Resources/relaunch
  81. 50  deps/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  82. 20  deps/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/info.nib
  83. BIN  deps/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  84. 67  deps/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/classes.nib
  85. 20  deps/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/info.nib
  86. BIN  deps/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/keyedobjects.nib
  87. 59  deps/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  88. 18  deps/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/info.nib
  89. BIN  deps/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  90. BIN  deps/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings
  91. 50  deps/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  92. 20  deps/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/info.nib
  93. BIN  deps/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  94. 39  deps/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/classes.nib
  95. 18  deps/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/info.nib
  96. BIN  deps/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/keyedobjects.nib
  97. 59  deps/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  98. 20  deps/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/info.nib
  99. BIN  deps/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  100. BIN  deps/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings
  101. BIN  deps/Sparkle.framework/Versions/A/Sparkle
  102. 1  deps/Sparkle.framework/Versions/Current
  103. 88  kod.xcodeproj/project.pbxproj
  104. 675  resources/Info.plist
  105. 134  resources/MainMenu.xib
  106. 20  resources/dsa_pub.pem
  107. 3  src/KAppDelegate.h
  108. 7  src/KAppDelegate.mm
  109. 2  src/KDocumentController.mm
9  admin/appcast.xml
... ...
@@ -0,0 +1,9 @@
  1
+<?xml version="1.0" encoding="utf-8"?>
  2
+<rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle">
  3
+  <channel>
  4
+    <title>Kod releases</title>
  5
+    <link>http://kodapp.com/</link>
  6
+    <description>Appcast for Kod</description>
  7
+    <language>en</language>
  8
+  </channel>
  9
+</rss>
124  admin/distribution.sh
... ...
@@ -0,0 +1,124 @@
  1
+#!/bin/bash
  2
+set -o errexit
  3
+
  4
+[ $BUILD_STYLE = Release ] || { echo Distribution target requires "'Release'" build style; false; }
  5
+
  6
+VERSION=$(defaults read "$BUILT_PRODUCTS_DIR/$PROJECT_NAME.app/Contents/Info" CFBundleVersion)
  7
+DOWNLOAD_BASE_URL="http://kodapp.com/dist"
  8
+RELEASENOTES_URL="http://kodapp.com/release-notes.html#version-$VERSION"
  9
+
  10
+ARCHIVE_FILENAME="$PROJECT_NAME-$VERSION.zip"
  11
+DOWNLOAD_URL="$DOWNLOAD_BASE_URL/$ARCHIVE_FILENAME"
  12
+KEYCHAIN_PRIVKEY_NAME="Kod release signing key (private)"
  13
+
  14
+WD=$PWD
  15
+cd "$BUILT_PRODUCTS_DIR"
  16
+rm -f "$PROJECT_NAME"*.zip
  17
+ditto -ck --keepParent "$PROJECT_NAME.app" "$ARCHIVE_FILENAME"
  18
+
  19
+SIZE=$(stat -f %z "$ARCHIVE_FILENAME")
  20
+PUBDATE=$(LC_TIME=c date +"%a, %d %b %G %T %z")
  21
+
  22
+# For OS X >=10.6:
  23
+SIGNATURE=$(
  24
+  openssl dgst -sha1 -binary < "$ARCHIVE_FILENAME" \
  25
+  | openssl dgst -dss1 -sign <(security find-generic-password -g -s "$KEYCHAIN_PRIVKEY_NAME" 2>&1 1>/dev/null | /usr/bin/perl -pe '($_) = /"(.+)"/; s/\\012/\n/g' | /usr/bin/perl -MXML::LibXML -e 'print XML::LibXML->new()->parse_file("-")->findvalue(q(//string[preceding-sibling::key[1] = "NOTE"]))') \
  26
+  | openssl enc -base64
  27
+)
  28
+# For OS X <=10.5:
  29
+#SIGNATURE=$(
  30
+#  openssl dgst -sha1 -binary < "$ARCHIVE_FILENAME" \
  31
+#  | openssl dgst -dss1 -sign <(security find-generic-password -g -s "$KEYCHAIN_PRIVKEY_NAME" 2>&1 1>/dev/null | perl -pe '($_) = /"(.+)"/; s/\\012/\n/g') \
  32
+#  | openssl enc -base64
  33
+#)
  34
+
  35
+[ $SIGNATURE ] || { echo Unable to load signing private key with name "'$KEYCHAIN_PRIVKEY_NAME'" from keychain; false; }
  36
+
  37
+
  38
+python - <<EOF
  39
+# encoding: utf-8
  40
+import sys, re
  41
+ITEM = '''
  42
+    <item>
  43
+      <title>Version $VERSION</title>
  44
+      <sparkle:releaseNotesLink>$RELEASENOTES_URL</sparkle:releaseNotesLink>
  45
+      <pubDate>$PUBDATE</pubDate>
  46
+      <enclosure
  47
+        url="$DOWNLOAD_URL"
  48
+        sparkle:version="$VERSION"
  49
+        type="application/octet-stream"
  50
+        length="$SIZE"
  51
+        sparkle:dsaSignature="$SIGNATURE"
  52
+      />
  53
+    </item>
  54
+'''
  55
+newver = re.findall(r'sparkle:version="([^"]+)"', ITEM)[0]
  56
+newsig = re.findall(r'sparkle:dsaSignature="([^"]+)"', ITEM)[0]
  57
+
  58
+f = open('$WD/admin/appcast.xml','r')
  59
+APPCAST = f.read()
  60
+f.close()
  61
+
  62
+if newver in re.findall(r'sparkle:version="([^"]+)"', APPCAST):
  63
+  print >> sys.stderr, ('Version %s is already in the appcast.xml -- you need to manually '\
  64
+  'remove it from the appcast.xml if this is not an error.') % newver
  65
+  sys.exit(1)
  66
+elif newsig in re.findall(r'sparkle:dsaSignature="([^"]+)"', APPCAST):
  67
+  print >> sys.stderr, ('Signature %s is already in the appcast.xml -- you need to manually '\
  68
+  'remove it from the appcast.xml if this is not an error.') % newsig
  69
+  sys.exit(1)
  70
+
  71
+APPCAST = re.compile(r'(\n[ \r\n\t]*</channel>)', re.M).sub(ITEM.rstrip()+r'\1', APPCAST)
  72
+open('$WD/admin/appcast.xml','w').write(APPCAST)
  73
+EOF
  74
+
  75
+python - <<EOF
  76
+# encoding: utf-8
  77
+import sys, re
  78
+ITEM = '''
  79
+    <section id="version-$VERSION">
  80
+      <h2>Version $VERSION</h2>
  81
+      <ul>
  82
+        <li>DESCRIPTION</li>
  83
+      </ul>
  84
+    </section>
  85
+'''
  86
+VERSIONRE = r'<section id="version-([^"]+)">'
  87
+newver = re.findall(VERSIONRE, ITEM)[0]
  88
+
  89
+f = open('$WD/admin/release-notes.html','r')
  90
+HTML = f.read()
  91
+f.close()
  92
+
  93
+if newver in re.findall(VERSIONRE, HTML):
  94
+  print >> sys.stderr, ('Version %s is already in the release-notes.html -- you need to manually '\
  95
+  'remove it from release-notes.html if this is not an error.') % newver
  96
+  sys.exit(1)
  97
+
  98
+HTML = re.compile(r'(\n[ \r\n\t]*</body>)', re.M).sub(ITEM.rstrip()+r'\1', HTML)
  99
+open('$WD/admin/release-notes.html','w').write(HTML)
  100
+EOF
  101
+
  102
+PATH=~/bin:$PATH # if mate is in home/bin
  103
+mate -a "$WD/admin/appcast.xml" "$WD/admin/release-notes.html"
  104
+mate -a <<EOF
  105
+
  106
+                  ------------- INSTRUCTIONS -------------
  107
+
  108
+1. Complete the new entry created in release-notes.html
  109
+
  110
+mate '$WD/admin/release-notes.html'
  111
+
  112
+2. Publish the archive, release notes and appcast -- in that order:
  113
+
  114
+scp '$BUILT_PRODUCTS_DIR/$ARCHIVE_FILENAME' hunch.se:/var/www/hunch.se/www/public/scrup/dist/
  115
+scp '$WD/admin/release-notes.html' hunch.se:/var/www/hunch.se/www/public/scrup/release-notes.html
  116
+scp '$WD/admin/appcast.xml' hunch.se:/var/www/hunch.se/www/public/scrup/appcast.xml
  117
+
  118
+3. Commit, tag and push the source
  119
+
  120
+git ci 'Release $VERSION' -a
  121
+git tag -sm 'Release $VERSION' 'v$VERSION'
  122
+git pu
  123
+
  124
+EOF
19  admin/release-notes.html
... ...
@@ -0,0 +1,19 @@
  1
+<!DOCTYPE HTML>
  2
+<html lang="en">
  3
+  <head>
  4
+    <meta http-equiv="content-type" content="text/html;charset=utf-8">
  5
+    <title>Kod release notes</title>
  6
+    <meta name="robots" content="anchors">
  7
+    <style type="text/css" media="screen">
  8
+      body {
  9
+        margin: 2px 12px 12px 12px; font-size:13px; background:white;
  10
+        color:#222;
  11
+      }
  12
+      p,li,a,a:hover,h1,h2,h3 { font-family:helvetica,arial,sans-serif; }
  13
+      h2 { font-size:16px; }
  14
+      section { display:block; clear:both; }
  15
+    </style>
  16
+  </head>
  17
+  <body>
  18
+  </body>
  19
+</html>
1  deps/Sparkle.framework/Headers
1  deps/Sparkle.framework/Resources
1  deps/Sparkle.framework/Sparkle
33  deps/Sparkle.framework/Versions/A/Headers/SUAppcast.h
... ...
@@ -0,0 +1,33 @@
  1
+//
  2
+//  SUAppcast.h
  3
+//  Sparkle
  4
+//
  5
+//  Created by Andy Matuschak on 3/12/06.
  6
+//  Copyright 2006 Andy Matuschak. All rights reserved.
  7
+//
  8
+
  9
+#ifndef SUAPPCAST_H
  10
+#define SUAPPCAST_H
  11
+
  12
+@class SUAppcastItem;
  13
+@interface SUAppcast : NSObject {
  14
+	NSArray *items;
  15
+	NSString *userAgentString;
  16
+	id delegate;
  17
+	NSMutableData *incrementalData;
  18
+}
  19
+
  20
+- (void)fetchAppcastFromURL:(NSURL *)url;
  21
+- (void)setDelegate:delegate;
  22
+- (void)setUserAgentString:(NSString *)userAgentString;
  23
+
  24
+- (NSArray *)items;
  25
+
  26
+@end
  27
+
  28
+@interface NSObject (SUAppcastDelegate)
  29
+- (void)appcastDidFinishLoading:(SUAppcast *)appcast;
  30
+- (void)appcast:(SUAppcast *)appcast failedToLoadWithError:(NSError *)error;
  31
+@end
  32
+
  33
+#endif
47  deps/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h
... ...
@@ -0,0 +1,47 @@
  1
+//
  2
+//  SUAppcastItem.h
  3
+//  Sparkle
  4
+//
  5
+//  Created by Andy Matuschak on 3/12/06.
  6
+//  Copyright 2006 Andy Matuschak. All rights reserved.
  7
+//
  8
+
  9
+#ifndef SUAPPCASTITEM_H
  10
+#define SUAPPCASTITEM_H
  11
+
  12
+@interface SUAppcastItem : NSObject {
  13
+	NSString *title;
  14
+	NSDate *date;
  15
+	NSString *itemDescription;
  16
+	
  17
+	NSURL *releaseNotesURL;
  18
+	
  19
+	NSString *DSASignature;	
  20
+	NSString *minimumSystemVersion;
  21
+	
  22
+	NSURL *fileURL;
  23
+	NSString *versionString;
  24
+	NSString *displayVersionString;
  25
+	
  26
+	NSDictionary *propertiesDictionary;
  27
+}
  28
+
  29
+// Initializes with data from a dictionary provided by the RSS class.
  30
+- initWithDictionary:(NSDictionary *)dict;
  31
+
  32
+- (NSString *)title;
  33
+- (NSString *)versionString;
  34
+- (NSString *)displayVersionString;
  35
+- (NSDate *)date;
  36
+- (NSString *)itemDescription;
  37
+- (NSURL *)releaseNotesURL;
  38
+- (NSURL *)fileURL;
  39
+- (NSString *)DSASignature;
  40
+- (NSString *)minimumSystemVersion;
  41
+
  42
+// Returns the dictionary provided in initWithDictionary; this might be useful later for extensions.
  43
+- (NSDictionary *)propertiesDictionary;
  44
+
  45
+@end
  46
+
  47
+#endif
118  deps/Sparkle.framework/Versions/A/Headers/SUUpdater.h
... ...
@@ -0,0 +1,118 @@
  1
+//
  2
+//  SUUpdater.h
  3
+//  Sparkle
  4
+//
  5
+//  Created by Andy Matuschak on 1/4/06.
  6
+//  Copyright 2006 Andy Matuschak. All rights reserved.
  7
+//
  8
+
  9
+#ifndef SUUPDATER_H
  10
+#define SUUPDATER_H
  11
+
  12
+#import <Sparkle/SUVersionComparisonProtocol.h>
  13
+
  14
+@class SUUpdateDriver, SUAppcastItem, SUHost, SUAppcast;
  15
+@interface SUUpdater : NSObject {
  16
+	NSTimer *checkTimer;
  17
+	SUUpdateDriver *driver;
  18
+	
  19
+	SUHost *host;
  20
+	IBOutlet id delegate;
  21
+}
  22
+
  23
++ (SUUpdater *)sharedUpdater;
  24
++ (SUUpdater *)updaterForBundle:(NSBundle *)bundle;
  25
+- (NSBundle *)hostBundle;
  26
+
  27
+- (void)setDelegate:(id)delegate;
  28
+- delegate;
  29
+
  30
+- (void)setAutomaticallyChecksForUpdates:(BOOL)automaticallyChecks;
  31
+- (BOOL)automaticallyChecksForUpdates;
  32
+
  33
+- (void)setUpdateCheckInterval:(NSTimeInterval)interval;
  34
+- (NSTimeInterval)updateCheckInterval;
  35
+
  36
+- (void)setFeedURL:(NSURL *)feedURL;
  37
+- (NSURL *)feedURL;
  38
+
  39
+- (void)setSendsSystemProfile:(BOOL)sendsSystemProfile;
  40
+- (BOOL)sendsSystemProfile;
  41
+
  42
+- (void)setAutomaticallyDownloadsUpdates:(BOOL)automaticallyDownloadsUpdates;
  43
+- (BOOL)automaticallyDownloadsUpdates;
  44
+
  45
+// This IBAction is meant for a main menu item. Hook up any menu item to this action,
  46
+// and Sparkle will check for updates and report back its findings verbosely.
  47
+- (IBAction)checkForUpdates:sender;
  48
+
  49
+// This kicks off an update meant to be programmatically initiated. That is, it will display no UI unless it actually finds an update,
  50
+// in which case it proceeds as usual. If the fully automated updating is turned on, however, this will invoke that behavior, and if an
  51
+// update is found, it will be downloaded and prepped for installation.
  52
+- (void)checkForUpdatesInBackground;
  53
+
  54
+// Date of last update check. Returns null if no check has been performed.
  55
+- (NSDate*)lastUpdateCheckDate;
  56
+
  57
+// This begins a "probing" check for updates which will not actually offer to update to that version. The delegate methods, though,
  58
+// (up to updater:didFindValidUpdate: and updaterDidNotFindUpdate:), are called, so you can use that information in your UI.
  59
+- (void)checkForUpdateInformation;
  60
+
  61
+// Call this to appropriately schedule or cancel the update checking timer according to the preferences for time interval and automatic checks. This call does not change the date of the next check, but only the internal NSTimer.
  62
+- (void)resetUpdateCycle;
  63
+
  64
+- (BOOL)updateInProgress;
  65
+@end
  66
+
  67
+@interface NSObject (SUUpdaterDelegateInformalProtocol)
  68
+// This method allows you to add extra parameters to the appcast URL, potentially based on whether or not Sparkle will also be sending along the system profile. This method should return an array of dictionaries with keys: "key", "value", "displayKey", "displayValue", the latter two being specifically for display to the user.
  69
+- (NSArray *)feedParametersForUpdater:(SUUpdater *)updater sendingSystemProfile:(BOOL)sendingProfile;
  70
+
  71
+// Use this to override the default behavior for Sparkle prompting the user about automatic update checks.
  72
+- (BOOL)updaterShouldPromptForPermissionToCheckForUpdates:(SUUpdater *)bundle;
  73
+
  74
+// Implement this if you want to do some special handling with the appcast once it finishes loading.
  75
+- (void)updater:(SUUpdater *)updater didFinishLoadingAppcast:(SUAppcast *)appcast;
  76
+
  77
+// If you're using special logic or extensions in your appcast, implement this to use your own logic for finding
  78
+// a valid update, if any, in the given appcast.
  79
+- (SUAppcastItem *)bestValidUpdateInAppcast:(SUAppcast *)appcast forUpdater:(SUUpdater *)bundle;
  80
+
  81
+// Sent when a valid update is found by the update driver.
  82
+- (void)updater:(SUUpdater *)updater didFindValidUpdate:(SUAppcastItem *)update;
  83
+
  84
+// Sent when a valid update is not found.
  85
+- (void)updaterDidNotFindUpdate:(SUUpdater *)update;
  86
+
  87
+// Sent immediately before installing the specified update.
  88
+- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)update;
  89
+
  90
+// Return YES to delay the relaunch until you do some processing; invoke the given NSInvocation to continue.
  91
+- (BOOL)updater:(SUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)update untilInvoking:(NSInvocation *)invocation;
  92
+
  93
+// Called immediately before relaunching.
  94
+- (void)updaterWillRelaunchApplication:(SUUpdater *)updater;
  95
+
  96
+// This method allows you to provide a custom version comparator.
  97
+// If you don't implement this method or return nil, the standard version comparator will be used.
  98
+- (id <SUVersionComparison>)versionComparatorForUpdater:(SUUpdater *)updater;
  99
+
  100
+// Returns the path which is used to relaunch the client after the update is installed. By default, the path of the host bundle.
  101
+- (NSString *)pathToRelaunchForUpdater:(SUUpdater *)updater;
  102
+
  103
+@end
  104
+
  105
+// Define some minimum intervals to avoid DOS-like checking attacks. These are in seconds.
  106
+#ifdef DEBUG
  107
+#define SU_MIN_CHECK_INTERVAL 60
  108
+#else
  109
+#define SU_MIN_CHECK_INTERVAL 60*60
  110
+#endif
  111
+
  112
+#ifdef DEBUG
  113
+#define SU_DEFAULT_CHECK_INTERVAL 60
  114
+#else
  115
+#define SU_DEFAULT_CHECK_INTERVAL 60*60*24
  116
+#endif
  117
+
  118
+#endif
27  deps/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h
... ...
@@ -0,0 +1,27 @@
  1
+//
  2
+//  SUVersionComparisonProtocol.h
  3
+//  Sparkle
  4
+//
  5
+//  Created by Andy Matuschak on 12/21/07.
  6
+//  Copyright 2007 Andy Matuschak. All rights reserved.
  7
+//
  8
+
  9
+#ifndef SUVERSIONCOMPARISONPROTOCOL_H
  10
+#define SUVERSIONCOMPARISONPROTOCOL_H
  11
+
  12
+/*!
  13
+    @protocol
  14
+    @abstract    Implement this protocol to provide version comparison facilities for Sparkle.
  15
+*/
  16
+@protocol SUVersionComparison
  17
+
  18
+/*!
  19
+    @method     
  20
+    @abstract   An abstract method to compare two version strings.
  21
+    @discussion Should return NSOrderedAscending if b > a, NSOrderedDescending if b < a, and NSOrderedSame if they are equivalent.
  22
+*/
  23
+- (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB;
  24
+
  25
+@end
  26
+
  27
+#endif
21  deps/Sparkle.framework/Versions/A/Headers/Sparkle.h
... ...
@@ -0,0 +1,21 @@
  1
+//
  2
+//  Sparkle.h
  3
+//  Sparkle
  4
+//
  5
+//  Created by Andy Matuschak on 3/16/06. (Modified by CDHW on 23/12/07)
  6
+//  Copyright 2006 Andy Matuschak. All rights reserved.
  7
+//
  8
+
  9
+#ifndef SPARKLE_H
  10
+#define SPARKLE_H
  11
+
  12
+// This list should include the shared headers. It doesn't matter if some of them aren't shared (unless
  13
+// there are name-space collisions) so we can list all of them to start with:
  14
+
  15
+#import <Sparkle/SUUpdater.h>
  16
+
  17
+#import <Sparkle/SUAppcast.h>
  18
+#import <Sparkle/SUAppcastItem.h>
  19
+#import <Sparkle/SUVersionComparisonProtocol.h>
  20
+
  21
+#endif
24  deps/Sparkle.framework/Versions/A/Resources/Info.plist
... ...
@@ -0,0 +1,24 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3
+<plist version="1.0">
  4
+<dict>
  5
+	<key>CFBundleDevelopmentRegion</key>
  6
+	<string>en</string>
  7
+	<key>CFBundleExecutable</key>
  8
+	<string>Sparkle</string>
  9
+	<key>CFBundleIdentifier</key>
  10
+	<string>org.andymatuschak.Sparkle</string>
  11
+	<key>CFBundleInfoDictionaryVersion</key>
  12
+	<string>6.0</string>
  13
+	<key>CFBundleName</key>
  14
+	<string>Sparkle</string>
  15
+	<key>CFBundlePackageType</key>
  16
+	<string>FMWK</string>
  17
+	<key>CFBundleShortVersionString</key>
  18
+	<string>1.5 Beta 6</string>
  19
+	<key>CFBundleSignature</key>
  20
+	<string>????</string>
  21
+	<key>CFBundleVersion</key>
  22
+	<string>313</string>
  23
+</dict>
  24
+</plist>
7  deps/Sparkle.framework/Versions/A/Resources/License.txt
... ...
@@ -0,0 +1,7 @@
  1
+Copyright (c) 2006 Andy Matuschak
  2
+
  3
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
  4
+
  5
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
  6
+
  7
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
174  deps/Sparkle.framework/Versions/A/Resources/SUModelTranslation.plist
... ...
@@ -0,0 +1,174 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3
+<plist version="1.0">
  4
+<dict>
  5
+	<key>ADP2,1</key>
  6
+	<string>Developer Transition Kit</string>
  7
+	<key>MacBook1,1</key>
  8
+	<string>MacBook (Core Duo)</string>
  9
+	<key>MacBook2,1</key>
  10
+	<string>MacBook (Core 2 Duo)</string>
  11
+	<key>MacBook4,1</key>
  12
+	<string>MacBook (Core 2 Duo Feb 2008)</string>
  13
+	<key>MacBookAir1,1</key>
  14
+	<string>MacBook Air (January 2008)</string>
  15
+	<key>MacBookPro1,1</key>
  16
+	<string>MacBook Pro Core Duo (15-inch)</string>
  17
+	<key>MacBookPro1,2</key>
  18
+	<string>MacBook Pro Core Duo (17-inch)</string>
  19
+	<key>MacBookPro2,1</key>
  20
+	<string>MacBook Pro Core 2 Duo (17-inch)</string>
  21
+	<key>MacBookPro2,2</key>
  22
+	<string>MacBook Pro Core 2 Duo (15-inch)</string>
  23
+	<key>MacBookPro3,1</key>
  24
+	<string>MacBook Pro Core 2 Duo (15-inch LED, Core 2 Duo)</string>
  25
+	<key>MacBookPro3,2</key>
  26
+	<string>MacBook Pro Core 2 Duo (17-inch HD, Core 2 Duo)</string>
  27
+	<key>MacBookPro4,1</key>
  28
+	<string>MacBook Pro (Core 2 Duo Feb 2008)</string>
  29
+	<key>MacPro1,1</key>
  30
+	<string>Mac Pro (four-core)</string>
  31
+	<key>MacPro2,1</key>
  32
+	<string>Mac Pro (eight-core)</string>
  33
+	<key>MacPro3,1</key>
  34
+	<string>Mac Pro (January 2008 4- or 8- core "Harpertown")</string>
  35
+	<key>Macmini1,1</key>
  36
+	<string>Mac Mini (Core Solo/Duo)</string>
  37
+	<key>PowerBook1,1</key>
  38
+	<string>PowerBook G3</string>
  39
+	<key>PowerBook2,1</key>
  40
+	<string>iBook G3</string>
  41
+	<key>PowerBook2,2</key>
  42
+	<string>iBook G3 (FireWire)</string>
  43
+	<key>PowerBook2,3</key>
  44
+	<string>iBook G3</string>
  45
+	<key>PowerBook2,4</key>
  46
+	<string>iBook G3</string>
  47
+	<key>PowerBook3,1</key>
  48
+	<string>PowerBook G3 (FireWire)</string>
  49
+	<key>PowerBook3,2</key>
  50
+	<string>PowerBook G4</string>
  51
+	<key>PowerBook3,3</key>
  52
+	<string>PowerBook G4 (Gigabit Ethernet)</string>
  53
+	<key>PowerBook3,4</key>
  54
+	<string>PowerBook G4 (DVI)</string>
  55
+	<key>PowerBook3,5</key>
  56
+	<string>PowerBook G4 (1GHz / 867MHz)</string>
  57
+	<key>PowerBook4,1</key>
  58
+	<string>iBook G3 (Dual USB, Late 2001)</string>
  59
+	<key>PowerBook4,2</key>
  60
+	<string>iBook G3 (16MB VRAM)</string>
  61
+	<key>PowerBook4,3</key>
  62
+	<string>iBook G3 Opaque 16MB VRAM, 32MB VRAM, Early 2003)</string>
  63
+	<key>PowerBook5,1</key>
  64
+	<string>PowerBook G4 (17 inch)</string>
  65
+	<key>PowerBook5,2</key>
  66
+	<string>PowerBook G4 (15 inch FW 800)</string>
  67
+	<key>PowerBook5,3</key>
  68
+	<string>PowerBook G4 (17-inch 1.33GHz)</string>
  69
+	<key>PowerBook5,4</key>
  70
+	<string>PowerBook G4 (15 inch 1.5/1.33GHz)</string>
  71
+	<key>PowerBook5,5</key>
  72
+	<string>PowerBook G4 (17-inch 1.5GHz)</string>
  73
+	<key>PowerBook5,6</key>
  74
+	<string>PowerBook G4 (15 inch 1.67GHz/1.5GHz)</string>
  75
+	<key>PowerBook5,7</key>
  76
+	<string>PowerBook G4 (17-inch 1.67GHz)</string>
  77
+	<key>PowerBook5,8</key>
  78
+	<string>PowerBook G4 (Double layer SD, 15 inch)</string>
  79
+	<key>PowerBook5,9</key>
  80
+	<string>PowerBook G4 (Double layer SD, 17 inch)</string>
  81
+	<key>PowerBook6,1</key>
  82
+	<string>PowerBook G4 (12 inch)</string>
  83
+	<key>PowerBook6,2</key>
  84
+	<string>PowerBook G4 (12 inch, DVI)</string>
  85
+	<key>PowerBook6,3</key>
  86
+	<string>iBook G4</string>
  87
+	<key>PowerBook6,4</key>
  88
+	<string>PowerBook G4 (12 inch 1.33GHz)</string>
  89
+	<key>PowerBook6,5</key>
  90
+	<string>iBook G4 (Early-Late 2004)</string>
  91
+	<key>PowerBook6,7</key>
  92
+	<string>iBook G4 (Mid 2005)</string>
  93
+	<key>PowerBook6,8</key>
  94
+	<string>PowerBook G4 (12 inch 1.5GHz)</string>
  95
+	<key>PowerMac1,1</key>
  96
+	<string>Power Macintosh G3 (Blue &amp; White)</string>
  97
+	<key>PowerMac1,2</key>
  98
+	<string>Power Macintosh G4 (PCI Graphics)</string>
  99
+	<key>PowerMac10,1</key>
  100
+	<string>Mac Mini G4</string>
  101
+	<key>PowerMac10,2</key>
  102
+	<string>Mac Mini (Late 2005)</string>
  103
+	<key>PowerMac11,2</key>
  104
+	<string>Power Macintosh G5 (Late 2005)</string>
  105
+	<key>PowerMac12,1</key>
  106
+	<string>iMac G5 (iSight)</string>
  107
+	<key>PowerMac2,1</key>
  108
+	<string>iMac G3 (Slot-loading CD-ROM)</string>
  109
+	<key>PowerMac2,2</key>
  110
+	<string>iMac G3 (Summer 2000)</string>
  111
+	<key>PowerMac3,1</key>
  112
+	<string>Power Macintosh G4 (AGP Graphics)</string>
  113
+	<key>PowerMac3,2</key>
  114
+	<string>Power Macintosh G4 (AGP Graphics)</string>
  115
+	<key>PowerMac3,3</key>
  116
+	<string>Power Macintosh G4 (Gigabit Ethernet)</string>
  117
+	<key>PowerMac3,4</key>
  118
+	<string>Power Macintosh G4 (Digital Audio)</string>
  119
+	<key>PowerMac3,5</key>
  120
+	<string>Power Macintosh G4 (Quick Silver)</string>
  121
+	<key>PowerMac3,6</key>
  122
+	<string>Power Macintosh G4 (Mirrored Drive Door)</string>
  123
+	<key>PowerMac4,1</key>
  124
+	<string>iMac G3 (Early/Summer 2001)</string>
  125
+	<key>PowerMac4,2</key>
  126
+	<string>iMac G4 (Flat Panel)</string>
  127
+	<key>PowerMac4,4</key>
  128
+	<string>eMac</string>
  129
+	<key>PowerMac4,5</key>
  130
+	<string>iMac G4 (17-inch Flat Panel)</string>
  131
+	<key>PowerMac5,1</key>
  132
+	<string>Power Macintosh G4 Cube</string>
  133
+	<key>PowerMac6,1</key>
  134
+	<string>iMac G4 (USB 2.0)</string>
  135
+	<key>PowerMac6,3</key>
  136
+	<string>iMac G4 (20-inch Flat Panel)</string>
  137
+	<key>PowerMac6,4</key>
  138
+	<string>eMac (USB 2.0, 2005)</string>
  139
+	<key>PowerMac7,2</key>
  140
+	<string>Power Macintosh G5</string>
  141
+	<key>PowerMac7,3</key>
  142
+	<string>Power Macintosh G5</string>
  143
+	<key>PowerMac8,1</key>
  144
+	<string>iMac G5</string>
  145
+	<key>PowerMac8,2</key>
  146
+	<string>iMac G5 (Ambient Light Sensor)</string>
  147
+	<key>PowerMac9,1</key>
  148
+	<string>Power Macintosh G5 (Late 2005)</string>
  149
+	<key>RackMac1,1</key>
  150
+	<string>Xserve G4</string>
  151
+	<key>RackMac1,2</key>
  152
+	<string>Xserve G4 (slot-loading, cluster node)</string>
  153
+	<key>RackMac3,1</key>
  154
+	<string>Xserve G5</string>
  155
+	<key>Xserve1,1</key>
  156
+	<string>Xserve (Intel Xeon)</string>
  157
+	<key>Xserve2,1</key>
  158
+	<string>Xserve (January 2008 quad-core)</string>
  159
+	<key>iMac1,1</key>
  160
+	<string>iMac G3 (Rev A-D)</string>
  161
+	<key>iMac4,1</key>
  162
+	<string>iMac (Core Duo)</string>
  163
+	<key>iMac4,2</key>
  164
+	<string>iMac for Education (17-inch, Core Duo)</string>
  165
+	<key>iMac5,1</key>
  166
+	<string>iMac (Core 2 Duo, 17 or 20 inch, SuperDrive)</string>
  167
+	<key>iMac5,2</key>
  168
+	<string>iMac (Core 2 Duo, 17 inch, Combo Drive)</string>
  169
+	<key>iMac6,1</key>
  170
+	<string>iMac (Core 2 Duo, 24 inch, SuperDrive)</string>
  171
+	<key>iMac8,1</key>
  172
+	<string>iMac (April 2008)</string>
  173
+</dict>
  174
+</plist>
56  deps/Sparkle.framework/Versions/A/Resources/SUStatus.nib/classes.nib
... ...
@@ -0,0 +1,56 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3
+<plist version="1.0">
  4
+<dict>
  5
+	<key>IBClasses</key>
  6
+	<array>
  7
+		<dict>
  8
+			<key>CLASS</key>
  9
+			<string>SUWindowController</string>
  10
+			<key>LANGUAGE</key>
  11
+			<string>ObjC</string>
  12
+			<key>SUPERCLASS</key>
  13
+			<string>NSWindowController</string>
  14
+		</dict>
  15
+		<dict>
  16
+			<key>CLASS</key>
  17
+			<string>NSApplication</string>
  18
+			<key>LANGUAGE</key>
  19
+			<string>ObjC</string>
  20
+			<key>SUPERCLASS</key>
  21
+			<string>NSResponder</string>
  22
+		</dict>
  23
+		<dict>
  24
+			<key>CLASS</key>
  25
+			<string>FirstResponder</string>
  26
+			<key>LANGUAGE</key>
  27
+			<string>ObjC</string>
  28
+			<key>SUPERCLASS</key>
  29
+			<string>NSObject</string>
  30
+		</dict>
  31
+		<dict>
  32
+			<key>CLASS</key>
  33
+			<string>NSObject</string>
  34
+			<key>LANGUAGE</key>
  35
+			<string>ObjC</string>
  36
+		</dict>
  37
+		<dict>
  38
+			<key>CLASS</key>
  39
+			<string>SUStatusController</string>
  40
+			<key>LANGUAGE</key>
  41
+			<string>ObjC</string>
  42
+			<key>OUTLETS</key>
  43
+			<dict>
  44
+				<key>actionButton</key>
  45
+				<string>NSButton</string>
  46
+				<key>progressBar</key>
  47
+				<string>NSProgressIndicator</string>
  48
+			</dict>
  49
+			<key>SUPERCLASS</key>
  50
+			<string>SUWindowController</string>
  51
+		</dict>
  52
+	</array>
  53
+	<key>IBVersion</key>
  54
+	<string>1</string>
  55
+</dict>
  56
+</plist>
20  deps/Sparkle.framework/Versions/A/Resources/SUStatus.nib/info.nib
... ...
@@ -0,0 +1,20 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3
+<plist version="1.0">
  4
+<dict>
  5
+	<key>IBFramework Version</key>
  6
+	<string>670</string>
  7
+	<key>IBLastKnownRelativeProjectPath</key>
  8
+	<string>Sparkle.xcodeproj</string>
  9
+	<key>IBOldestOS</key>
  10
+	<integer>5</integer>
  11
+	<key>IBOpenObjects</key>
  12
+	<array>
  13
+		<integer>6</integer>
  14
+	</array>
  15
+	<key>IBSystem Version</key>
  16
+	<string>10A96</string>
  17
+	<key>targetFramework</key>
  18
+	<string>IBCocoaFramework</string>
  19
+</dict>
  20
+</plist>
BIN  deps/Sparkle.framework/Versions/A/Resources/SUStatus.nib/keyedobjects.nib
Binary file not shown
50  deps/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/classes.nib
... ...
@@ -0,0 +1,50 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3
+<plist version="1.0">
  4
+<dict>
  5
+	<key>IBClasses</key>
  6
+	<array>
  7
+		<dict>
  8
+			<key>CLASS</key>
  9
+			<string>SUWindowController</string>
  10
+			<key>LANGUAGE</key>
  11
+			<string>ObjC</string>
  12
+			<key>SUPERCLASS</key>
  13
+			<string>NSWindowController</string>
  14
+		</dict>
  15
+		<dict>
  16
+			<key>ACTIONS</key>
  17
+			<dict>
  18
+				<key>doNotInstall</key>
  19
+				<string>id</string>
  20
+				<key>installLater</key>
  21
+				<string>id</string>
  22
+				<key>installNow</key>
  23
+				<string>id</string>
  24
+			</dict>
  25
+			<key>CLASS</key>
  26
+			<string>SUAutomaticUpdateAlert</string>
  27
+			<key>LANGUAGE</key>
  28
+			<string>ObjC</string>
  29
+			<key>SUPERCLASS</key>
  30
+			<string>SUWindowController</string>
  31
+		</dict>
  32
+		<dict>
  33
+			<key>CLASS</key>
  34
+			<string>FirstResponder</string>
  35
+			<key>LANGUAGE</key>
  36
+			<string>ObjC</string>
  37
+			<key>SUPERCLASS</key>
  38
+			<string>NSObject</string>
  39
+		</dict>
  40
+		<dict>
  41
+			<key>CLASS</key>
  42
+			<string>NSObject</string>
  43
+			<key>LANGUAGE</key>
  44
+			<string>ObjC</string>
  45
+		</dict>
  46
+	</array>
  47
+	<key>IBVersion</key>
  48
+	<string>1</string>
  49
+</dict>
  50
+</plist>
20  deps/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/info.nib
... ...
@@ -0,0 +1,20 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3
+<plist version="1.0">
  4
+<dict>
  5
+	<key>IBFramework Version</key>
  6
+	<string>667</string>
  7
+	<key>IBLastKnownRelativeProjectPath</key>
  8
+	<string>../Sparkle.xcodeproj</string>
  9
+	<key>IBOldestOS</key>
  10
+	<integer>5</integer>
  11
+	<key>IBOpenObjects</key>
  12
+	<array>
  13
+		<integer>6</integer>
  14
+	</array>
  15
+	<key>IBSystem Version</key>
  16
+	<string>9D34</string>
  17
+	<key>targetFramework</key>
  18
+	<string>IBCocoaFramework</string>
  19
+</dict>
  20
+</plist>
BIN  deps/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
Binary file not shown
67  deps/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/classes.nib
... ...
@@ -0,0 +1,67 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3
+<plist version="1.0">
  4
+<dict>
  5
+	<key>IBClasses</key>
  6
+	<array>
  7
+		<dict>
  8
+			<key>CLASS</key>
  9
+			<string>SUWindowController</string>
  10
+			<key>LANGUAGE</key>
  11
+			<string>ObjC</string>
  12
+			<key>SUPERCLASS</key>
  13
+			<string>NSWindowController</string>
  14
+		</dict>
  15
+		<dict>
  16
+			<key>CLASS</key>
  17
+			<string>NSApplication</string>
  18
+			<key>LANGUAGE</key>
  19
+			<string>ObjC</string>
  20
+			<key>SUPERCLASS</key>
  21
+			<string>NSResponder</string>
  22
+		</dict>
  23
+		<dict>
  24
+			<key>ACTIONS</key>
  25
+			<dict>
  26
+				<key>installUpdate</key>
  27
+				<string>id</string>
  28
+				<key>remindMeLater</key>
  29
+				<string>id</string>
  30
+				<key>skipThisVersion</key>
  31
+				<string>id</string>
  32
+			</dict>
  33
+			<key>CLASS</key>
  34
+			<string>SUUpdateAlert</string>
  35
+			<key>LANGUAGE</key>
  36
+			<string>ObjC</string>
  37
+			<key>OUTLETS</key>
  38
+			<dict>
  39
+				<key>delegate</key>
  40
+				<string>id</string>
  41
+				<key>description</key>
  42
+				<string>NSTextField</string>
  43
+				<key>releaseNotesView</key>
  44
+				<string>WebView</string>
  45
+			</dict>
  46
+			<key>SUPERCLASS</key>
  47
+			<string>SUWindowController</string>
  48
+		</dict>
  49
+		<dict>
  50
+			<key>CLASS</key>
  51
+			<string>FirstResponder</string>
  52
+			<key>LANGUAGE</key>
  53
+			<string>ObjC</string>
  54
+			<key>SUPERCLASS</key>
  55
+			<string>NSObject</string>
  56
+		</dict>
  57
+		<dict>
  58
+			<key>CLASS</key>
  59
+			<string>NSObject</string>
  60
+			<key>LANGUAGE</key>
  61
+			<string>ObjC</string>
  62
+		</dict>
  63
+	</array>
  64
+	<key>IBVersion</key>
  65
+	<string>1</string>
  66
+</dict>
  67
+</plist>
20  deps/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/info.nib
... ...
@@ -0,0 +1,20 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3
+<plist version="1.0">
  4
+<dict>
  5
+	<key>IBFramework Version</key>
  6
+	<string>667</string>
  7
+	<key>IBLastKnownRelativeProjectPath</key>
  8
+	<string>../Sparkle.xcodeproj</string>
  9
+	<key>IBOldestOS</key>
  10
+	<integer>5</integer>
  11
+	<key>IBOpenObjects</key>
  12
+	<array>
  13
+		<integer>6</integer>
  14
+	</array>
  15
+	<key>IBSystem Version</key>
  16
+	<string>9D34</string>
  17
+	<key>targetFramework</key>
  18
+	<string>IBCocoaFramework</string>
  19
+</dict>
  20
+</plist>
BIN  deps/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/keyedobjects.nib
Binary file not shown
59  deps/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/classes.nib
... ...
@@ -0,0 +1,59 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3
+<plist version="1.0">
  4
+<dict>
  5
+	<key>IBClasses</key>
  6
+	<array>
  7
+		<dict>
  8
+			<key>CLASS</key>
  9
+			<string>SUWindowController</string>
  10
+			<key>LANGUAGE</key>
  11
+			<string>ObjC</string>
  12
+			<key>SUPERCLASS</key>
  13
+			<string>NSWindowController</string>
  14
+		</dict>
  15
+		<dict>
  16
+			<key>ACTIONS</key>
  17
+			<dict>
  18
+				<key>finishPrompt</key>
  19
+				<string>id</string>
  20
+				<key>toggleMoreInfo</key>
  21
+				<string>id</string>
  22
+			</dict>
  23
+			<key>CLASS</key>
  24
+			<string>SUUpdatePermissionPrompt</string>
  25
+			<key>LANGUAGE</key>
  26
+			<string>ObjC</string>
  27
+			<key>OUTLETS</key>
  28
+			<dict>
  29
+				<key>delegate</key>
  30
+				<string>id</string>
  31
+				<key>descriptionTextField</key>
  32
+				<string>NSTextField</string>
  33
+				<key>moreInfoButton</key>
  34
+				<string>NSButton</string>
  35
+				<key>moreInfoView</key>
  36
+				<string>NSView</string>
  37
+			</dict>
  38
+			<key>SUPERCLASS</key>
  39
+			<string>SUWindowController</string>
  40
+		</dict>
  41
+		<dict>
  42
+			<key>CLASS</key>
  43
+			<string>FirstResponder</string>
  44
+			<key>LANGUAGE</key>
  45
+			<string>ObjC</string>
  46
+			<key>SUPERCLASS</key>
  47
+			<string>NSObject</string>
  48
+		</dict>
  49
+		<dict>
  50
+			<key>CLASS</key>
  51
+			<string>NSObject</string>
  52
+			<key>LANGUAGE</key>
  53
+			<string>ObjC</string>
  54
+		</dict>
  55
+	</array>
  56
+	<key>IBVersion</key>
  57
+	<string>1</string>
  58
+</dict>
  59
+</plist>
20  deps/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/info.nib
... ...
@@ -0,0 +1,20 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3
+<plist version="1.0">
  4
+<dict>
  5
+	<key>IBFramework Version</key>
  6
+	<string>667</string>
  7
+	<key>IBLastKnownRelativeProjectPath</key>
  8
+	<string>../Sparkle.xcodeproj</string>
  9
+	<key>IBOldestOS</key>
  10
+	<integer>5</integer>
  11
+	<key>IBOpenObjects</key>
  12
+	<array>
  13
+		<integer>6</integer>
  14
+	</array>
  15
+	<key>IBSystem Version</key>
  16
+	<string>9D34</string>
  17
+	<key>targetFramework</key>
  18
+	<string>IBCocoaFramework</string>
  19
+</dict>
  20
+</plist>
BIN  deps/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
Binary file not shown
BIN  deps/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings
Binary file not shown
50  deps/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/classes.nib
... ...
@@ -0,0 +1,50 @@
  1
+<?xml version="1.0" encoding="UTF-8"?>
  2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3
+<plist version="1.0">
  4
+<dict>
  5
+	<key>IBClasses</key>
  6
+	<array>
  7
+		<dict>
  8
+			<key>CLASS</key>
  9
+			<string>SUWindowController</string>
  10
+			<key>LANGUAGE</key>
  11
+			<string>ObjC</string>
  12
+			<key>SUPERCLASS</key>
  13
+			<string>NSWindowController</string>
  14
+		</dict>
  15
+		<dict>
  16
+			<key>ACTIONS</key>
  17
+			<dict>
  18
+				<key>doNotInstall</key>
  19
+				<string>id</string>
  20
+				<key>installLater</key>
  21
+				<string>id</string>
  22
+				<key>installNow</key>
  23
+				<string>id</string>
  24
+			</dict>