Added a workaround for shortcomings in the OSA support: there can be class/property conflicts and passing classes as arguments doesn't work. The package now seems to work.
diff --git a/Mac/Lib/mkcwproject/__init__.py b/Mac/Lib/mkcwproject/__init__.py
index 8bd3a8d..6551b22 100644
--- a/Mac/Lib/mkcwproject/__init__.py
+++ b/Mac/Lib/mkcwproject/__init__.py
@@ -40,12 +40,13 @@
 	#
 	# Generate the project from the xml
 	#
+	makeproject(dictcopy['mac_projectxmlname'], outputfile)
+	
+def makeproject(xmlfile, projectfile):
 	cw = cwtalker.MyCodeWarrior(start=1)
 	cw.send_timeout = AppleEvents.kNoTimeOut
-##	xmlfss = macfs.FSSpec(dictcopy['mac_projectxmlname'])
-##	prjfss = macfs.FSSpec(outputfile)
-	xmlfss = dictcopy['mac_projectxmlname']
-	prjfss = outputfile
+	xmlfss = macfs.FSSpec(xmlfile)
+	prjfss = macfs.FSSpec(projectfile)
 	cw.activate()
 	cw.my_mkproject(prjfss, xmlfss)
 	
diff --git a/Mac/Lib/mkcwproject/cwtalker.py b/Mac/Lib/mkcwproject/cwtalker.py
index 3b2d3b4..650fd43 100644
--- a/Mac/Lib/mkcwproject/cwtalker.py
+++ b/Mac/Lib/mkcwproject/cwtalker.py
@@ -1,4 +1,14 @@
 import CodeWarrior
+import aetools
+import aetypes
+
+# There is both a class "project document" and a property "project document".
+# We want the class, but the property overrides it.
+#
+##class project_document(aetools.ComponentItem):
+##	"""project document - a project document """
+##	want = 'PRJD'
+project_document=aetypes.Type('PRJD')
 
 class MyCodeWarrior(CodeWarrior.CodeWarrior):
 	# Bug in the CW OSA dictionary
@@ -23,4 +33,4 @@
 			return _arguments['----']
 
 	def my_mkproject(self, prjfile, xmlfile):
-		self.make(new=CodeWarrior.project_document(), with_data=xmlfile, as=prjfile)
+		self.make(new=project_document, with_data=xmlfile, as=prjfile)