mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-08-25 13:07:02 +00:00
Whew, a complete overhaul of my previous complete overhaul. Changes in no particular order: - Redesigned the About box. - Converted tabs to spaces. - Using Lumberjack for (much better) logging. When debugging, copious logging goes only to Xcode's console, not to the system log. In the release build, only basic info and errors goes to the system log. - Reformatted the help using Pages, it's a PDF now (so I can use better fonts). - Massive optimization across the board. All time-consuming operations are done with NSOperation, which uses Grand Central Dispatch, and can be interrupted. So the XCC menu remains fully responsive during source processing. - Updates to the Xcode project are coalesced so only one read/update/write operation is done. - Instead of launching a shell and reading the .profile, the target executable is directly launched, but it must reside somewhere in the default binary path + /usr/local/bin:/usr/local/narwhal/bin:~/bin. If jsc, python, objj and nib2cib cannot be found in that path, the user is alerted and XCC quits. - Added a preference (true by default) to automatically load the Xcode project when a project is opened. - Added a preference to turn off per-file processing notifications. - Added a hidden preference to set the log level. Useful for debugging a user's release build. - Redesigned the Preferences window. - Renamed some methods/properties, eliminated some unused properties. - All of the windows remember their position. - Moved the fsevent_callback into XcodeCapp.m. - Fixed a bug in mod_pbxproj.py not setting the type of PBXFileReferences which are directories to "folder". - Added support for categories in parser.j. Woo-hoo! - Rewrote pbxprojModifier.py to use a class. - Renamed the Xcode project group names to "Cocoa Classes" and "Cappuccino Source". Within "Cappuccino Source", framework code is kept in a "Frameworks" group. - Shadow filenames are all project-relative now, thus *much* shorter. - pbxprojModifier.py keeps the groups and files in the project in sorted order: Resource folders are at the top, followed by Cocoa Classes, followed by Cappuccino Source. Within Cocoa Classes, non-framework files come first, followed by framework files, followed by xcc_general_include.h. - If either .XcodeSupport or the .xcodeproj is missing, the other is regenerated to ensure they stay in sync. - A compatibility version for .XcodeSupport is stored inside it in Info.plist. If that version < the app's compatibility version, the project is reset. This ensures that format changes in the future will not result in projects in an unknown state. - If the Xcode project cannot be opened, the user is alerted and given the option of regenerating the project. - Resetting the project deletes all .cibs to force the .xibs to be regenerated. - All possible FSEvents are dealt with individually now, and in a way that (hopefully) maintains sync between Cappuccino and XCC. - A file descriptor to the Xcode project is kept open so that If the project path changes it can be relocated. If it does move, the user is alerted ad given the option of reloading the project or quitting. - If one of the watched paths changes, the project is reloaded. - Xcode creates temporary files, they are properly filtered out now when handling FSEvents. - NSRegularExpression was being used before, but that is OS X 10.7 only. NSPredicate is used instead now. -
20 lines
575 B
C
20 lines
575 B
C
//
|
|
// Notifications.h
|
|
// XcodeCapp
|
|
//
|
|
// Created by Aparajita on 4/27/13.
|
|
// Copyright (c) 2013 Cappuccino Project. All rights reserved.
|
|
//
|
|
|
|
#ifndef XcodeCapp_Notifications_h
|
|
#define XcodeCapp_Notifications_h
|
|
|
|
extern NSString * const XCCProjectDidFinishLoadingNotification;
|
|
extern NSString * const XCCBatchDidStartNotification;
|
|
extern NSString * const XCCBatchDidEndNotification;
|
|
extern NSString * const XCCConversionDidStartNotification;
|
|
extern NSString * const XCCConversionDidEndNotification;
|
|
extern NSString * const XCCConversionDidGenerateErrorNotification;
|
|
|
|
#endif
|