adium/adium

334dc418b409
file isExecutable
Transition Adium from SenTestingKit to XCTest.

In order to build on OS X 10.11, Xcode 7.2, several changes have been made that are outlined:
- Unit tests Target Build Settings modified:
* 'Wrapper Extension' set to 'xctest'
* 'Enable Modules (C and Objective-C)' set to 'Yes'
- UnitTests Target of AutoHyperlink.framework Build Settings modified:
* 'Wrapper Extension' set to 'xctest'
* 'Enable Modules (C and Objective-C)' set to 'Yes'
* 'Other Linker Flags' removed '-framework SenTestingKit'
- 'SenTestingKit.framework' removed from Adium -> Linked Frameworks -> System
- 'SenTestingKit.framework' removed from Adium -> Linked Frameworks -> AutoHyperlinks.framework.xcodeproj -> External Frameworks and Libraries -> Linked Frameworks
- Find and Replace within 'Adium/Unit tests' && 'Adium/Linked Frameworks/Others/AutoHyperlinks.framework.xcodeproj/UnitTests'
* '' to ''
* 'SenTestCase' to 'XCTestCase'
* 'STAssert' to 'XCTAssert'
* 'XCTAssertEquals(' to 'XCTAssertEqual('
* regex '(\[\[\[)([^\]]*\][^\]]*\])(\ autorelease\]);' to '[[$2;'
* regex '(\[)([^\]]*\][^\]]*)(\ autorelease\])' to '$2'
- modified AutoHyperlinks.framework.xcodeproj -> project.pbxproj
* line 331: ’productType = "com.apple.product-type.bundle.ocunit-test";' to 'productType = "com.apple.product-type.bundle.unit-test";'
- AIWebKitMessageViewController.h
* forward declare WebUIDelegate, WebFrameLoadDelegate protocols
* add WebUIDelegate, WebFrameLoadDelegate protocols to 'AIWebKitMessageViewController' class
- AIFacebookXMPPOAuthWebViewWindowController.m lines 107 && 108
* '[[domDoc getElementById:@"email"] setValue:self.autoFillUsername];' to '[domDoc getElementById:@"email"].innerHTML = self.autoFillUsername;'
* '[[domDoc getElementById:@"pass"] setValue:self.autoFillPassword];' to '[domDoc getElementById:@"pass"].innerHTML = self.autoFillPassword;'
- XCTAssertEqual for NSRanges modified to ’XCTAssertTrue(NSEqualRanges(range1, range2)), ...)' in Unit tests
#!/bin/bash -eu
ROOTDIR=$(pwd)
if ! expr "$ROOTDIR" : '.*/Dependencies$' &> /dev/null; then
error "Please run this script from the Dependencies directory."
exit 1
fi
ADIUM="`dirname $0`/.."
# Don't allow any out-of-date plugins to hang around and be subsequently laoded
rm -rf "$ADIUM/Frameworks/libgstreamer.framework/PlugIns"
cp -Rf "$ROOTDIR"/Frameworks/*.subproj/*.framework "$ADIUM/Frameworks/" || TRUE
# These libgst plugins cause problems in gst_init if present; we shouldn't
# be building them at all.
rm "$ADIUM/Frameworks/libgstreamer.framework/PlugIns/libgstwavenc.so"
rm "$ADIUM/Frameworks/libgstreamer.framework/PlugIns/libgstwavparse.so"
rm "$ADIUM/Frameworks/libgstreamer.framework/PlugIns/libgsty4menc.so"
echo "Cleaning the Adium built products"
pushd "$ADIUM/build" > /dev/null 2>&1
rm -rf */AdiumLibpurple.framework
rm -rf */*/Adium.app/Contents/Frameworks/lib*
popd > /dev/null 2>&1
echo "Done - now build Adium"