From: Georgy B. <cod...@gm...> - 2008-06-09 03:10:17
|
Hello everyone! I have been working in the past on several Zope components and made some further steps to get closer to the point for running core Zope components on Jython. This week I have mainly spend time on getting zope.testing to work correctly, to be able to use it to test other Zope components. A part of the time was spent on getting several Zope components working by modifying code and also getting a working zc.buildout for zope.testing, which is mostly finished now. In addition I was working on getting bootstrap.py to work on Zope, which needed modifications to the code (process execution), but also an implementation for the CPython flag "-m" in Java for Jython, which is mostly done and working. The CPython "-m" flag which is now available for Jython searches for a given module name "foo" in the sys.path and runs the corresponding "foo.py" file as a script. I will upload the patch during the next week, as the code still needs some additional testing and maybe some clean ups. The work was done using Jython trunk and Zope trunk with the following results by now: -zc.buildout: -builds -installs -has local changes to build and install -has local changes to pass several tests -needs stills a lot of work and modifications to pass all tests provided by zope.testing -zope.configuration -builds -will need modifications and a working zope.schema -zope.component: -builds -install fails, has several decorator errors and shows errors within Jython -will need modifications + will resolve Jython error for "from xyz import (abc)" syntax which works on CPython e.g. valid CPython: from os import (sys) Jython error: SyntaxError: invalid syntax -zope.deferredimport -builds -has local changes to build and install -install fails -> depends on zope.proxy, which is not working yet -zope.deprecation -builds -installs -will need testing -zope.event -builds -installs -will need testing -zope.exceptions -builds -installs -will need improved and Jython specific testing -zope.hookable -builds -installs without C extension and crashes therefore -will need C parts to have rewritten in Python or Java -will need better testing after replacing missing C parts on Jython -zope.i18nmessageid -builds -installs without C extension and crashes threfore -will need C parts to have rewritten in Python or Java -will need better testing after replacing missing C parts on Jython -zope.interface: -builds -installs -is working -will need C parts to have rewritten in Python or Java -needs additional Jython testing -zope.proxy -builds -installs without C extension and chrashes therefore -will need C parts to have rewritten in Python or Java -will need better testing after replacing missing C parts on Jython -zope.schema -builds -install runs partly and fails -has lots of errors, which will have to be fixed -zope.testing: -builds -installs -needs work on the extras (e.g. zope.exceptions) within setup.py -needs testing and modifications to pass tests -bootstrap.py support for Jython -needs the "-m" flag from CPython: -m module-name Searches sys.path for the named module and runs the corresponding .py file as a script. -implementation in Java for Jython trunk, which needs some code clean up and some improvements to running modules from sys.path -has replacement for for os.spawnle, using the subprocess module (CPython>=2.4) and Jython trunk During the next week, I will concentrate on working on: -finishing zope.testing -bootstrap.py support -fixing errors within several of the above Zope components -submitting -m to Jython -starting to rewrite the C code in Java, in case that it will take a lot of time I will come up with Python implementations for the missing parts -try to do the majority of the work on getting the above packages bug fixed and also pass more tests -apply additional changes to bootstrap.py in other packages (at the moment: zope.testing) -start to submit code to Zope, when the main tests pass and a fully working zope.testing is available (for now: maybe upload the changes in form of patches on the web) Kind regards and happy hacking, Georgy -- Georgy Berdyshev GPG key: 830F68C5 Fingerprint: 0379 ED5A BEE5 65A8 7BD5 31E7 F5B4 1EC7 830F 68C5 |