Wiki source code of Migrating from XCode to WOLips

Version 29.1 by Pascal Robert on 2007/07/20 21:47

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, install [[Eclipse>>http://www.eclipse.org]] (3.2.x series)
4
5 * After installating Eclipse, start it and follow the [[instructions>>Install WOLips with Eclipse Update Manager]] from this wiki.
6
7 * WOLips is installed ?  You can start migrating.
8
9 * You have three choices for migrations for projects.  You can do a manual configuration, you can use a [[Java tool>>http://community.os.ca/code/webobjects/XCodeMigration-1.0.tgz]] written by [[Pascal Robert>>http://www.os.ca/english/pages/equipe/probert.html]] or you can use the "[[fleeto>>http://www.global-village.net/migrate.to.eclipse/home]]" script from Chuck Hill over at Global Village.
10 ** If you are using Pascal's tool, please note that it does the following :
11 *** It use a XML configuration file, and you can convert multiple projects at the same time
12 *** It parse the original Xcode project by creating a readable plist with /Developer/Tools/pbprojectdump
13 *** It create a new WOLips project for each Xcode project listed in the XML configuration file
14 *** It finds all files to copy from the Xcode and copy them to the newly created WOLips project
15 **** Java files (.java) are copied to the Sources folder
16 **** Components (.wo) and API (.api) files are copied to the Components folder
17 **** Files ending with "Properties" are copied to the Resources folder
18 **** EOModels (.eomodeld) are copied to the Resources folder
19 **** Properties files (.prop and .properties) are copied to the Resources folder
20 **** ReportMill reports (.rpt) are copied to the Resources folder
21 **** Java libs (.jar) are copied to the Librairies folder
22 **** Direct2Web rules (.d2wmodel) are copied to the Resources folder
23 **** EOGenerator templates (.eotemplate) are copied to the Resources folder
24 **** All other files are copied into the WebServerResources folder
25 *** If MacRoman encoding is found for a file, it will the convert the file to UTF-8
26 *** Have a look at the Readme file included with the tool to find out how to use it
27 ** If you are using Chuck's script, please note that it does the following :
28 *** Checks to see if you actually created a project with a Wonder layout in Eclipse (the script looks for a .project file)
29 *** Checks to see if the current folder (the original XCode project) has a .xcodeproj file
30 *** Does a find of all .java files in the XCode project folder and copies them over to the "Sources" folder of the Eclipse project
31 *** Copies all .wo and .api files found in the root folder of the XCode folder into the "Components" folder of the Eclipse project
32 *** 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
33 *** 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
34 ** 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
35 ** You didn't use Chuck's script ?
36 *** Copy the files as the script does. Don't forget that if your code is inside packages, you have to create the complete folder structure in the Eclipse project (in fact, you do it at the file system level) and move your code to the correct folder (example : if your package name is "org.objectstyle.migration", you have to create this folder structure, "org/objectstyle/migration", in the "Sources" folder and move the source files there).
37
38 * 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.
39 ** 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.