Changeset 3257

Show
Ignore:
Timestamp:
06/06/06 02:45:06 (2 years ago)
Author:
timothy
Message:

Switch over to use Sparkle to report application updates. Also build numbers are now SVN revision numbers, automatically set with an Xcode script.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Colloquy.xcodeproj/project.pbxproj

    r3254 r3257  
    5050                1C2462A505F9205900505752 /* JVStyleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C2462A305F9205900505752 /* JVStyleView.m */; }; 
    5151                1C2E98C406207AD0000715D8 /* half-op.png in Resources */ = {isa = PBXBuildFile; fileRef = 1C2E98C306207AD0000715D8 /* half-op.png */; }; 
     52                1C2EDD790A3551B70051E9C2 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1C2EDD660A3551B60051E9C2 /* Sparkle.framework */; }; 
     53                1C2EDDA10A35530F0051E9C2 /* Sparkle.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 1C2EDD660A3551B60051E9C2 /* Sparkle.framework */; }; 
    5254                1C3972DE082D30D200DCF3CF /* JVChatTranscriptBrowserPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C3972DC082D30D200DCF3CF /* JVChatTranscriptBrowserPanel.m */; }; 
    5355                1C39736A082D3ED000DCF3CF /* JVChatTranscriptBrowserPanel.nib in Resources */ = {isa = PBXBuildFile; fileRef = 1C397368082D3ED000DCF3CF /* JVChatTranscriptBrowserPanel.nib */; }; 
     
    7981                1C710A0209F23730007B4515 /* JVSidebarChatWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C710A0009F23730007B4515 /* JVSidebarChatWindowController.m */; }; 
    8082                1C710A2009F2396C007B4515 /* JVSidebarChatWindow.nib in Resources */ = {isa = PBXBuildFile; fileRef = 1C710A1F09F2396C007B4515 /* JVSidebarChatWindow.nib */; }; 
    81                 1C710A6B09F23AF0007B4515 /* JVSideSplitView.h in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 1C710A6509F23AF0007B4515 /* JVSideSplitView.h */; }; 
    8283                1C710A6C09F23AF0007B4515 /* JVSideSplitView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C710A6609F23AF0007B4515 /* JVSideSplitView.m */; }; 
    83                 1C710A6D09F23AF0007B4515 /* JVSideStatusView.h in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 1C710A6709F23AF0007B4515 /* JVSideStatusView.h */; }; 
    8484                1C710A6E09F23AF0007B4515 /* JVSideStatusView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C710A6809F23AF0007B4515 /* JVSideStatusView.m */; }; 
    85                 1C710A6F09F23AF0007B4515 /* JVSideOutlineView.h in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 1C710A6909F23AF0007B4515 /* JVSideOutlineView.h */; }; 
    8685                1C710A7009F23AF0007B4515 /* JVSideOutlineView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C710A6A09F23AF0007B4515 /* JVSideOutlineView.m */; }; 
    8786                1C710ABE09F23D9C007B4515 /* sidebarActionWidget.png in Resources */ = {isa = PBXBuildFile; fileRef = 1C710ABA09F23D9C007B4515 /* sidebarActionWidget.png */; }; 
     
    194193                1CB2CD65052DDC560094AAA4 /* MVTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = F599994901890E4601EE70DE /* MVTextView.m */; }; 
    195194                1CB2CD67052DDC560094AAA4 /* MVCrashCatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = F555208701F0DC2B01EE70DE /* MVCrashCatcher.m */; }; 
    196                 1CB2CD68052DDC560094AAA4 /* MVSoftwareUpdate.m in Sources */ = {isa = PBXBuildFile; fileRef = F5BEC21401F2256301EE70DE /* MVSoftwareUpdate.m */; }; 
    197195                1CB2CD69052DDC560094AAA4 /* MVKeyChain.m in Sources */ = {isa = PBXBuildFile; fileRef = F551EE490209FB3301EE70DE /* MVKeyChain.m */; }; 
    198196                1CB2CD6A052DDC560094AAA4 /* MVFileTransferController.m in Sources */ = {isa = PBXBuildFile; fileRef = F51A4F2B01C2DDD201EE70DE /* MVFileTransferController.m */; }; 
     
    416414                                1C6C75490630AD9500698F55 /* AGRegex.framework in Copy Frameworks */, 
    417415                                1CF5F8DD07D537F70019DC13 /* Growl.framework in Copy Frameworks */, 
    418                                 1C710A6B09F23AF0007B4515 /* JVSideSplitView.h in Copy Frameworks */, 
    419                                 1C710A6D09F23AF0007B4515 /* JVSideStatusView.h in Copy Frameworks */, 
    420                                 1C710A6F09F23AF0007B4515 /* JVSideOutlineView.h in Copy Frameworks */, 
     416                                1C2EDDA10A35530F0051E9C2 /* Sparkle.framework in Copy Frameworks */, 
    421417                        ); 
    422418                        name = "Copy Frameworks"; 
     
    510506                1C2E98C306207AD0000715D8 /* half-op.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "half-op.png"; path = "Resources/half-op.png"; sourceTree = "<group>"; }; 
    511507                1C2E98C506207AE1000715D8 /* half-op-idle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "half-op-idle.png"; path = "Resources/half-op-idle.png"; sourceTree = "<group>"; }; 
     508                1C2EDD660A3551B60051E9C2 /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Sparkle.framework; path = Frameworks/Sparkle.framework; sourceTree = SOURCE_ROOT; }; 
    512509                1C2EF7EB0427A40B00000102 /* MVChatPluginManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MVChatPluginManager.h; path = "Chat Core/MVChatPluginManager.h"; sourceTree = "<group>"; }; 
    513510                1C3972DB082D30D200DCF3CF /* JVChatTranscriptBrowserPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JVChatTranscriptBrowserPanel.h; path = Panels/JVChatTranscriptBrowserPanel.h; sourceTree = "<group>"; }; 
     
    981978                F5BEC20D01F1EF1901EE70DE /* admin.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = admin.png; path = Resources/admin.png; sourceTree = "<group>"; }; 
    982979                F5BEC20E01F1EF1901EE70DE /* admin-idle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "admin-idle.png"; path = "Resources/admin-idle.png"; sourceTree = "<group>"; }; 
    983                 F5BEC21401F2256301EE70DE /* MVSoftwareUpdate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MVSoftwareUpdate.m; path = Controllers/MVSoftwareUpdate.m; sourceTree = "<group>"; }; 
    984                 F5BEC21501F2256301EE70DE /* MVSoftwareUpdate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MVSoftwareUpdate.h; path = Controllers/MVSoftwareUpdate.h; sourceTree = "<group>"; }; 
    985980                F5C3D42303973E7B01000102 /* addWidget.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = addWidget.png; sourceTree = "<group>"; }; 
    986981                F5C3D42403973E7B01000102 /* addWidgetSelected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = addWidgetSelected.png; sourceTree = "<group>"; }; 
     
    10601055                                1CEEAB17095BD23500166A54 /* ChatCore.framework in Frameworks */, 
    10611056                                1CC1AE630A2987E20000A797 /* sqlite3.a in Frameworks */, 
     1057                                1C2EDD790A3551B70051E9C2 /* Sparkle.framework in Frameworks */, 
    10621058                        ); 
    10631059                        runOnlyForDeploymentPostprocessing = 0; 
     
    11311127                                1CF8030D070C893500C9B54C /* libsilcclient.framework */, 
    11321128                                1CF5F8D107D537E50019DC13 /* Growl.framework */, 
     1129                                1C2EDD660A3551B60051E9C2 /* Sparkle.framework */, 
    11331130                                1CC1AE400A2987230000A797 /* sqlite3.a */, 
    11341131                        ); 
     
    15061503                                F555208701F0DC2B01EE70DE /* MVCrashCatcher.m */, 
    15071504                                F555208801F0DC2B01EE70DE /* MVCrashCatcher.h */, 
    1508                                 F5BEC21401F2256301EE70DE /* MVSoftwareUpdate.m */, 
    1509                                 F5BEC21501F2256301EE70DE /* MVSoftwareUpdate.h */, 
    15101505                        ); 
    15111506                        name = Controllers; 
     
    18581853                                1CF038FF062F8DBB009774D8 /* Touch Styles & Emoticons */, 
    18591854                                1C91DEAC06972EC0007C1638 /* Remove Headers */, 
     1855                                1C2EDE8B0A3568EF0051E9C2 /* Update Build Number */, 
    18601856                        ); 
    18611857                        buildRules = ( 
     
    22072203 
    22082204/* Begin PBXShellScriptBuildPhase section */ 
     2205                1C2EDE8B0A3568EF0051E9C2 /* Update Build Number */ = { 
     2206                        isa = PBXShellScriptBuildPhase; 
     2207                        buildActionMask = 2147483647; 
     2208                        files = ( 
     2209                        ); 
     2210                        inputPaths = ( 
     2211                        ); 
     2212                        name = "Update Build Number"; 
     2213                        outputPaths = ( 
     2214                        ); 
     2215                        runOnlyForDeploymentPostprocessing = 0; 
     2216                        shellPath = /usr/bin/perl; 
     2217                        shellScript = "# Xcode auto-versioning script for Subversion\n# by Axel Andersson, modified by Daniel Jalkut\n\nuse strict;\n\ndie \"$0: Must be run from Xcode\" unless $ENV{\"BUILT_PRODUCTS_DIR\"};\n\n# Get the current subversion revision number and use it to set the CFBundleVersion value\nmy $REV = `/usr/local/bin/svnversion -n ./`;\nmy $INFO = \"$ENV{BUILT_PRODUCTS_DIR}/$ENV{WRAPPER_NAME}/Contents/Info.plist\";\n\nmy $version = $REV;\n\n# (Match the last group of digits and optional letter M/S):\n($version =~ m/\\d+[MS]*$/) && ($version = $&);\n\ndie \"$0: No Subversion revision found\" unless $version;\n\nopen(FH, \"$INFO\") or die \"$0: $INFO: $!\";\nmy $info = join(\"\", <FH>);\nclose(FH);\n\n$info =~ s/(\\s+<key>CFBundleVersion<\\/key>\\s+<string>).*?(<\\/string>)/$1$version$2/;\n\nopen(FH, \">$INFO\") or die \"$0: $INFO: $!\";\nprint FH $info;\nclose(FH);\n"; 
     2218                }; 
    22092219                1C7A60B509FDE8560029AC64 /* Run Tests */ = { 
    22102220                        isa = PBXShellScriptBuildPhase; 
     
    22332243                        runOnlyForDeploymentPostprocessing = 0; 
    22342244                        shellPath = /bin/sh; 
    2235                         shellScript = "find \"$TARGET_BUILD_DIR/$WRAPPER_NAME\" -name 'Headers' -print0 | xargs -0 rm -rf\n"; 
     2245                        shellScript = "find \"$TARGET_BUILD_DIR/$WRAPPER_NAME\" -name 'Headers' -delete\n"; 
    22362246                }; 
    22372247                1CAF6496099EA9350036A727 /* Unarchive Frameworks */ = { 
     
    22452255                        name = "Unarchive Frameworks"; 
    22462256                        outputPaths = ( 
     2257                                "$(SRCROOT)/Frameworks/Sparkle.framework", 
    22472258                                "$(SRCROOT)/Frameworks/Growl.framework", 
    22482259                                "$(SRCROOT)/Frameworks/libsilc.framework", 
     
    22982309                                1CB2CD65052DDC560094AAA4 /* MVTextView.m in Sources */, 
    22992310                                1CB2CD67052DDC560094AAA4 /* MVCrashCatcher.m in Sources */, 
    2300                                 1CB2CD68052DDC560094AAA4 /* MVSoftwareUpdate.m in Sources */, 
    23012311                                1CB2CD69052DDC560094AAA4 /* MVKeyChain.m in Sources */, 
    23022312                                1CB2CD6A052DDC560094AAA4 /* MVFileTransferController.m in Sources */, 
  • trunk/Controllers/MVApplicationController.h

    r3072 r3257  
    44extern NSString *JVMachineStoppedIdlingNotification; 
    55 
    6 @class JVChatTranscriptBrowserPanel
     6@class SUUpdater
    77 
    88@interface MVApplicationController : NSObject { 
    99        io_registry_entry_t _hidEntry; 
    1010        NSTimer *_idleCheck; 
     11        SUUpdater *_updater; 
    1112        NSTimeInterval _lastIdle; 
    1213        BOOL _isIdle; 
  • trunk/Controllers/MVApplicationController.m

    r3246 r3257  
    44#import "JVChatWindowController.h" 
    55#import "MVCrashCatcher.h" 
    6 #import "MVSoftwareUpdate.h" 
    76#import "JVInspectorController.h" 
    87#import "JVPreferencesController.h" 
     
    2423#import "JVChatTranscriptBrowserPanel.h" 
    2524 
     25#import <Sparkle/SUUpdater.h> 
    2626#import <Foundation/NSDebug.h> 
    2727 
     
    131131 
    132132- (IBAction) checkForUpdate:(id) sender { 
    133         [MVSoftwareUpdate checkAutomatically:NO]; 
     133        if( ! _updater ) _updater = [[SUUpdater allocWithZone:nil] init]; 
     134        [_updater checkForUpdates:sender]; 
    134135} 
    135136 
     
    384385        [MVCrashCatcher check]; 
    385386 
    386         if( [[NSUserDefaults standardUserDefaults] boolForKey:@"JVEnableAutomaticSoftwareUpdateCheck"] ) 
    387                 [MVSoftwareUpdate checkAutomatically:YES]; 
     387        if( [[NSUserDefaults standardUserDefaults] boolForKey:@"JVEnableAutomaticSoftwareUpdateCheck"] ) { 
     388                _updater = [[SUUpdater allocWithZone:nil] init]; 
     389                [_updater checkForUpdatesInBackground]; 
     390                [_updater scheduleCheckWithInterval:60. * 60. * 12.]; // check every 12 hours 
     391        } 
    388392 
    389393        [[MVColorPanel sharedColorPanel] attachColorList:[[[NSColorList alloc] initWithName:@"Chat" fromFile:[[NSBundle mainBundle] pathForResource:@"Chat" ofType:@"clr"]] autorelease]]; 
  • trunk/Resources/Info.plist

    r3249 r3257  
    107107        <string>10.3.9</string> 
    108108        <key>CFBundleVersion</key> 
    109         <string>2D43 source</string> 
     109        <string>source</string> 
    110110        <key>MVChatCoreCTCPVersionReplyInfo</key> 
    111111        <string>http://colloquy.info</string> 
     
    203203        <key>SmartCrashReports_URL</key> 
    204204        <string>http://www.colloquy.info/crash.php</string> 
     205        <key>SUFeedURL</key> 
     206        <string>http://www.colloquy.info/update.php?rss</string> 
     207        <key>SUCheckAtStartup</key> 
     208        <false/> 
     209        <key>SUAllowsAutomaticUpdates</key> 
     210        <true/> 
    205211</dict> 
    206212</plist>