Wiki source code of Migrating from XCode to WOLips

Version 22.1 by Pascal Robert on 2007/12/08 21:44

Show last authors
1 As you know, if you plan to continue using WebObjects since Apple deprecated EOModeler, WebObjects Builder and RuleModeler.  So, what's the steps to migrate ?
2
3 First, you need to install the WebObjects frameworks. On Leopard (Mac OS X 10.5), the frameworks are available in the [[Xcode 3.0>>http://developer.apple.com/tools/download/]] package. On Tiger (Mac OS X 10.4), the frameworks are available in the [[Xcode 2.5>>http://developer.apple.com/tools/download/]].
4
5 Second part, you need to install [[Eclipse>>http://www.eclipse.org/downloads/download.php?file=//eclipse/downloads/drops/R-3.3.1.1-200710231652/eclipse-SDK-3.3.1.1-macosx-carbon.tar.gz]] (3.3.11 series).
6
7 After installating Eclipse, start it and follow the [[instructions>>Install WOLips with Eclipse Update Manager]] from this wiki.
8
9 Everything is is installed ? You can start migrating.
10
11 * You have three choices for migrations for projects.  You can do a [[manual migration>>Import an Xcode project into WOLips]], you can use a [[Java tool>>http://community.os.ca/code/webobjects/XCodeMigration-1.0.tgz]] written by [[Pascal Robert>>mailto:probert@os.ca]] or you can use the "[[fleeto>>http://www.global-village.net/migrate.to.eclipse/home]]" script from Chuck Hill over at Global Village.
12 ** If you are using Pascal's tool, please note that it does the following :
13 *** It use a XML configuration file, and you can convert multiple projects at the same time
14 *** It parse the original Xcode project by creating a readable plist with /Developer/Tools/pbprojectdump
15 *** It create a new WOLips project for each Xcode project listed in the XML configuration file
16 *** It finds all files to copy from the Xcode and copy them to the newly created WOLips project
17 **** Java files (.java) are copied to the Sources folder
18 **** Components (.wo) and API (.api) files are copied to the Components folder
19 **** Files ending with "Properties" are copied to the Resources folder
20 **** EOModels (.eomodeld) are copied to the Resources folder
21 **** Properties files (.prop and .properties) are copied to the Resources folder
22 **** ReportMill reports (.rpt) are copied to the Resources folder
23 **** Java libs (.jar) are copied to the Librairies folder
24 **** Direct2Web rules (.d2wmodel) are copied to the Resources folder
25 **** EOGenerator templates (.eotemplate) are copied to the Resources folder
26 **** All other files are copied into the WebServerResources folder
27 *** If MacRoman encoding is found for a file, it will the convert the file to UTF-8
28 *** Have a look at the Readme file included with the tool to find out how to use it
29 ** If you are using Chuck's script, please note that it does the following :
30 *** Checks to see if you actually created a project with a Wonder layout in Eclipse (the script looks for a .project file)
31 *** Checks to see if the current folder (the original XCode project) has a .xcodeproj file
32 *** Does a find of all .java files in the XCode project folder and copies them over to the "Sources" folder of the Eclipse project
33 *** Copies all .wo and .api files found in the root folder of the XCode folder into the "Components" folder of the Eclipse project
34 *** Copies all .eomodeld, .plist, .txt, .html, .xml and the Properties files found in the root folder of the XCode folder into the "Resources" folder of the Eclipse project
35 *** Copies all .gif, .jpeg, .js, .css and .map files found in the root folder of the XCode folder into the "WebServerResources" folder of the Eclipse project
36 ** So if you have files (for examples, your .wo files were in a WOComponents folder), you either have to modify the script or move the files by hand
37 ** You didn't use Chuck's script ?  Check out this [[page>>Import an Xcode project into WOLips]].
38
39 * Go back to Eclipse, right-click and hit "Refresh". You should see your files in the various folders, and Eclipse will automatically build your project. After that, you just need to check for any errors and warnings and fix them.
40 ** In our case, we had old EOModels that where using NSdoubleNumber instead of NSNumber. BUT Entity Modeler won't show those errors inside Eclipse, instead you will see blank stuff. You see the actual errors in Console.app instead, so be sure to check that log if you have any strange errors.