|
|
CONTENTSDirectory structure
changes |
Many changes have occured in Rhapsody since first Developer Release. Some of them shouldn't significantly impact developers' current development efforts but others will. This technote should provide everything you need to know to prepare for this new release. |
Directory structure changesThe first Rhapsody Developer Release still retained much of its OpenStep and NeXTStep flavor, and a number of its directories at the first level had names starting with "Next" (i.e., "NextAdmin", "NextApps", "NextDeveloper", and "NextLibrary"). In Rhapsody Developer Release 2, these directories no longer exist. Instead there is one directory at the first level, "System", which contains other directories such as "Administration", "Applications", "Developer", "Library", etc. Also at the first level is the "Local" directory, whose contents parallels the contents of "System". Impact on applicationsIf your application somehow relies on the old directory name structure (as, for example, by using hard-coded paths in the source code), then it is in trouble. If the four "Next..." links previously mentioned are provided (or if you recreate them yourself), then your application will still work (for a time). One way to test your application on DR1 is to remove or rename the four links, launch your app, and see what happens. Impact on the development environmentSince the makefiles (and other elements in the PB.project file) you've been using within ProjectBuilder depend on the old directory structure, a tool called "ConvertMakefilesToNewDirs" is provided with DR2 to help with the conversion of a project to the new directory structure. This tool can be found at /System/Developer/Makefiles/Conversion/ along with its documentation, ConvertMakefilesReadMe.rtf, which explains how to use the tool. Once the project has been updated, another tool called "SearchForOldDirs" may help you find hard-coded references to the old directory structure within your source code. This tool is found at the same location, and is also documented in ConvertMakefilesReadMe.rtf. |
Java changesIn Rhapsody Developer Release 1, a subset of the YellowBox APIs were provided in the com.apple.alpha.* path. Although these APIs remain available, nearly all of them are deprecated and developers should use instead com.apple.yellow.foundation.* and com.apple.yellow.application.*. Use the JavaBrowser application (available through the Apple Menu) to inspect the contents of those APIs. Most of the YellowBox APIs are now available in Java. |
Boot changesIf you have a MacOS partition (as well as Rhapsody)on your PowerPC configuration, you can, at boot time, hold down the "m" key to boot into Mac OS, or hold down the "r" key to boot into Rhapsody. |
User Interface changesAs soon as you launch the new Rhapsody Release, you'll immediately notice a different look and feel. Aside from requiring a few minor modifications to your nib files with Interface Builder, these changes shouldn't impact your projects. Hide/Hide Others/Show OthersYou no longer have to deal with these items which are managed in the Process Menu (on the right side on the Menu bar). Application MenuYou should have one and only one menu item in this menu and that is your "About myapplication...". If you have a "Preferences..." menu item, its recommended location is, preceded by a separator, at the end of the Edit menu. Tear-Off MenusAll menus can now be torn-off from the Menu bar. Undo/Redo menu items to connect to First ResponderIf you implement the Cut, Copy, and Paste menu items of the Edit menu, it's recommended that you also implement the Undo and Redo menu items. |
Unix commandsAlthough most developers won't care about these changes, it is worthwhile to note that some commands have been moved to new locations. The impact should be minimal, and if you need to know where a specific command is, you can locate it from the Terminal application with the command: find / -name "mycommand" -print -xdev |
SummaryThe biggest change for developers is the new directory structure which requires a project's makefiles update and a source code review for hard-coded references to the old directory structure. For more information about other changes and new stuff in Rhapsody Developer Release 2, please consult the Release Notes at: /System/Documentation/Developer/YellowBox/ReleaseNotes/. |
Thanks to Tim Carroll and Deborah Grits and special thanks to Dave Payne.