From: <fwi...@us...> - 2006-05-30 02:45:55
|
Revision: 2784 Author: fwierzbicki Date: 2006-05-29 19:45:45 -0700 (Mon, 29 May 2006) ViewCVS: http://svn.sourceforge.net/jython/?rev=2784&view=rev Log Message: ----------- re-org websites. Modified Paths: -------------- trunk/website/Project/bugs.txt trunk/website/build.xml trunk/website/jeps/jep-0000.txt Added Paths: ----------- trunk/website/left.nav Removed Paths: ------------- trunk/website/Project/left.nav trunk/website/go.sh Modified: trunk/website/Project/bugs.txt =================================================================== --- trunk/website/Project/bugs.txt 2006-05-29 20:10:23 UTC (rev 2783) +++ trunk/website/Project/bugs.txt 2006-05-30 02:45:45 UTC (rev 2784) @@ -8,8 +8,9 @@ The Jython project uses SourceForge's bug tracking facility. Go to http://sourceforge.net/bugs/?group_id=12867 for all bug management needs. +--------------------------------- Using the sourceforge bug manager -================================= +--------------------------------- By default, you will see the list of all Open bugs. You can change which bugs you're viewing by selecting the assigned_to/status/area/type select boxes. To submit a bug, use the "Submit a Bug" link, near the top of the page. Deleted: trunk/website/Project/left.nav =================================================================== --- trunk/website/Project/left.nav 2006-05-29 20:10:23 UTC (rev 2783) +++ trunk/website/Project/left.nav 2006-05-30 02:45:45 UTC (rev 2784) @@ -1,23 +0,0 @@ -section | About -menupageitem | Welcome | index.html -menupageitem | License | license.html -menupageitem | Old Website | ../old.html -menupageitem | User FAQ | userfaq.html -menupageitem | News | news.html -menupageitem | History | history.html -menupageitem | Download | download.html -menupageitem | User Guide | userguide.html -#menupageitem | Books and Articles | books_articles.html -#menupageitem | CPython comparison | differences.html -menupageitem | Related Projects | related.html -section | Community -menupageitem | Reporting Bugs | bugs.html -menupageitem | Developer FAQ | devfaq.html -menupageitem | Developer Guide | devguide.html -#menupageitem | To Do List | todo.html -menupageitem | Contributors | contributors.html -section | -raw | <div style="height:1em"></div> -image | ../css/PythonPoweredSmall.gif | http://www.python.org -raw | <div style="height:1em"></div> -image | http://sourceforge.net/sflogo.php?group_id=12867 | http://sourceforge.net Modified: trunk/website/build.xml =================================================================== --- trunk/website/build.xml 2006-05-29 20:10:23 UTC (rev 2783) +++ trunk/website/build.xml 2006-05-30 02:45:45 UTC (rev 2784) @@ -42,6 +42,8 @@ <exclude name="dist"/> </fileset> </copy> + <copy todir="dist/Project" file="left.nav" /> + <copy todir="dist/jeps" file="left.nav" /> <apply verbose="true" executable="${rst2jysite.command}" dest="dist"> <arg line="--link-stylesheet" /> <arg line="--stylesheet=../css/html4css1.css" /> Deleted: trunk/website/go.sh =================================================================== --- trunk/website/go.sh 2006-05-29 20:10:23 UTC (rev 2783) +++ trunk/website/go.sh 2006-05-30 02:45:45 UTC (rev 2784) @@ -1,5 +0,0 @@ -#!/bin/bash - -#example command line to apply docutils to a single document. -rst2jysite --link-stylesheet --stylesheet=../css/html4css1.css Project/userdoc.txt Project/userdoc.html - Modified: trunk/website/jeps/jep-0000.txt =================================================================== --- trunk/website/jeps/jep-0000.txt 2006-05-29 20:10:23 UTC (rev 2783) +++ trunk/website/jeps/jep-0000.txt 2006-05-30 02:45:45 UTC (rev 2784) @@ -29,31 +29,31 @@ I 0 Index of Jython Enhancement Proposals Wierzbicki P 1 JEP Purpose and Guidelines Wierzbicki -..TODO I 3 Guidelines for Handling Bug Reports Wierzbicki -..TODO I 7 Style Guide for Java Code Wierzbicki -..TODO P 3000 Jython 3000 Wierzbicki +.. I 3 Guidelines for Handling Bug Reports Wierzbicki +.. I 7 Style Guide for Java Code Wierzbicki +.. P 3000 Jython 3000 Wierzbicki Other Informational JEPs I 100 Python PEPs observed by Jython Wierzbicki -..TODO I 101 Doing Jython Releases 101 Wierzbicki -..TODO I 102 Doing Jython Micro Releases Wierzbicki +.. I 101 Doing Jython Releases 101 Wierzbicki +.. I 102 Doing Jython Micro Releases Wierzbicki Numerical Index num title owner --- ----- ----- I 0 Index of Jython Enhancement Proposals Wierzbicki -..TODO P 1 JEP Purpose and Guidelines Wierzbicki -..TODO I 3 Guidelines for Handling Bug Reports Wierzbicki -..TODO I 7 Style Guide for Java Code Wierzbicki +.. P 1 JEP Purpose and Guidelines Wierzbicki +.. I 3 Guidelines for Handling Bug Reports Wierzbicki +.. I 7 Style Guide for Java Code Wierzbicki I 100 Python PEPs observed by Jython Wierzbicki -..TODO I 101 Doing Jython Releases 101 Wierzbicki -..TODO I 102 Doing Jython Micro Releases Wierzbicki +.. I 101 Doing Jython Releases 101 Wierzbicki +.. I 102 Doing Jython Micro Releases Wierzbicki -..TODO I 200 Jython 2.2 Release Schedule Wierzbicki -..TODO P 3000 Jython 3000 Wierzbicki +.. I 200 Jython 2.2 Release Schedule Wierzbicki +.. P 3000 Jython 3000 Wierzbicki Key Copied: trunk/website/left.nav (from rev 2778, trunk/website/Project/left.nav) =================================================================== --- trunk/website/left.nav (rev 0) +++ trunk/website/left.nav 2006-05-30 02:45:45 UTC (rev 2784) @@ -0,0 +1,25 @@ +section | About +menupageitem | Welcome | ../Project/index.html +menupageitem | License | ../Project/license.html +menupageitem | Installation | ../Project/installation.html +menupageitem | Old Website | ../old.html +menupageitem | User FAQ | ../Project/userfaq.html +menupageitem | News | ../Project/news.html +menupageitem | History | ../Project/history.html +menupageitem | Download | ../Project/download.html +menupageitem | User Guide | ../Project/userguide.html +#menupageitem | Books and Articles | ../Project/books_articles.html +#menupageitem | CPython comparison | ../Project/differences.html +menupageitem | Related Projects | ../Project/related.html +section | Community +menupageitem | Reporting Bugs | ../Project/bugs.html +menupageitem | Developer FAQ | ../Project/devfaq.html +menupageitem | Developer Guide | ../Project/devguide.html +menupageitem | JEP Index | ../jeps/jep-0000.html +#menupageitem | To Do List | ../Project/todo.html +menupageitem | Contributors | ../Project/contributors.html +section | +raw | <div style="height:1em"></div> +image | ../css/PythonPoweredSmall.gif | http://www.python.org +raw | <div style="height:1em"></div> +image | http://sourceforge.net/sflogo.php?group_id=12867 | http://sourceforge.net This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fwi...@us...> - 2006-06-06 03:07:19
|
Revision: 2791 Author: fwierzbicki Date: 2006-06-03 13:57:02 -0700 (Sat, 03 Jun 2006) ViewCVS: http://svn.sourceforge.net/jython/?rev=2791&view=rev Log Message: ----------- Content fixes, new build to support multiple directories (movee left.nav into the subdirs). Modified Paths: -------------- trunk/website/Project/devfaq.txt trunk/website/Project/devguide.txt trunk/website/Project/download.txt trunk/website/build.xml trunk/website/jeps/jep-0100.txt trunk/website/left.nav Added Paths: ----------- trunk/website/Project/installation.txt Modified: trunk/website/Project/devfaq.txt =================================================================== --- trunk/website/Project/devfaq.txt 2006-06-03 19:47:49 UTC (rev 2790) +++ trunk/website/Project/devfaq.txt 2006-06-03 20:57:02 UTC (rev 2791) @@ -2,6 +2,8 @@ Developer's FAQ =============== +.. Note: This FAQ was adapted from Python developers FAQ at http://www.python.org/dev/faq/ + .. contents:: Table of Contents .. sectnum:: @@ -73,19 +75,17 @@ with <path> representing the path to the project. A list of projects can be viewed at http://svn.python.org/view/ . Do note that any subdirectory may also be checked out individually. -The Subversion repository has many projects under it. Most people are probably interested in one of these four projects: +The Subversion repository has many projects under it. Most people are probably interested in one of these three projects: * the trunk or HEAD (the current version under development) * the latest release (plus bug fixes) of Jython (e.g. Jython 2.1) * the website source - * the JEPs (Jython Enhancement Proposals) -The four projects above can be checked out using the following <URL> paths, respectively: +The three projects above can be checked out using the following <URL> paths, respectively: * https://svn.sourceforge.net/svnroot/jython/trunk/ * https://svn.sourceforge.net/svnroot/jython/tags/Release_2_1 * https://svn.sourceforge.net/svnroot/jython/website/ - * https://svn.sourceforge.net/svnroot/jython/website/jeps How do I update my working copy to be in sync with the repository? ================================================================== @@ -99,28 +99,13 @@ How do I browse the source code through a web browser? ====================================================== -Visit http://svn.python.org/view/ to browse the Subversion repository. +Visit https://svn.sourceforge.net/svnroot/jython/ to browse the Subversion repository. What configuration settings should I use? ========================================= -Make sure the following settings are in your Subversion config file (~/.subversion/config under UNIX): +TODO -[miscellany] -enable-auto-props = yes - -[auto-props] :: - - * = svn:eol-style=native - *.c = svn:keywords=Id - *.h = svn:keywords=Id - *.py = svn:keywords=Id - *.txt = svn:keywords=Author Date Id Revision - -The [auto-props] line specifies the beginning of the section in the config file. The svn:eol-style setting tells Subversion to check out files using the native line endings on your OS. It will also automatically convert line endings upon committal so that they are consistent across all platforms. The svn:keywords settings are to automatically substitute $keyword$ arguments in files that match the pattern. \*.txt has more options so as to cover all needed keywords for PEPs. - -The [miscellany] section and its one option make Subversion apply the various rules in the [auto-props] section automatically to all added or imported files into the respository. - How do I add a file or directory to the repository? =================================================== @@ -130,7 +115,7 @@ Subversion will skip any directories it already knows about. But if you want new files that exist in any directories specified in PATH, specify --force and Subversion will check all directories for new files. -You will then need to run svn commit (as discussed in XXX) to commit the file to the repository. +You will then need to run svn commit. See the next section. How do I commit a change to a file? =================================== @@ -163,30 +148,11 @@ will list any differences between your working copy and the repository. Some key indicators that can appear in the first column of output are: - * + * A Scheduled to be added + * D Scheduled to be deleted + * M Modified locally + * ? Not under version control - A - - Scheduled to be added - - * - - D - - Scheduled to be deleted - - * - - M - - Modified locally - - * - - ? - - Not under version control - How do I find out what Subversions properties are set for a file or directory? ============================================================================== @@ -231,15 +197,6 @@ With REV substituted with the revision number. The --verbose flag should be used to get a listing of all files modified in that revision. -How can I edit the log message of a committed revision? -======================================================= - -Use: - -svn propedit -r <revision> --revprop svn:log - -Replace <revision> with the revision number of the commit whose log message you wish to change. - How do I get a diff between the repository and my working copy for a file? ========================================================================== @@ -268,41 +225,7 @@ Note: PATH here refers to the top of the checked out repository, not the full pathname to a file. PATH can refer to a different branch when merging from the head, but it must still be the top and not an individual file or subdirectory. ---- -SSH ---- - -How do I generate an SSH 2 public key? -====================================== - -UNIX ----- - -Run: - -ssh-keygen -t dsa - -This will generate a two files; your public key and your private key. Your public key is the file ending in .pub. - -Windows ------- - -Use PuTTYgen to generate your public key. Choose the "SSH2 DSA" radio button, have it create an OpenSSH formatted key, choose a password, and save the private key to a file. Copy the section with the public key (using Alt-P) to a file; that file now has your public key. - -Is there a way to prevent from having to enter my password for my SSH 2 public key constantly? -============================================================================================== - -UNIX ----- - -Use ssh-agent and ssh-add to register your private key with SSH for your current session. The simplest solution, though, is to use KeyChain, which is a shell script that will handle ssh-agent and ssh-add for you once per login instead of per session. - -Windows -------- - -Running Pageant will prevent you from having to type your password constantly. If you add a shortcut to Pageant to your Autostart group and edit the shortcut so that the command line includes an argument to your private key then Pageant will load the key every time you log in. - -------- Patches ------- @@ -341,19 +264,11 @@ How to test a patch? ==================== -Start by testing on your own system. Jython comes with an extensive regression test suite by running the Lib/test/regrtest.py script. For more thorough documentation, read the documentation for the test package at http://www.python.org/doc/lib/module-test.html. +Start by testing on your own system. Jython comes with an extensive regression test suite by running the Lib/test/regrtest.py script. -If you suspect the patch may impact other operating systems, test as many as you have easy access to. You can get help on alternate platforms by contacting the people listed on http://www.python.org/moin/JythonTesters, who have volunteered to support a particular operating system. +Also run the tests in trunk/bugtests/ directions are in a README file there. -How to change the status of a patch? -==================================== +.. TODO: For more thorough documentation, read the documentation for the test package at http://www.python.org/doc/lib/module-test.html. -To change the status of a patch or assign it to somebody else you have to be a) a SourceForge-recognized Jython developer and b) a patch administrator. Unfortunately the SourceForge default for developers is not to be patch administrators. Contact one of the project administrators if the following does not work for you. +.. TODO: For more information about the use of the "Status:" and "Assigned To:" fields consult the Patch Manager Guidelines. -Click on the patch itself. In the screen that comes up, there is a drop-box for "Assigned To:" and a drop-box for "Status:" where you can select a new responsible developer or a new status respectively. After selecting the appropriate victim and status, hit the "Submit Changes" button at the bottom of the page. - -Note: If you are sure that you have the right permissions and a drop-box does not appear, check that you are actually logged in to SourceForge! - -..FIXME: For more information about the use of the "Status:" and "Assigned To:" fields consult the Patch Manager Guidelines. - -..Note: This FAQ was adapted from Python developers FAQ at http://www.python.org/dev/faq/ Modified: trunk/website/Project/devguide.txt =================================================================== --- trunk/website/Project/devguide.txt 2006-06-03 19:47:49 UTC (rev 2790) +++ trunk/website/Project/devguide.txt 2006-06-03 20:57:02 UTC (rev 2791) @@ -42,7 +42,7 @@ :: - svn co https://svn.sourceforge.net/svnroot/jython/tags/Release_2_2alpha0 + svn co https://svn.sourceforge.net/svnroot/jython/tags/Release_2_2alpha1 * Preparing a Patch on Unix command line: (note multiple changes can be concatencated into one patch file using >> as shown. @@ -259,12 +259,116 @@ After that was done, run the regrtest and the bugtests. The bugtests caught a bug in my original effort. I had forgotten to make the constructor with PyType argument so any list(arg) call failed quickly as the PyType instance was the argument to the PyList(PyObject) constuctor and since PyType is not iterable, the call failed. The tests were great in tracking this down. -Next steps: +Another Newstyle Class Example: Implementing the _random module +=============================================================== - * automate this process a bit more if possible - * [].index.__self__ does not work correctly - * mutable __bases__ and __class__ - * support for __del__ - * support for __slots__ +Module +------ +Start by writing a class to represent the module, I'll call it RandomModule. +:: + + package org.python.modules.random; + + import org.python.core.ClassDictInit; + import org.python.core.Py; + import org.python.core.PyObject; + + public class RandomModule implements ClassDictInit { + + private RandomModule() {} + + public static void classDictInit(PyObject dict) { + dict.__setitem__("Random", Py.java2py(PyRandom.class)); + } + } + +.. Note: ClassDictInit is the old style way for initializing the class dictionary -- need to see if there is + a newstyle way to create a module. + +put module into builtin +----------------------- + +Next add this line to the builtinModules method of org.python.modules.Setup, to put _random into the builtin namespace: + + "_random:org.python.module.random.RandomModule" + +Next we create a stub for the "Random" object. I'm going to call it PyRandom since it will depend on +java.util.Random and I don't want to have to qualify the "Random" name throughout the code. + +:: + + package org.python.modules.random; + + import org.python.core.PyObject; + import org.python.core.PyType; + import java.util.Random; + + public class PyRandom extends PyObject { + //~ BEGIN GENERATED REGION -- DO NOT EDIT SEE gexpose.py + //~ END GENERATED REGION -- DO NOT EDIT SEE gexpose.py + + private static final PyType RANDOMTYPE = PyType.fromClass(PyRandom.class); + + public PyRandom() { + this(RANDOMTYPE); + } + + public PyRandom(PyType subType) { + super(subType); + } + + } + +Create a random.expose file +--------------------------- +Found the methods of _random.Random from CPython's _randommodule.c + +>>> import _random +>>> dir(_random) +['Random', '__doc__', '__file__', '__name__'] +>>> dir(_random.Random) +['__class__', '__delattr__', '__doc__', '__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', 'getrandbits', 'getstate', 'jumpahead', 'random', 'seed', 'setstate'] + +:: + + # setup + type_name: random + type_class: PyRandom + # exposed methods + expose_meth: random + expose_meth: seed o? + expose_meth: :o getstate + expose_meth: setstate o + expose_meth: jumpahead + expose_meth: getrandbits + expose_meth: __reduce__ + #expose_meth: __reduce_ex__ + expose_meth: __repr__ + expose_meth: __str__ + expose_new_mutable: + expose_wide_meth: __init__ -1 -1 + `vdeleg`(init); + `void; + +Then execute: +:: + + gexpose.py random.expose /path/to/file/PyRandom.java + +which will modify PyRandom.java in place and produce `this version of PyRandom`_ + +Then we need to fill out all of those methods. for each of the methods that +start with `random_`, we also need to implement a bare version for Java +subclassing. See org.python.modules.random.PyRandom for the final result. + +Create a random.derived file +---------------------------- + .. _Jim Hugunin's JPython paper: http://www.python.org/workshops/1997-10/proceedings/hugunin.html +.. _CodingStandards: http://wiki.python.org/jython/CodingStandards +.. _JythonModulesInJava: http://wiki.python.org/jython/JythonModulesInJava +.. _JythonClassesInJava: http://wiki.python.org/jython/JythonClassesInJava +.. _Unifying types and classes in Python: +.. _this version of PyRandom: randexposed.html + Modified: trunk/website/Project/download.txt =================================================================== --- trunk/website/Project/download.txt 2006-06-03 19:47:49 UTC (rev 2790) +++ trunk/website/Project/download.txt 2006-06-03 20:57:02 UTC (rev 2791) @@ -1,2 +1,2 @@ -#external | Download 2.1 (Production) | http://sourceforge.net/project/showfiles.php?group_id=12867&release_id=67726 -#external | Download 2.2 (Development) | http://sourceforge.net/project/showfiles.php?group_id=12867&release_id=342904 +Download 2.1 (Production) http://sourceforge.net/project/showfiles.php?group_id=12867&release_id=67726 +Download 2.2a1 (Development Release) http://sourceforge.net/project/showfiles.php?group_id=12867&release_id=342904 Added: trunk/website/Project/installation.txt =================================================================== --- trunk/website/Project/installation.txt (rev 0) +++ trunk/website/Project/installation.txt 2006-06-03 20:57:02 UTC (rev 2791) @@ -0,0 +1,69 @@ +============ +Installation +============ + +.. contents:: Table of Contents + +---------- +Jython 2.1 +---------- + +Jython 2.1 is distributed as a self-extracting .class file created by LiftOff. To install Jython, open the command line to the directory in which you have placed the jython-21.class file and then type: + + <java interpreter> jython-21 + +You will probably type one of the following three lines, depending on your system. Be sure not to put ".class" at the end of the file name. + + java jython-21 + + jre jython-21 + + jview jython-21 + +It can be necessay to set the CLASSPATH to include the current directory + + env CLASSPATH=. java jython-21 + + java -cp . jython-21 + + java -classpath . jython-21 + + jview /cp:. jython-21 + +Which command to use depends on your operating system and java version. If you have more than one java installed, you may have to supply an explicit path the java command. + +If you do not have a GUI, then add -o dir_to_install_to to the command above. Jython will install to the specified directory without bringing up the graphical installer. E.g. to install all modules to a Jython-2.1 subdirectory in the current directory do: + + <java interpreter> jython-21 -o Jython-2.1 demo lib source + +After completing installation, you should be able to run Jython by typing: + + jython + +---------- +Jython 2.2 +---------- + +Work in progress. See http://homepage.sunrise.ch/mysunrise/ohumbel/ for a mockup. + +----------------- +What Can Go Wrong +----------------- + +You should check out this section if your Jython installation doesn't quite work right. It will contain tips for solving the most common problems. + +Can't Access Standard Python Modules +==================================== + +Not all the modules form CPython is available in Jython. Some modules require a C language dynamic link library that doesn't exists in java. Other modules are missing from Jython just because nobody have had a need for it before and no-one have tested the CPython module with Jython. If you discover that you are missing a module, try to copy the .py file from a CPython distribution to a directory on your Jython sys.path. If that works you are set. If it doesn't work, try asking on jython-users mailing list. + +Other Problems +============== + +Any other problems with the installation should be reported to jython-dev. + +As a workaround you can extract the jython-21.class manually. The class file is basicly a .zip file and most unzip programs can manage to extract the contents of the class into a directory. After doing that, you must + + * Remove the net directory. It isn't needed. + * Create the startup script by hand. Use the installer/template* files as a starting point in doing so. + Modified: trunk/website/build.xml =================================================================== --- trunk/website/build.xml 2006-06-03 19:47:49 UTC (rev 2790) +++ trunk/website/build.xml 2006-06-03 20:57:02 UTC (rev 2791) @@ -73,5 +73,7 @@ <target name="clean" depends="init"> <delete dir="dist" /> + <delete file="${website.tar}" /> + <delete file="${website.tgz}" /> </target> </project> Modified: trunk/website/jeps/jep-0100.txt =================================================================== --- trunk/website/jeps/jep-0100.txt 2006-06-03 19:47:49 UTC (rev 2790) +++ trunk/website/jeps/jep-0100.txt 2006-06-03 20:57:02 UTC (rev 2791) @@ -26,22 +26,22 @@ Meta-PEPs Observed by Jython -..TODO I 0 Index of Python Enhancement Proposals Goodger, Warsaw -..TODO P 1 PEP Purpose and Guidelines Warsaw, Hylton, Goodger -..TODO I 2 Procedure for Adding New Modules Faassen -..TODO I 3 Guidelines for Handling Bug Reports Hylton -..TODO I 4 Deprecation of Standard Modules von Loewis -..TODO I 5 Guidelines for Language Evolution Prescod -..TODO P 6 Bug Fix Releases Aahz +.. TODO I 0 Index of Python Enhancement Proposals Goodger, Warsaw +.. TODO P 1 PEP Purpose and Guidelines Warsaw, Hylton, Goodger +.. TODO I 2 Procedure for Adding New Modules Faassen +.. TODO I 3 Guidelines for Handling Bug Reports Hylton +.. TODO I 4 Deprecation of Standard Modules von Loewis +.. TODO I 5 Guidelines for Language Evolution Prescod +.. TODO P 6 Bug Fix Releases Aahz I 8 Style Guide for Python Code GvR, Warsaw -..TODO I 9 Sample Plaintext PEP Template Warsaw -..TODO I 10 Voting Guidelines Warsaw -..TODO I 11 Removing support for little used platforms von Loewis +.. TODO I 9 Sample Plaintext PEP Template Warsaw +.. TODO I 10 Voting Guidelines Warsaw +.. TODO I 11 Removing support for little used platforms von Loewis I 12 Sample reStructuredText PEP Template Goodger, Warsaw -..TODO P 347 Migrating the Python CVS to Subversion von Löwis +.. TODO P 347 Migrating the Python CVS to Subversion von Löwis P 3000 Python 3000 GvR P 3001 Reviewing and improving stdlib modules Brandl -..TODO P 3002 Procedure for Backwards-Incompatible Changes Bethard +.. TODO P 3002 Procedure for Backwards-Incompatible Changes Bethard I 3099 Things that will Not Change in Python 3000 Brandl Meta-PEPs Ignored by Jython @@ -51,119 +51,119 @@ I 20 The Zen of Python Peters I 42 Feature Requests Hylton -..TODO I 101 Doing Python Releases 101 Warsaw, GvR -..TODO I 102 Doing Python Micro Releases Baxter, Warsaw, GvR -..TODO IF 247 API for Cryptographic Hash Functions Kuchling -..TODO IF 248 Python Database API Specification v1.0 Lemburg -..TODO IF 249 Python Database API Specification v2.0 Lemburg +.. TODO I 101 Doing Python Releases 101 Warsaw, GvR +.. TODO I 102 Doing Python Micro Releases Baxter, Warsaw, GvR +.. TODO IF 247 API for Cryptographic Hash Functions Kuchling +.. TODO IF 248 Python Database API Specification v1.0 Lemburg +.. TODO IF 249 Python Database API Specification v2.0 Lemburg I 257 Docstring Conventions Goodger, GvR -..TODO IF 272 API for Block Encryption Algorithms v1.0 Kuchling -..TODO I 290 Code Migration and Modernization Hettinger -..TODO I 291 Backward Compatibility for Standard Library Norwitz -..TODO I 306 How to Change Python's Grammar Hudson -..TODO I 333 Python Web Server Gateway Interface v1.0 Eby -..TODO I 339 Design of the CPython Compiler Cannon -..TODO I 356 Python 2.5 Release Schedule Norwitz, et al -..TODO I 3100 Python 3.0 Plans Kuchling, Cannon +.. TODO IF 272 API for Block Encryption Algorithms v1.0 Kuchling +.. TODO I 290 Code Migration and Modernization Hettinger +.. TODO I 291 Backward Compatibility for Standard Library Norwitz +.. TODO I 306 How to Change Python's Grammar Hudson +.. TODO I 333 Python Web Server Gateway Interface v1.0 Eby +.. TODO I 339 Design of the CPython Compiler Cannon +.. TODO I 356 Python 2.5 Release Schedule Norwitz, et al +.. TODO I 3100 Python 3.0 Plans Kuchling, Cannon PEPs accepted by Python observed by Jython -..TODO SA 328 Imports: Multi-Line and Absolute/Relative Aahz +.. TODO SA 328 Imports: Multi-Line and Absolute/Relative Aahz PEPs accepted by Python but ignored by Jython -..TODO none +.. TODO none -..TODO -- should we care about these at all, or wait for them to get +.. TODO -- should we care about these at all, or wait for them to get .. accepted/rejected? -..TODO Open PEPs (under consideration) +.. TODO Open PEPs (under consideration) -..TODO S 228 Reworking Python's Numeric Model Zadka, GvR -..TODO S 237 Unifying Long Integers and Integers Zadka, GvR -..TODO S 256 Docstring Processing System Framework Goodger -..TODO S 258 Docutils Design Specification Goodger -..TODO S 267 Optimized Access to Module Namespaces Hylton -..TODO S 268 Extended HTTP functionality and WebDAV Stein -..TODO S 275 Switching on Multiple Values Lemburg -..TODO S 280 Optimizing access to globals GvR -..TODO S 286 Enhanced Argument Tuples von Loewis -..TODO I 287 reStructuredText Docstring Format Goodger -..TODO S 297 Support for System Upgrades Lemburg -..TODO S 302 New Import Hooks JvR, Moore -..TODO S 323 Copyable Iterators Martelli -..TODO S 331 Locale-Independent Float/String Conversions Reis -..TODO S 335 Overloadable Boolean Operators Ewing -..TODO S 337 Logging Usage in the Standard Library Dubner -..TODO S 344 Exception Chaining and Embedded Tracebacks Yee -..TODO S 345 Metadata for Python Software Packages 1.2 Jones -..TODO I 350 Codetags Elliott -..TODO S 354 Enumerations in Python Finney -..TODO S 355 Path - Object oriented filesystem paths Lindqvist -..TODO S 358 The "bytes" Object Schemenauer -..TODO S 754 IEEE 754 Floating Point Special Values Warnes -..TODO S 3101 Advanced String Formatting Talin -..TODO S 3102 Keyword-Only Arguments Talin +.. TODO S 228 Reworking Python's Numeric Model Zadka, GvR +.. TODO S 237 Unifying Long Integers and Integers Zadka, GvR +.. TODO S 256 Docstring Processing System Framework Goodger +.. TODO S 258 Docutils Design Specification Goodger +.. TODO S 267 Optimized Access to Module Namespaces Hylton +.. TODO S 268 Extended HTTP functionality and WebDAV Stein +.. TODO S 275 Switching on Multiple Values Lemburg +.. TODO S 280 Optimizing access to globals GvR +.. TODO S 286 Enhanced Argument Tuples von Loewis +.. TODO I 287 reStructuredText Docstring Format Goodger +.. TODO S 297 Support for System Upgrades Lemburg +.. TODO S 302 New Import Hooks JvR, Moore +.. TODO S 323 Copyable Iterators Martelli +.. TODO S 331 Locale-Independent Float/String Conversions Reis +.. TODO S 335 Overloadable Boolean Operators Ewing +.. TODO S 337 Logging Usage in the Standard Library Dubner +.. TODO S 344 Exception Chaining and Embedded Tracebacks Yee +.. TODO S 345 Metadata for Python Software Packages 1.2 Jones +.. TODO I 350 Codetags Elliott +.. TODO S 354 Enumerations in Python Finney +.. TODO S 355 Path - Object oriented filesystem paths Lindqvist +.. TODO S 358 The "bytes" Object Schemenauer +.. TODO S 754 IEEE 754 Floating Point Special Values Warnes +.. TODO S 3101 Advanced String Formatting Talin +.. TODO S 3102 Keyword-Only Arguments Talin PEPs finished by Jython (done, implemented in Jython's Subversion) -..TODO SF 100 Python Unicode Integration Lemburg -..TODO IF 160 Python 1.6 Release Schedule Drake -..TODO IF 200 Python 2.0 Release Schedule Hylton -..TODO SF 201 Lockstep Iteration Warsaw +.. TODO SF 100 Python Unicode Integration Lemburg +.. TODO IF 160 Python 1.6 Release Schedule Drake +.. TODO IF 200 Python 2.0 Release Schedule Hylton +.. TODO SF 201 Lockstep Iteration Warsaw SF 202 List Comprehensions Warsaw -..TODO SF 203 Augmented Assignments Wouters -..TODO S 205 Weak References Drake -..TODO SF 207 Rich Comparisons GvR, Ascher -..TODO SF 208 Reworking the Coercion Model Schemenauer, Lemburg -..TODO SF 214 Extended Print Statement Warsaw -..TODO SF 217 Display Hook for Interactive Use Zadka -..TODO SF 218 Adding a Built-In Set Object Type Wilson, Hettinger -..TODO SF 221 Import As Wouters -..TODO SF 223 Change the Meaning of \x Escapes Peters -..TODO I 226 Python 2.1 Release Schedule Hylton -..TODO S 227 Statically Nested Scopes Hylton -..TODO SF 229 Using Distutils to Build Python Kuchling -..TODO SF 230 Warning Framework GvR -..TODO SF 232 Function Attributes Warsaw -..TODO SF 234 Iterators Yee, GvR -..TODO SF 235 Import on Case-Insensitive Platforms Peters -..TODO SF 236 Back to the __future__ Peters -..TODO SF 238 Changing the Division Operator Zadka, GvR -..TODO SF 241 Metadata for Python Software Packages Kuchling -..TODO SF 250 Using site-packages on Windows Moore -..TODO IF 251 Python 2.2 Release Schedule Warsaw, GvR -..TODO SF 252 Making Types Look More Like Classes GvR -..TODO SF 253 Subtyping Built-in Types GvR -..TODO SF 255 Simple Generators Schemenauer, et al -..TODO SF 260 Simplify xrange() GvR -..TODO SF 261 Support for "wide" Unicode characters Prescod -..TODO SF 263 Defining Python Source Code Encodings Lemburg -..TODO SF 264 Future statements in simulated shells Hudson -..TODO SF 273 Import Modules from Zip Archives Ahlstrom -..TODO SF 277 Unicode file name support for Windows NT Hodgson -..TODO SF 278 Universal Newline Support Jansen -..TODO SF 279 The enumerate() built-in function Hettinger -..TODO SF 282 A Logging System Sajip, Mick -..TODO IF 283 Python 2.3 Release Schedule GvR -..TODO SF 285 Adding a bool type GvR -..TODO SF 289 Generator Expressions Hettinger -..TODO SF 292 Simpler String Substitutions Warsaw -..TODO SF 293 Codec Error Handling Callbacks Dörwald -..TODO SF 301 Package Index and Metadata for Distutils Jones -..TODO SF 305 CSV File API Montanaro, et al -..TODO SF 307 Extensions to the pickle protocol GvR, Peters -..TODO SF 308 Conditional Expressions GvR, Hettinger -..TODO SF 309 Partial Function Application Harris -..TODO SF 311 Simplified GIL Acquisition for Extensions Hammond -..TODO SF 314 Metadata for Python Software Packages v1.1 Kuchling, Jones -..TODO SF 318 Decorators for Functions and Methods Smith, et al -..TODO IF 320 Python 2.4 Release Schedule Warsaw, et al -..TODO SF 322 Reverse Iteration Hettinger -..TODO SF 324 subprocess - New process module Astrand -..TODO SF 338 Executing Modules as Scripts Coghlan -..TODO SF 341 Unifying try-except and try-finally Brandl -..TODO SF 342 Coroutines via Enhanced Generators GvR, Eby +.. TODO SF 203 Augmented Assignments Wouters +.. TODO S 205 Weak References Drake +..TO DO SF 207 Rich Comparisons GvR, Ascher +.. TODO SF 208 Reworking the Coercion Model Schemenauer, Lemburg +.. TODO SF 214 Extended Print Statement Warsaw +.. TODO SF 217 Display Hook for Interactive Use Zadka +.. TODO SF 218 Adding a Built-In Set Object Type Wilson, Hettinger +.. TODO SF 221 Import As Wouters +.. TODO SF 223 Change the Meaning of \x Escapes Peters +.. TODO I 226 Python 2.1 Release Schedule Hylton +.. TODO S 227 Statically Nested Scopes Hylton +.. TODO SF 229 Using Distutils to Build Python Kuchling +.. TODO SF 230 Warning Framework GvR +.. TODO SF 232 Function Attributes Warsaw +.. TODO SF 234 Iterators Yee, GvR +.. TODO SF 235 Import on Case-Insensitive Platforms Peters +.. TODO SF 236 Back to the __future__ Peters +.. TODO SF 238 Changing the Division Operator Zadka, GvR +.. TODO SF 241 Metadata for Python Software Packages Kuchling +.. TODO SF 250 Using site-packages on Windows Moore +.. TODO IF 251 Python 2.2 Release Schedule Warsaw, GvR +.. TODO SF 252 Making Types Look More Like Classes GvR +.. TODO SF 253 Subtyping Built-in Types GvR +.. TODO SF 255 Simple Generators Schemenauer, et al +.. TODO SF 260 Simplify xrange() GvR +.. TODO SF 261 Support for "wide" Unicode characters Prescod +.. TODO SF 263 Defining Python Source Code Encodings Lemburg +.. TODO SF 264 Future statements in simulated shells Hudson +.. TODO SF 273 Import Modules from Zip Archives Ahlstrom +.. TODO SF 277 Unicode file name support for Windows NT Hodgson +.. TODO SF 278 Universal Newline Support Jansen +.. TODO SF 279 The enumerate() built-in function Hettinger +.. TODO SF 282 A Logging System Sajip, Mick +.. TODO IF 283 Python 2.3 Release Schedule GvR +.. TODO SF 285 Adding a bool type GvR +.. TODO SF 289 Generator Expressions Hettinger +.. TODO SF 292 Simpler String Substitutions Warsaw +.. TODO SF 293 Codec Error Handling Callbacks Dörwald +.. TODO SF 301 Package Index and Metadata for Distutils Jones +.. TODO SF 305 CSV File API Montanaro, et al +.. TODO SF 307 Extensions to the pickle protocol GvR, Peters +.. TODO SF 308 Conditional Expressions GvR, Hettinger +.. TODO SF 309 Partial Function Application Harris +.. TODO SF 311 Simplified GIL Acquisition for Extensions Hammond +.. TODO SF 314 Metadata for Python Software Packages v1.1 Kuchling, Jones +.. TODO SF 318 Decorators for Functions and Methods Smith, et al +.. TODO IF 320 Python 2.4 Release Schedule Warsaw, et al +.. TODO SF 322 Reverse Iteration Hettinger +.. TODO SF 324 subprocess - New process module Astrand +.. TODO SF 338 Executing Modules as Scripts Coghlan +.. TODO SF 341 Unifying try-except and try-finally Brandl +.. TODO SF 342 Coroutines via Enhanced Generators GvR, Eby PEPs finished by Python and accepted (not implemented yet) by Jython SF 327 Decimal Data Type Batista Modified: trunk/website/left.nav =================================================================== --- trunk/website/left.nav 2006-06-03 19:47:49 UTC (rev 2790) +++ trunk/website/left.nav 2006-06-03 20:57:02 UTC (rev 2791) @@ -2,7 +2,7 @@ menupageitem | Welcome | ../Project/index.html menupageitem | License | ../Project/license.html menupageitem | Installation | ../Project/installation.html -menupageitem | Old Website | ../old.html +menupageitem | Old Website | ../Jython21.html menupageitem | User FAQ | ../Project/userfaq.html menupageitem | News | ../Project/news.html menupageitem | History | ../Project/history.html @@ -15,7 +15,7 @@ menupageitem | Reporting Bugs | ../Project/bugs.html menupageitem | Developer FAQ | ../Project/devfaq.html menupageitem | Developer Guide | ../Project/devguide.html -menupageitem | JEP Index | ../jeps/jep-0000.html +#menupageitem | JEP Index | ../jeps/jep-0000.html #menupageitem | To Do List | ../Project/todo.html menupageitem | Contributors | ../Project/contributors.html section | This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fwi...@us...> - 2007-02-04 01:44:50
|
Revision: 3072 http://svn.sourceforge.net/jython/?rev=3072&view=rev Author: fwierzbicki Date: 2007-02-03 17:44:49 -0800 (Sat, 03 Feb 2007) Log Message: ----------- added roadmap, made build copy commands incremental. Modified Paths: -------------- trunk/website/build.xml Added Paths: ----------- trunk/website/Project/roadmap.txt Added: trunk/website/Project/roadmap.txt =================================================================== --- trunk/website/Project/roadmap.txt (rev 0) +++ trunk/website/Project/roadmap.txt 2007-02-04 01:44:49 UTC (rev 3072) @@ -0,0 +1,81 @@ +============== +Jython Roadmap +============== +February 3, 2007 + +------------------- +Jython Beta and 2.2 +------------------- + +To get to a Beta we need the following: + +#. We need to get the tool output from Pedroni's program referenced at +http://sourceforge.net/mailarchive/message.php?msg_id=37797385 +to give us a clean result, or at least very close to a clean result + +#. We need to get more of test_descr working. Charlie Groves has +created bug reports for most of the remaining work for test_descr. +At that point we will be ready for a beta, and on to a +real release. For 2.2 we will not be considering much beyond these +problems. Bugs will be looked at on a case by case basis and many +will not be fixed for 2.2. Jython in its current state is quite +fragile, and fixing one bug often leads to many more. + +-------------------------- +Jython 2.3/2.4 or even 2.5 +-------------------------- + +Jython's current fragility means that the next release will primarily +be a cleanup release. We will probably target +either Python 2.3/2.4, although we might even consider 2.5, as it would +be great to catch up, and the changes in the core language in the 2.x +series at this point are fairly small. + +We have noticed that the current codebase is +extremely brittle and uses way to many different styles to do many of +the same things. All of this inconsistency makes bugfixing a +nightmare, and makes learning the codebase from scratch +extraordinarily difficult. + +This means that, at least for the core developers, we will be +concentrated on making a clean 2.3/2.4, while improving the java +integration, but will not be spending much time trying to get CPython +frameworks working. Also, we will not be considering any big changes +to the core (such as using ASM for bytecode generation) and will not +be considering code changes just to improve performance. + +This does not mean that I want to discourage experimentation with +CPython frameworks. I think after we have done some house cleaning +that CPython frameworks are the next target. I'm just saying that +this will not be the focus of the next release. Making the codebase +more consistent and accessible will be the primary focus. + +Of course, once we have a 2.3/2.4 release, then we can really look at +the issues above (CPython frameworks, performance, big changes to the +core, etc) and I believe we will have a much better chance for +success. + +--------------- +Next Jython 2.x +--------------- + +This release will build on the cleanup in the last release, and in this +release we will be able to consider performance enhancements, CPython +frameworks, and other considerations that where shelved for the last +release. + +---------- +Jython 3.0 +---------- + +Jython 3.0 (or Jython 3000 to denote the likely year of appearance) +will, like CPython 3.0, be a backwards incompatible version that can +include radical departures from Jython 2.x. The departures will at +least include the departures that CPython 3.0 has made (for example, +old-style classes go away, ints and longs are completely unified, +etc.) + +Serious discussions about Jython 3.0 can perhaps begin once CPython 3.0 +goes to a GA release. I think that is all I am willing to say on the +subject for now. + Modified: trunk/website/build.xml =================================================================== --- trunk/website/build.xml 2007-02-01 06:09:02 UTC (rev 3071) +++ trunk/website/build.xml 2007-02-04 01:44:49 UTC (rev 3072) @@ -36,14 +36,23 @@ <copy todir="dist"> <fileset dir="."> <include name="index.html"/> - <include name="**/*.nav"/> - <include name="**/*.txt"/> - <include name="css/*"/> - <exclude name="dist"/> </fileset> </copy> - <copy todir="dist/Project" file="left.nav" /> - <copy todir="dist/jeps" file="left.nav" /> + <copy todir="dist/Project"> + <fileset dir="Project"> + <include name="*.txt"/> + <include name="left.nav"/> + </fileset> + </copy> + <copy todir="dist/jeps"> + <fileset dir="jeps"> + <include name="*.txt"/> + <include name="left.nav"/> + </fileset> + </copy> + <copy todir="dist/css"> + <fileset dir="css"/> + </copy> <apply verbose="true" executable="${rst2jysite.command}" dest="dist"> <arg line="--link-stylesheet" /> <arg line="--stylesheet=../css/html4css1.css" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fwi...@us...> - 2007-02-04 17:09:17
|
Revision: 3076 http://svn.sourceforge.net/jython/?rev=3076&view=rev Author: fwierzbicki Date: 2007-02-04 09:09:12 -0800 (Sun, 04 Feb 2007) Log Message: ----------- removing docs, svn is giving me trouble with "move"... Also fixed a small problem in roadmap. Modified Paths: -------------- trunk/website/Project/roadmap.txt Removed Paths: ------------- trunk/website/docs/ Modified: trunk/website/Project/roadmap.txt =================================================================== --- trunk/website/Project/roadmap.txt 2007-02-04 16:27:49 UTC (rev 3075) +++ trunk/website/Project/roadmap.txt 2007-02-04 17:09:12 UTC (rev 3076) @@ -9,11 +9,11 @@ To get to a Beta we need the following: -#. We need to get the tool output from Pedroni's program referenced at +1. We need to get the tool output from Pedroni's program referenced at http://sourceforge.net/mailarchive/message.php?msg_id=37797385 to give us a clean result, or at least very close to a clean result -#. We need to get more of test_descr working. Charlie Groves has +2. We need to get more of test_descr working. Charlie Groves has created bug reports for most of the remaining work for test_descr. At that point we will be ready for a beta, and on to a real release. For 2.2 we will not be considering much beyond these This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cg...@us...> - 2007-05-11 05:49:08
|
Revision: 3223 http://svn.sourceforge.net/jython/?rev=3223&view=rev Author: cgroves Date: 2007-05-10 22:49:00 -0700 (Thu, 10 May 2007) Log Message: ----------- 2.2b2! Modified Paths: -------------- trunk/website/Project/download.txt trunk/website/Project/index.txt trunk/website/Project/installation.txt trunk/website/Project/news.txt trunk/website/Project/userfaq.txt trunk/website/css/profile.css Modified: trunk/website/Project/download.txt =================================================================== --- trunk/website/Project/download.txt 2007-05-08 08:10:12 UTC (rev 3222) +++ trunk/website/Project/download.txt 2007-05-11 05:49:00 UTC (rev 3223) @@ -2,11 +2,7 @@ Downloads ========= -* `jython-2.1 <http://downloads.sourceforge.net/jython/jython_21.class>`__ - The most recent stable release. The installer has - known issues with Java 6 +* `jython-2.2beta2 <http://sourceforge.net/project/showfiles.php?group_id=12867&package_id=12218&release_id=507592>`__ - The final beta release before 2.2. Contains many bugs fixes from jython-2.1 and this installer runs on Java 6. +* `jython-2.1 <http://downloads.sourceforge.net/jython/jython_21.class>`__ - The most recent stable release. The installer has known issues with Java 6. -* `jython-2.2beta1 <http://downloads.sourceforge.net/jython/jython_installer-2.2b1.jar>`__ - A development release towards 2.2. While - there's still `work to be done <roadmap.html>`__ before this becomes 2.2 final, many - bugs have been fixed from jython-2.1 and this installer runs on Java - 6. Modified: trunk/website/Project/index.txt =================================================================== --- trunk/website/Project/index.txt 2007-05-08 08:10:12 UTC (rev 3222) +++ trunk/website/Project/index.txt 2007-05-11 05:49:00 UTC (rev 3223) @@ -9,9 +9,9 @@ .. admonition:: Latest News - The Jython development team is proud to announce a new release: Jython 2.2 Beta1! + The Jython development team is proud to announce a new release: Jython 2.2 Beta2! - * `Download it <http://downloads.sourceforge.net/jython/jython_installer-2.2b1.jar>`__, + * `Download it <http://sourceforge.net/project/showfiles.php?group_id=12867&package_id=12218&release_id=507592>`__, * `install it <installation.html>`__, * then kick the tires and start `filing bug reports <bugs.html>`__ to help get 2.2 polished up and done, so we can get going on the next Jython 2.x. Modified: trunk/website/Project/installation.txt =================================================================== --- trunk/website/Project/installation.txt 2007-05-08 08:10:12 UTC (rev 3222) +++ trunk/website/Project/installation.txt 2007-05-11 05:49:00 UTC (rev 3223) @@ -13,15 +13,15 @@ Jython 2.2 is distributed as an executable jar file installer. After `downloading <download.html>`__ it, either double click the -jython_installer_Release_2_2beta1.jar or run java with the -jar option:: +jython_installer_Release_2_2beta2.jar or run java with the -jar option:: - java -jar jython_installer-2.2b1.jar + java -jar jython_installer-2.2b2.jar This will start the regular GUI installer on most systems, or a consoler installer on headless systems. To force the installer to work in headless mode invoke the installer with a console switch:: - java -jar jython_installer-2.2b1.jar --console + java -jar jython_installer-2.2b2.jar --console The installer will then walk through a similar set of steps in graphical or console mode: showing the license, selecting an install @@ -38,11 +38,11 @@ The standalone option does no caching and so avoids the startup overhead (most likely at the cost of some speed in calling Java classes, but I have not profiled it) You can try it out by downloading the beta installer from here: -http://downloads.sourceforge.net/jython/jython_installer-2.2b1.jar +http://downloads.sourceforge.net/jython/jython_installer-2.2b2.jar running it like so: :: - $ java -jar jython_installer-2.2b1.jar + $ java -jar jython_installer-2.2b2.jar And when you come to the "Installation type" page, select "Standalone". Modified: trunk/website/Project/news.txt =================================================================== --- trunk/website/Project/news.txt 2007-05-08 08:10:12 UTC (rev 3222) +++ trunk/website/Project/news.txt 2007-05-11 05:49:00 UTC (rev 3223) @@ -1,6 +1,14 @@ Jython News ================ +**10th May 2007: Jython-2.2beta2** + +The second beta for Jython 2.2 is now available for `download`_. Since the +previous beta over 30 bugs have been fixed and the last issues involving +new-style class integration have been resolved. + +This is the final beta on the road to 2.2. Please check it out and let us know of any issues before the final 2.2 release. + **7th February 2007: Jython-2.2beta1** At long last a beta of Jython-2.2 is out the door. This release @@ -62,5 +70,6 @@ There has been no validation of which parts of the Python library are functional with this relase. Expect pickle and related modules to be broken, probably others as well. +.. _`download`: http://sourceforge.net/project/showfiles.php?group_id=12867&package_id=12218&release_id=507592 .. _`Jython wiki`: http://wiki.python.org/jython/ .. _`a blog`: http://fwierzbicki.blogspot.com/ Modified: trunk/website/Project/userfaq.txt =================================================================== --- trunk/website/Project/userfaq.txt 2007-05-08 08:10:12 UTC (rev 3222) +++ trunk/website/Project/userfaq.txt 2007-05-11 05:49:00 UTC (rev 3223) @@ -53,12 +53,13 @@ Jython-2.1_ is the current production release. It's feature set roughly corresponds to that of Python-2.1 It was released on 31-dec-2001. -Jython-2.2a1_ is the current development release. It includes +Jython-2.2b2_ is the current development release. It includes improvements to java integration and implements many new features from CPython 2.2/3. -We're applying the finishing touches for 2.2b1 which completes -new-style classes for 2.2 and solves many Java integration issues. +2.2b2 is the second and final beta towards a 2.2 release. After some use from +the community we plan to make a release candidate and if it has no serious +problems, to make the 2.2 release a couple weeks after that. How fast is Jython? ------------------- @@ -416,7 +417,7 @@ .. _JNumeric: http://jnumerical.sourceforge.net/index.html .. _jreload: http://www.jython.org/docs/jreload.html .. _Jython-2.1: http://prdownloads.sourceforge.net/jython/jython_21.class?download -.. _Jython-2.2a1: http://prdownloads.sourceforge.net/jython/jython_Release_2_2alpha1.jar?download +.. _Jython-2.2b2: http://sourceforge.net/project/showfiles.php?group_id=12867&package_id=12218&release_id=507592 .. _ReadlineSetup: http://wiki.python.org/jython/ReadlineSetup .. _Accessing Jython from Java Without Using jythonc: http://wiki.python.org/jython/JythonMonthly/Articles/September2006/1 .. _Simple and Efficient Jython Object Factories: http://wiki.python.org/jython/JythonMonthly/Articles/October2006/3 Modified: trunk/website/css/profile.css =================================================================== --- trunk/website/css/profile.css 2007-05-08 08:10:12 UTC (rev 3222) +++ trunk/website/css/profile.css 2007-05-11 05:49:00 UTC (rev 3223) @@ -26,14 +26,6 @@ :active { voice-family: betty, female; pitch-range: 80; pitch: x-high } } -a.external { - padding: 0 20px 0px 0px; - display:inline; - background-repeat: no-repeat; - background-position: center right; - background-image: url(images/external-link.gif); -} - #top { background-color: #ffffff;} #top .grouplogo {padding: 0;} #top .header .current { background-color: #f5f6b5;} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cg...@us...> - 2007-08-23 08:52:15
|
Revision: 3450 http://jython.svn.sourceforge.net/jython/?rev=3450&view=rev Author: cgroves Date: 2007-08-23 01:52:10 -0700 (Thu, 23 Aug 2007) Log Message: ----------- Include the NEWS file in the site Modified Paths: -------------- trunk/website/Project/index.txt trunk/website/Project/news.txt trunk/website/build.xml Modified: trunk/website/Project/index.txt =================================================================== --- trunk/website/Project/index.txt 2007-08-23 08:45:01 UTC (rev 3449) +++ trunk/website/Project/index.txt 2007-08-23 08:52:10 UTC (rev 3450) @@ -13,8 +13,8 @@ The Jython development team is proud to announce a new release: Jython 2.2! - * `Download location`_, - * `Installation instructions <installation.html>`__, + * `Download location`_ + * `Installation instructions <installation.html>`__ What is Jython? Modified: trunk/website/Project/news.txt =================================================================== --- trunk/website/Project/news.txt 2007-08-23 08:45:01 UTC (rev 3449) +++ trunk/website/Project/news.txt 2007-08-23 08:52:10 UTC (rev 3450) @@ -3,7 +3,7 @@ **22nd August 2007: Jython-2.2** -Jython 2.2, the first stable release in nearly six years, is now available for `download`_. +Jython 2.2, the first production release of Jython in nearly six years, is now available for `download`_. Its feature set is equivalent to the 2.2 release of CPython. Only the version numbers changed from rc3 to this release; the code is identical otherwise. The `changelog`_ has a more complete list of the changes from 2.1 to 2.2. **2nd August 2007: Jython-2.2rc3** @@ -89,5 +89,6 @@ There has been no validation of which parts of the Python library are functional with this relase. Expect pickle and related modules to be broken, probably others as well. .. _`download`: download.html +.. _`change log`: ../NEWS .. _`Jython wiki`: http://wiki.python.org/jython/ .. _`a blog`: http://fwierzbicki.blogspot.com/ Modified: trunk/website/build.xml =================================================================== --- trunk/website/build.xml 2007-08-23 08:45:01 UTC (rev 3449) +++ trunk/website/build.xml 2007-08-23 08:52:10 UTC (rev 3450) @@ -9,30 +9,25 @@ <!-- ant file to build the jython website --> <project name="website" default="all" basedir="."> <target name="init"> + <property file="ant.properties" /> <property name="website.tar" value="website.tar"/> <property name="website.tgz" value="website.tgz"/> <property name="scp.destination" value="shell.sourceforge.net:/home/groups/j/jy/jython"/> + <property name="news.file" value="../jython/NEWS"/> - <!-- These properties should be assigned in one of the - the ant.properties files - <property name="python.exe" value="/System/Library/Frameworks/Python.framework/Versions/2.3/bin/python"/> - <property name="rst2jysite.command" value="/System/Library/Frameworks/Python.framework/Versions/2.3/bin/rst2jysite.py"/> - --> <property name="rst2jysite.command" value="rst2jysite.py"/> <property name="scp.command" value="scp"/> <property name="scp.user" value="fwierzbicki"/> - <!-- - --> - <property file="ant.properties" /> <property file="../ant.properties" /> </target> <target name="generate" depends="init"> <!-- Create .html files in website --> <mkdir dir="dist" /> + <copy file="${news.file}" todir="dist"/> <copy todir="dist"> <fileset dir="."> <include name="index.html"/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cg...@us...> - 2007-08-24 07:02:59
|
Revision: 3453 http://jython.svn.sourceforge.net/jython/?rev=3453&view=rev Author: cgroves Date: 2007-08-24 00:02:54 -0700 (Fri, 24 Aug 2007) Log Message: ----------- added checksums for releases Modified Paths: -------------- trunk/website/Project/download.txt trunk/website/Project/news.txt trunk/website/build.xml Added Paths: ----------- trunk/website/checksums/ trunk/website/checksums/jython_installer-2.2.jar.md5 trunk/website/checksums/jython_installer-2.2.jar.sha1 Modified: trunk/website/Project/download.txt =================================================================== --- trunk/website/Project/download.txt 2007-08-23 14:56:58 UTC (rev 3452) +++ trunk/website/Project/download.txt 2007-08-24 07:02:54 UTC (rev 3453) @@ -4,7 +4,10 @@ Downloads ========= -* jython-2.2__ - Released on August 22, 2007. Requires Java 1.4.2 or later. +* jython-2.2__ + [`MD5 <../checksums/jython_installer-2.2.jar.md5>`__] + [`SHA1 <../checksums/jython_installer-2.2.jar.sha1>`__] + - Released on August 22, 2007. Requires Java 1.4.2 or later. __ stable.download_ Modified: trunk/website/Project/news.txt =================================================================== --- trunk/website/Project/news.txt 2007-08-23 14:56:58 UTC (rev 3452) +++ trunk/website/Project/news.txt 2007-08-24 07:02:54 UTC (rev 3453) @@ -89,6 +89,6 @@ There has been no validation of which parts of the Python library are functional with this relase. Expect pickle and related modules to be broken, probably others as well. .. _`download`: download.html -.. _`change log`: ../NEWS +.. _`changelog`: ../NEWS .. _`Jython wiki`: http://wiki.python.org/jython/ .. _`a blog`: http://fwierzbicki.blogspot.com/ Modified: trunk/website/build.xml =================================================================== --- trunk/website/build.xml 2007-08-23 14:56:58 UTC (rev 3452) +++ trunk/website/build.xml 2007-08-24 07:02:54 UTC (rev 3453) @@ -53,6 +53,9 @@ <copy todir="dist/css"> <fileset dir="css"/> </copy> + <copy todir="dist/checksums"> + <fileset dir="checksums"/> + </copy> <apply verbose="true" executable="${rst2jysite.command}" dest="dist"> <arg line="--link-stylesheet" /> <arg line="--stylesheet=../css/html4css1.css" /> Added: trunk/website/checksums/jython_installer-2.2.jar.md5 =================================================================== --- trunk/website/checksums/jython_installer-2.2.jar.md5 (rev 0) +++ trunk/website/checksums/jython_installer-2.2.jar.md5 2007-08-24 07:02:54 UTC (rev 3453) @@ -0,0 +1 @@ +aba8e11ed071be7f7c2687624b5e7918 Added: trunk/website/checksums/jython_installer-2.2.jar.sha1 =================================================================== --- trunk/website/checksums/jython_installer-2.2.jar.sha1 (rev 0) +++ trunk/website/checksums/jython_installer-2.2.jar.sha1 2007-08-24 07:02:54 UTC (rev 3453) @@ -0,0 +1 @@ +0d95e8a1f5b9569ab5ba4a8e5a95aaf95e6b2e85 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cg...@us...> - 2007-09-24 08:22:15
|
Revision: 3535 http://jython.svn.sourceforge.net/jython/?rev=3535&view=rev Author: cgroves Date: 2007-09-24 01:22:14 -0700 (Mon, 24 Sep 2007) Log Message: ----------- 2.2.1rc1 Modified Paths: -------------- trunk/website/Project/download.txt trunk/website/Project/news.txt Added Paths: ----------- trunk/website/checksums/jython_installer-2.2.1rc1.jar.md5 trunk/website/checksums/jython_installer-2.2.1rc1.jar.sha1 Modified: trunk/website/Project/download.txt =================================================================== --- trunk/website/Project/download.txt 2007-09-24 07:55:09 UTC (rev 3534) +++ trunk/website/Project/download.txt 2007-09-24 08:22:14 UTC (rev 3535) @@ -9,5 +9,11 @@ [`SHA1 <../checksums/jython_installer-2.2.jar.sha1>`__] - Released on August 22, 2007. Requires Java 1.4.2 or later. +* jython-2.2.1_ + [`MD5 <../checksums/jython_installer-2.2.1rc1.jar.md5>`__] + [`SHA1 <../checksums/jython_installer-2.2.1rc1.jar.sha1>`__] + - Released on September 24, 2007. Requires Java 1.4.2 or later. + + __ stable.download_ - +.. _`jython-2.2.1`: http://downloads.sourceforge.net/jython/jython_installer-2.2.1rc1.jar Modified: trunk/website/Project/news.txt =================================================================== --- trunk/website/Project/news.txt 2007-09-24 07:55:09 UTC (rev 3534) +++ trunk/website/Project/news.txt 2007-09-24 08:22:14 UTC (rev 3535) @@ -1,6 +1,10 @@ Jython News ================ +**24th September 2007: Jython-2.2.1rc1** + +A release candidate for Jython 2.2.1, a bugfix release for 2.2, is available for `download`_. The `changelog`_ has the complete list of bugs fixed. + **22nd August 2007: Jython-2.2** Jython 2.2, the first production release of Jython in nearly six years, is now available for `download`_. Its feature set is equivalent to the 2.2 release of CPython. Only the version numbers changed from rc3 to this release; the code is identical otherwise. The `changelog`_ has a more complete list of the changes from 2.1 to 2.2. Added: trunk/website/checksums/jython_installer-2.2.1rc1.jar.md5 =================================================================== --- trunk/website/checksums/jython_installer-2.2.1rc1.jar.md5 (rev 0) +++ trunk/website/checksums/jython_installer-2.2.1rc1.jar.md5 2007-09-24 08:22:14 UTC (rev 3535) @@ -0,0 +1 @@ +cc2fc5f7a9c8a092bd83e315aab76334 Added: trunk/website/checksums/jython_installer-2.2.1rc1.jar.sha1 =================================================================== --- trunk/website/checksums/jython_installer-2.2.1rc1.jar.sha1 (rev 0) +++ trunk/website/checksums/jython_installer-2.2.1rc1.jar.sha1 2007-09-24 08:22:14 UTC (rev 3535) @@ -0,0 +1 @@ +67554e114d3fc918305d205c2208a6842da5229c This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cg...@us...> - 2007-10-05 05:33:20
|
Revision: 3569 http://jython.svn.sourceforge.net/jython/?rev=3569&view=rev Author: cgroves Date: 2007-10-04 22:33:18 -0700 (Thu, 04 Oct 2007) Log Message: ----------- 2.2.1rc2 bumpage Modified Paths: -------------- trunk/website/Project/download.txt trunk/website/Project/news.txt Added Paths: ----------- trunk/website/checksums/jython_installer-2.2.1rc2.jar.md5 trunk/website/checksums/jython_installer-2.2.1rc2.jar.sha1 Modified: trunk/website/Project/download.txt =================================================================== --- trunk/website/Project/download.txt 2007-10-05 05:11:00 UTC (rev 3568) +++ trunk/website/Project/download.txt 2007-10-05 05:33:18 UTC (rev 3569) @@ -9,11 +9,11 @@ [`SHA1 <../checksums/jython_installer-2.2.jar.sha1>`__] - Released on August 22, 2007. Requires Java 1.4.2 or later. -* jython-2.2.1rc1_ - [`MD5 <../checksums/jython_installer-2.2.1rc1.jar.md5>`__] - [`SHA1 <../checksums/jython_installer-2.2.1rc1.jar.sha1>`__] - - Released on September 24, 2007. Requires Java 1.4.2 or later. +* jython-2.2.1rc2_ + [`MD5 <../checksums/jython_installer-2.2.1rc2.jar.md5>`__] + [`SHA1 <../checksums/jython_installer-2.2.1rc2.jar.sha1>`__] + - Released on October 4, 2007. Requires Java 1.4.2 or later. __ stable.download_ -.. _`jython-2.2.1rc1`: http://downloads.sourceforge.net/jython/jython_installer-2.2.1rc1.jar +.. _`jython-2.2.1rc2`: http://downloads.sourceforge.net/jython/jython_installer-2.2.1rc2.jar Modified: trunk/website/Project/news.txt =================================================================== --- trunk/website/Project/news.txt 2007-10-05 05:11:00 UTC (rev 3568) +++ trunk/website/Project/news.txt 2007-10-05 05:33:18 UTC (rev 3569) @@ -1,6 +1,10 @@ Jython News ================ +**4th October 2007: Jython-2.2.1rc2** + +A second release candidate for Jython 2.2.1 is available for `download_`. This candidate removes a couple more places that Jython used the JVM's default encoding. See the `changelog`_ for the full list. + **24th September 2007: Jython-2.2.1rc1** A release candidate for Jython 2.2.1, a bugfix release for 2.2, is available for `download`_. The `changelog`_ has the complete list of bugs fixed. Added: trunk/website/checksums/jython_installer-2.2.1rc2.jar.md5 =================================================================== --- trunk/website/checksums/jython_installer-2.2.1rc2.jar.md5 (rev 0) +++ trunk/website/checksums/jython_installer-2.2.1rc2.jar.md5 2007-10-05 05:33:18 UTC (rev 3569) @@ -0,0 +1 @@ +e4e57dad733bcd0b21ef953a31ab356f Added: trunk/website/checksums/jython_installer-2.2.1rc2.jar.sha1 =================================================================== --- trunk/website/checksums/jython_installer-2.2.1rc2.jar.sha1 (rev 0) +++ trunk/website/checksums/jython_installer-2.2.1rc2.jar.sha1 2007-10-05 05:33:18 UTC (rev 3569) @@ -0,0 +1 @@ +78230dfec247655919aef0e45addb4a4201348b9 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cg...@us...> - 2007-10-14 20:16:42
|
Revision: 3604 http://jython.svn.sourceforge.net/jython/?rev=3604&view=rev Author: cgroves Date: 2007-10-14 13:16:38 -0700 (Sun, 14 Oct 2007) Log Message: ----------- 2.2.1 updates Modified Paths: -------------- trunk/website/Project/constants.txt trunk/website/Project/download.txt trunk/website/Project/index.txt trunk/website/Project/installation.txt trunk/website/Project/news.txt trunk/website/Project/roadmap.txt trunk/website/Project/userfaq.txt Added Paths: ----------- trunk/website/checksums/jython_installer-2.2.1.jar.md5 trunk/website/checksums/jython_installer-2.2.1.jar.sha1 Modified: trunk/website/Project/constants.txt =================================================================== --- trunk/website/Project/constants.txt 2007-10-14 00:50:07 UTC (rev 3603) +++ trunk/website/Project/constants.txt 2007-10-14 20:16:38 UTC (rev 3604) @@ -1,3 +1,3 @@ -.. |stable.installer.jar| replace:: jython_installer-2.2.jar +.. |stable.installer.jar| replace:: jython_installer-2.2.1.jar -.. _stable.download: http://downloads.sourceforge.net/jython/jython_installer-2.2.jar +.. _stable.download: http://downloads.sourceforge.net/jython/jython_installer-2.2.1.jar Modified: trunk/website/Project/download.txt =================================================================== --- trunk/website/Project/download.txt 2007-10-14 00:50:07 UTC (rev 3603) +++ trunk/website/Project/download.txt 2007-10-14 20:16:38 UTC (rev 3604) @@ -4,16 +4,9 @@ Downloads ========= -* jython-2.2__ - [`MD5 <../checksums/jython_installer-2.2.jar.md5>`__] - [`SHA1 <../checksums/jython_installer-2.2.jar.sha1>`__] +* jython-2.2.1__ + [`MD5 <../checksums/jython_installer-2.2.1.jar.md5>`__] + [`SHA1 <../checksums/jython_installer-2.2.1.jar.sha1>`__] - Released on August 22, 2007. Requires Java 1.4.2 or later. -* jython-2.2.1rc2_ - [`MD5 <../checksums/jython_installer-2.2.1rc2.jar.md5>`__] - [`SHA1 <../checksums/jython_installer-2.2.1rc2.jar.sha1>`__] - - Released on October 4, 2007. Requires Java 1.4.2 or later. - - __ stable.download_ -.. _`jython-2.2.1rc2`: http://downloads.sourceforge.net/jython/jython_installer-2.2.1rc2.jar Modified: trunk/website/Project/index.txt =================================================================== --- trunk/website/Project/index.txt 2007-10-14 00:50:07 UTC (rev 3603) +++ trunk/website/Project/index.txt 2007-10-14 20:16:38 UTC (rev 3604) @@ -11,7 +11,7 @@ .. admonition:: Latest News - The Jython development team is proud to announce a new release: Jython 2.2! + The Jython development team is proud to announce a new release: Jython 2.2.1! * `Download location`_ * `Installation instructions <installation.html>`__ Modified: trunk/website/Project/installation.txt =================================================================== --- trunk/website/Project/installation.txt 2007-10-14 00:50:07 UTC (rev 3603) +++ trunk/website/Project/installation.txt 2007-10-14 20:16:38 UTC (rev 3604) @@ -6,14 +6,14 @@ .. contents:: ----------- -Jython 2.2 ----------- +------------ +Jython 2.2.1 +------------ Basic Install ============= -Jython 2.2 is distributed as an executable jar file installer. After +Jython 2.2.1 is distributed as an executable jar file installer. After `downloading <download.html>`__ it, either double click the |stable.installer.jar| or run java with the -jar option @@ -81,7 +81,7 @@ Jython 2.1 is distributed as a self-extracting .class file created by LiftOff. It is known to have problems running on Java 6, so if you want to use Jython with that JVM either install Jython-2.1 with an earlier -JVM or use Jython-2.2. +JVM or use Jython-2.2.1. To install Jython, open the command line to the directory in which you have placed the jython-21.class file and then type: Modified: trunk/website/Project/news.txt =================================================================== --- trunk/website/Project/news.txt 2007-10-14 00:50:07 UTC (rev 3603) +++ trunk/website/Project/news.txt 2007-10-14 20:16:38 UTC (rev 3604) @@ -1,6 +1,11 @@ Jython News ================ +**14th October 2007: Jython-2.2.1** + +Jython 2.2.1 is available for `download`_. There have been no changes from rc2 to this release. See the `changelog`_ for the full list of changes from 2.2 to 2.2.1. + + **4th October 2007: Jython-2.2.1rc2** A second release candidate for Jython 2.2.1 is available for `download`_. This candidate removes a couple more places that Jython used the JVM's default encoding. See the `changelog`_ for the full list. Modified: trunk/website/Project/roadmap.txt =================================================================== --- trunk/website/Project/roadmap.txt 2007-10-14 00:50:07 UTC (rev 3603) +++ trunk/website/Project/roadmap.txt 2007-10-14 20:16:38 UTC (rev 3604) @@ -14,11 +14,11 @@ Jython pull most of its libraries that are written in pure Python (as opposed to the parts that are written in Java). -Jython 2.2 -=========== +Jython 2.2.1 +============ -Jython 2.2 has been released. We are also producing point releases -for bug fixing. +Jython 2.2.1 has been released. We will produce additional point releases +for bug fixing as necessary. Jython 2.5 ========================== Modified: trunk/website/Project/userfaq.txt =================================================================== --- trunk/website/Project/userfaq.txt 2007-10-14 00:50:07 UTC (rev 3603) +++ trunk/website/Project/userfaq.txt 2007-10-14 20:16:38 UTC (rev 3604) @@ -34,9 +34,9 @@ Is Jython the same language as Python? -------------------------------------- -Yes. Jython is an implementation of the Python language in Java. We strive to ensure that Jython remains as compatible with CPython as possible. The latest Jython release (2.1) implements the same language as CPython 2.1 and many of the CPython standard library modules. +Yes. Jython is an implementation of the Python language in Java. We strive to ensure that Jython remains as compatible with CPython as possible. The latest Jython release (2.2) implements the same language as CPython 2.2 and many of the CPython standard library modules. -There are two incompatibilities with modern CPython that often catch newcomers. First, Jython 2.1 does not implement any features added to CPython in version 2.2 or later. This includes language features such as generators, and library modules such as optparse. A more modern version of Jython is under active development. +There are two incompatibilities with modern CPython that often catch newcomers. First, Jython 2.2 does not implement any features added to CPython in version 2.3 or later. This includes language features such as decorators, and library modules such as optparse. A more modern version of Jython is under active development. Second, Jython programs cannot use CPython extension modules written in C. These modules usually have files with the extension .pyc, .pyd or .dll. If you want to use such a module, you should look for an equivalent written in pure Python or Java. @@ -52,8 +52,8 @@ What is the current status of Jython? -------------------------------------- -Jython-2.2_ is the current production release. Its feature set roughly -corresponds to that of Python-2.2. It was released on 22-Aug-2007. +Jython-2.2.1_ is the current production release. Its feature set roughly +corresponds to that of Python-2.2. It was released on 14-Oct-2007. How fast is Jython? ------------------- @@ -410,7 +410,7 @@ .. _jnios: http://sourceforge.net/projects/jnios .. _JNumeric: http://jnumerical.sourceforge.net/index.html .. _jreload: http://www.jython.org/docs/jreload.html -.. _Jython-2.2: stable.download_ +.. _Jython-2.2.1: stable.download_ .. _ReadlineSetup: http://wiki.python.org/jython/ReadlineSetup .. _Accessing Jython from Java Without Using jythonc: http://wiki.python.org/jython/JythonMonthly/Articles/September2006/1 .. _Simple and Efficient Jython Object Factories: http://wiki.python.org/jython/JythonMonthly/Articles/October2006/3 Added: trunk/website/checksums/jython_installer-2.2.1.jar.md5 =================================================================== --- trunk/website/checksums/jython_installer-2.2.1.jar.md5 (rev 0) +++ trunk/website/checksums/jython_installer-2.2.1.jar.md5 2007-10-14 20:16:38 UTC (rev 3604) @@ -0,0 +1 @@ +774543534bef2d68247953882237d448 Added: trunk/website/checksums/jython_installer-2.2.1.jar.sha1 =================================================================== --- trunk/website/checksums/jython_installer-2.2.1.jar.sha1 (rev 0) +++ trunk/website/checksums/jython_installer-2.2.1.jar.sha1 2007-10-14 20:16:38 UTC (rev 3604) @@ -0,0 +1 @@ +6fea1e8985af955fc843789e2d60fcfc38a76fd8 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cg...@us...> - 2007-12-30 19:34:43
|
Revision: 3910 http://jython.svn.sourceforge.net/jython/?rev=3910&view=rev Author: cgroves Date: 2007-12-30 11:34:40 -0800 (Sun, 30 Dec 2007) Log Message: ----------- Add a section on JSR 223 to the userguide and do some general cleanup on things that caught my eye while going through the site. Moved the developer guide link to the one on the wiki since the one in here was out of date and only half complete Modified Paths: -------------- trunk/website/Project/contributors.txt trunk/website/Project/userfaq.txt trunk/website/Project/userguide.txt trunk/website/left.nav Removed Paths: ------------- trunk/website/Project/devguide.txt trunk/website/Project/patchadmin.txt trunk/website/Project/randexposed.txt trunk/website/Project/related.txt Modified: trunk/website/Project/contributors.txt =================================================================== --- trunk/website/Project/contributors.txt 2007-12-30 19:06:53 UTC (rev 3909) +++ trunk/website/Project/contributors.txt 2007-12-30 19:34:40 UTC (rev 3910) @@ -6,8 +6,11 @@ Active Commiters ---------------- +* James Baker * Charlie Groves * Otmar Humbel +* Tobias Ivarsson +* Philip Jenvey * Alan Kennedy * Samuele Pedroni * Frank Wierzbicki Deleted: trunk/website/Project/devguide.txt =================================================================== --- trunk/website/Project/devguide.txt 2007-12-30 19:06:53 UTC (rev 3909) +++ trunk/website/Project/devguide.txt 2007-12-30 19:34:40 UTC (rev 3910) @@ -1,377 +0,0 @@ -========================== - Jython Developer's Guide -========================== - -.. contents:: Table of Contents - -Introduction -============ -You might be interested in reading `Jim Hugunin's JPython paper`_, -which appeared in the proceedings of the 6th International Python -Conference. - -This is an introduction to developing Jython, just to get someone started. It doesn't cover in any depth the source code or the design behind Jython. It's purely aimed at getting a development environment setup. It's definitely not complete so feel free to make it better! - -The Wiki -======== -Wiki http://wiki.python.org/jython/ - -Mailing Lists -============= -Mailing Lists http://sourceforge.net/mail/?group_id=12867 - -Subversion -========== - -checkout --------- - -This checks out all of the jython subprojects (bugtests, jython -- the main codebase, sandbox etc.) - -:: - - svn co https://jython.svn.sourceforge.net/svnroot/jython/trunk/ - -* 2.1 Stable: - -:: - - svn co https://jython.svn.sourceforge.net/svnroot/jython/tags/Release_2_1 - -* 2.2 Alpha 1: - -:: - - svn co https://jython.svn.sourceforge.net/svnroot/jython/tags/Release_2_2alpha1 - -* Preparing a Patch on Unix command line: (note multiple changes can be concatencated into one patch file using >> as shown. - -:: - - cvs -z3 -d:pserver:ano...@cv...:/cvsroot/jython diff -u PyFloat.java >> patchfile.txt - -Python -====== - - * http://www.python.org/2.2.3/ - * Jython uses Python's standard library where possible. This means you will need a working copy of Python source files for the stdlib. We currently use Python 2.2 so you can grab the files from here if you don't already have 2.2 installed. - - -JavaCC -====== - - * https://javacc.dev.java.net/ - * Parser generator for Java. Generally needed only for working on parser. - * It's not really required that you install this so I'd skip it. - * The latest version is JDK 1.5 compatible (uses 'e' rather than 'enum' as variable name). - -Ant -=== - - * http://ant.apache.org/ A Java-based build tool. - * Eclipse users, see [wiki:Self:/JythonDeveloperGuide/EclipseNotes#ANT Eclipse ANT notes] - * The Makefiles in the repository are old and will be removed. - * Download the latest version and install so the bin/ is somewhere in your path. - * The build.xml is the file containing the compiler directives - * It uses a file called ant.properties to override default paths; here's mine: - - build.compiler=modern - debug=on - optimize=off - - javaccHome=/Users/bzimmer/Library/Java/Extras/javacc-3.2 - - ht2html.dir= - #python.home= - python.lib=/sw/lib/python2.2 - python.exe=/sw/bin/python2.2 - - ### zxJDBC ### - oracle.jar= - mysql.jar=/Users/bzimmer/Library/Java/Extras/mysql-connector-java-3.1.6-bin.jar - informix.jar= - postgresql.jar=/Users/bzimmer/Library/Java/Extras/pg74.215.jdbc2.jar - jdbc.jar= - servlet.jar= - - -Jars -==== - - * Jython uses many optional jars - * These are not required for building locally but are for deployment with the installer - * The ant script takes care of conditional compilation - -IDEs -==== - - * Any Java IDE will work - * IntelliJ - * Eclipse see /EclipseNotes - * Vim - * ... - -Tests -===== - -After you've built the project, you may want to set up an excutable file on your path to make it easy to launch your build of jython. This file will need to: - -* Set the python home property to the `dist` directory of your build (otherwise, you'll get import errors on the standard lib stuff). -* Execute the `jython.jar` in the `dist` produced by the build. - -Here's a batch file that runs the built jython.jar (for windows): [[Anchor(sampleBatch)]] - -jytip.bat -========= - -:: - - @echo off - set ARGS= - - :: concatenate all the command line args into one - :loop - if [%1] == [] goto end - set ARGS=%ARGS% %1 - shift - goto loop - :end - - :: this is mine... - :: java -Dpython.home=C:\\workspace\\JythonTip\\jython\\dist -jar - ::<cont> c:\workspace\JythonTip\jython\dist\jython.jar %ARGS% - :: fill in <placeholders> below: - java -Dpython.home=<path to dist directory>\\dist -jar <path to dist directory>\dist\jython.jar %ARGS% - - -Now your ready to run tests... - - * There are a couple different places to find test cases - * Jython's Lib/test - * Jython's bugtests repository - * Python2.2's Lib/test - * Run the particular test or you can run the whole suite by running `regrtest.py` with the `-a` option - -Directory layout -================ - - * src - * com : zxJDBC related sources - * org : top level package for python and apache (used for regex) - * Demo : demo sources for the website and such - * Doc : the website documentation - * installer : the current installer. - * Lib : the python source files for Jython standard library implementations - * Lib/test : test cases - * Misc : random scripts which are not all used; some generate source - * Tools : JythonC and Freeze - -Coding Guidance -=============== - - * CodingStandards_ : The standards for writing Java code for Jython - * JythonModulesInJava_ : How to write a Jython module in Java - * JythonClassesInJava_ : How to write a Jython class in Java - - -New Style Classes -================= -`Unifying types and classes in Python`_ - -svn co jython/trunk/sandbox - -cd sandbox/jt - -There are two primary objectives: - - 1. expose the necessary methods for making an existing class 'new-style' - 2. generating a wrapper class for subclasses in python to implement - -To do this there are two scripts: - - * gexpose.py (for exposing) - * gderived.py (for deriving or subclassing) - -They each have a simple input language for determing exactly what to implement. Note that these .expose and .derived files are hand generated. - -For example, looking at a partial listing of list.expose: - -type_name: list -type_class: PyList -# exposed methods -expose_meth: :- append o -expose_meth: :i count o -expose_meth: pop i? -expose_meth: :b __nonzero__ - -So the type_name is 'list'. - ->>> type([]) -<type 'list'> - -It is intended to expose methods for PyList. - - * It exposes the method 'append' which takes a PyObject and returns void. - * It exposes the method 'count' which takes a PyObject and returns an int. - * It exposes the method 'pop' which takes an optional int and returns a PyObject. - * It exposes the method '__nonzero__' which takes no arguments and returns a boolean. - -Running gexpose.py produces some Java code. - -$ python gexpose.py list.expose > list.txt - -Opening the file list.txt in your favorite editor you'll see the Java code. This code should then be pasted into the class PyList at the top of the file. This will result in a slew of compiler problems. - -The problem is PyList doesn't have any of the methods. The generated code expected 'list_append' but PyList has only 'append' so the compiler complains. This is intended. Now for the boring part. For each method exposed, we need to create a new method. For example: - -:: - - public void append(PyObject o) { - list_append(o); - } - - final void list_append(PyObject o) { - resize(length+1); - list[length-1] = o; - } - -Notice the new method is final and package protected. So follow the pattern for each method that needs to be exposed. - -The special method __init__ should delegate to 'list_init' which needs to handle the constructor arguments of a list. If there is no argument, create a new list. If an argument, copy it's contents to a new list. - -Make sure the class has a constructor which takes a PyType. - -Finally, make sure the type is registered with __builtin__. - - * It should also be noted an existing 'list' was registered which provided the construction of a new list under the old scheme. I moved this code to PyList and deleted it from __builtin__. This is much better since all list construction now happens in one spot. - -Run some quick tests: - ->>> list() -[] ->>> list([1,2,3]) -[1, 2, 3] ->>> type([]) -<type 'list'> ->>> list -<type 'list'> ->>> - -After that was done, run the regrtest and the bugtests. The bugtests caught a bug in my original effort. I had forgotten to make the constructor with PyType argument so any list(arg) call failed quickly as the PyType instance was the argument to the PyList(PyObject) constuctor and since PyType is not iterable, the call failed. The tests were great in tracking this down. - -Another Newstyle Class Example: Implementing the _random module -=============================================================== - -Module ------- - -Start by writing a class to represent the module, I'll call it RandomModule. -:: - - package org.python.modules.random; - - import org.python.core.ClassDictInit; - import org.python.core.Py; - import org.python.core.PyObject; - - public class RandomModule implements ClassDictInit { - - private RandomModule() {} - - public static void classDictInit(PyObject dict) { - dict.__setitem__("Random", Py.java2py(PyRandom.class)); - } - } - -.. Note: ClassDictInit is the old style way for initializing the class dictionary -- need to see if there is - a newstyle way to create a module. - -put module into builtin ------------------------ - -Next add this line to the builtinModules method of org.python.modules.Setup, to put _random into the builtin namespace: - - "_random:org.python.module.random.RandomModule" - -Next we create a stub for the "Random" object. I'm going to call it PyRandom since it will depend on -java.util.Random and I don't want to have to qualify the "Random" name throughout the code. - -:: - - package org.python.modules.random; - - import org.python.core.PyObject; - import org.python.core.PyType; - import java.util.Random; - - public class PyRandom extends PyObject { - //~ BEGIN GENERATED REGION -- DO NOT EDIT SEE gexpose.py - //~ END GENERATED REGION -- DO NOT EDIT SEE gexpose.py - - private static final PyType RANDOMTYPE = PyType.fromClass(PyRandom.class); - - public PyRandom() { - this(RANDOMTYPE); - } - - public PyRandom(PyType subType) { - super(subType); - } - - } - -Create a random.expose file ---------------------------- -Found the methods of _random.Random from CPython's _randommodule.c - ->>> import _random ->>> dir(_random) -['Random', '__doc__', '__file__', '__name__'] ->>> dir(_random.Random) -['__class__', '__delattr__', '__doc__', '__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', 'getrandbits', 'getstate', 'jumpahead', 'random', 'seed', 'setstate'] - -:: - - # setup - type_name: random - type_class: PyRandom - # exposed methods - expose_meth: random - expose_meth: seed o? - expose_meth: :o getstate - expose_meth: setstate o - expose_meth: jumpahead - expose_meth: getrandbits - expose_meth: __reduce__ - #expose_meth: __reduce_ex__ - expose_meth: __repr__ - expose_meth: __str__ - expose_new_mutable: - expose_wide_meth: __init__ -1 -1 - `vdeleg`(init); - `void; - -Then execute: -:: - - gexpose.py random.expose /path/to/file/PyRandom.java - -which will modify PyRandom.java in place and produce `this version of PyRandom`_ - -Then we need to fill out all of those methods. for each of the methods that -start with `random_`, we also need to implement a bare version for Java -subclassing. - -org.python.modules.random.PyRandom is in the 2.3 branch, but is a stub implementation. -If you are interested in implementing it please say so on the jython-dev list. - -Create a random.derived file ----------------------------- - -.. _Jim Hugunin's JPython paper: http://www.python.org/workshops/1997-10/proceedings/hugunin.html -.. _CodingStandards: http://wiki.python.org/jython/CodingStandards -.. _JythonModulesInJava: http://wiki.python.org/jython/JythonModulesInJava -.. _JythonClassesInJava: http://wiki.python.org/jython/JythonClassesInJava -.. _Unifying types and classes in Python: -.. _this version of PyRandom: randexposed.html - Deleted: trunk/website/Project/patchadmin.txt =================================================================== --- trunk/website/Project/patchadmin.txt 2007-12-30 19:06:53 UTC (rev 3909) +++ trunk/website/Project/patchadmin.txt 2007-12-30 19:34:40 UTC (rev 3910) @@ -1,77 +0,0 @@ -======================== -Patch Manager Guidelines -======================== - -Intended use of SourceForge patch Resolution, Status & "Assigned To" fields Revision 4 16-Mar-2001 - -In general, the Resolution and Status fields should be close to self-explanatory, and the "Assigned to:" field should be the person responsible for taking the next step in the patch process. Both fields are expected to change value over the life of a patch; the normal workflow is detailed below. - -When you've got the time and the ability, feel free to move any patch that catches your eye along, whether or not it's been assigned to you. And if you're assigned to a patch but aren't going to take reasonably quick action (for whatever reason), please assign it to someone else ASAP: at those times you can't actively help, actively get out of the way. - -If you're an expert in some area and know that a patch in that area is both needed and non-controversial, just commit your changes directly -- no need then to get the patch mechanism involved in it. - -You should add a comment to every patch assigned to you at least once a week, if only to say that you realize it's still on your plate. This rule is meant to force your attention periodically: patches get harder & harder to deal with the longer they sit. - -Status Open, Resolution None -============================ - -The initial state of all patches. The patch is under consideration, but has not been reviewed yet, or s under review but not yet Accepted or Rejected. - -The Resolution will normally change to Accepted or Rejected next. The person submitting the patch should (if they can) assign it to the person they most want to review it. - -Else the patch will be assigned via [xxx a list of expertise areas should be developed] [xxx but since this hasn't happened and volunteers are too few, andom assignment is better than nothing: if you're a Jython developer, expect to get assigned out of the blue!] - -Discussion of major patches is carried out on the Jython-Dev mailing list. For simple patches, the SourceForge comment mechanism should be sufficient. [xxx an email gateway would be great, ditto Ping's Roundup] For the reviewer: If you're certain the patch should be applied, change the Resolution to Accepted and assign it back to the submitter (if possible) for checkin. If you're certain the patch should never be accepted, change the Resolution to Rejected, Status to Closed, and assign it to None. - -If you have specific complaints that would cause you to change your mind, explain them clearly in a comment, leave the status Open, and reassign back to the submitter. If you're uncertain, leave the status Open, explain your uncertainties in a comment, and reassign the patch to someone you believe can address your remaining questions; or leave the status Open and bring it up on Jython-Dev. - -Status Open, Resolution Accepted -================================ - -The powers that be accepted the patch, but it hasn't been applied yet. [xxx flesh out -- Guido Bottleneck avoidable here?] - -The Status will normally change to Closed next. - -The person changing the Resolution to Accepted should, at the same time, assign the patch to whoever they believe is most likely to be able & willing to apply it (the submitter if possible). - -Status Closed, Resolution Accepted -================================== - -The patch has been accepted and applied. - -The previous Resolution was Accepted, or possibly None if the submitter was Guido (or moral equivalent in some particular area of expertise). - -Status Closed, Resolution Rejected -================================== - -The patch has been reviewed and rejected. - -There are generally no transitions out of this state: the patch is dead. - -The person setting this state should also assign the patch to None. - -Status Open, Resolution Out of date -=================================== - -Previous Resolution was Accepted or Postponed, but the patch no longer works. - -Please enter a comment when changing the Resolution to "Out of date", to record the nature of the problem and the previous state. - -Also assign it back to the submitter, as they need to upload a new version. - -Status Open, Resolution Postponed -================================= - -The previous Resolution was None or Accepted, but for some reason (e.g., pending release) the patch should not be reviewed or applied until further notice. - -The Resolution will normally change to None or Accepted next. - -Please enter a comment when changing the Resolution to Postponed, to record the reason, the previous Resolution, and the conditions under which the patch should revert to Resolution None or Accepted. Also assign the patch to whoever is most likely able and willing to decide when the state should change again. - -Status Deleted -============== - -Bit bucket. - -Use only if it's OK for the patch and its SourceForge history to disappear. As of 09-July-2000, SF does not actually throw away Deleted patches, but that may change. - Deleted: trunk/website/Project/randexposed.txt =================================================================== --- trunk/website/Project/randexposed.txt 2007-12-30 19:06:53 UTC (rev 3909) +++ trunk/website/Project/randexposed.txt 2007-12-30 19:34:40 UTC (rev 3910) @@ -1,260 +0,0 @@ -:: - - package org.python.modules.random; - - import java.util.Random; - import org.python.core.PyObject; - import org.python.core.PyType; - - public class PyRandom extends PyObject { - //~ BEGIN GENERATED REGION -- DO NOT EDIT SEE gexpose.py - /* type info */ - - public static final String exposed_name="random"; - - public static void typeSetup(PyObject dict,PyType.Newstyle marker) { - class exposed_random extends PyBuiltinFunctionNarrow { - - private PyRandom self; - - public PyObject getSelf() { - return self; - } - - exposed_random(PyRandom self,PyBuiltinFunction.Info info) { - super(info); - this.self=self; - } - - public PyBuiltinFunction makeBound(PyObject self) { - return new exposed_random((PyRandom)self,info); - } - - public PyObject __call__() { - return self.random_random(); - } - - public PyObject inst_call(PyObject gself) { - PyRandom self=(PyRandom)gself; - return self.random_random(); - } - - } - dict.__setitem__("random",new PyMethodDescr("random",PyRandom.class,0,0,new exposed_random(null,null))); - class exposed_seed extends PyBuiltinFunctionNarrow { - - private PyRandom self; - - public PyObject getSelf() { - return self; - } - - exposed_seed(PyRandom self,PyBuiltinFunction.Info info) { - super(info); - this.self=self; - } - - public PyBuiltinFunction makeBound(PyObject self) { - return new exposed_seed((PyRandom)self,info); - } - - public PyObject __call__(PyObject arg0) { - return self.random_seed(arg0); - } - - public PyObject inst_call(PyObject gself,PyObject arg0) { - PyRandom self=(PyRandom)gself; - return self.random_seed(arg0); - } - - public PyObject __call__() { - return self.random_seed(); - } - - public PyObject inst_call(PyObject gself) { - PyRandom self=(PyRandom)gself; - return self.random_seed(); - } - - } - dict.__setitem__("seed",new PyMethodDescr("seed",PyRandom.class,0,1,new exposed_seed(null,null))); - class exposed_getstate extends PyBuiltinFunctionNarrow { - - private PyRandom self; - - public PyObject getSelf() { - return self; - } - - exposed_getstate(PyRandom self,PyBuiltinFunction.Info info) { - super(info); - this.self=self; - } - - public PyBuiltinFunction makeBound(PyObject self) { - return new exposed_getstate((PyRandom)self,info); - } - - public PyObject __call__() { - return self.random_getstate(); - } - - public PyObject inst_call(PyObject gself) { - PyRandom self=(PyRandom)gself; - return self.random_getstate(); - } - - } - dict.__setitem__("getstate",new PyMethodDescr("getstate",PyRandom.class,0,0,new exposed_getstate(null,null))); - class exposed_setstate extends PyBuiltinFunctionNarrow { - - private PyRandom self; - - public PyObject getSelf() { - return self; - } - - exposed_setstate(PyRandom self,PyBuiltinFunction.Info info) { - super(info); - this.self=self; - } - - public PyBuiltinFunction makeBound(PyObject self) { - return new exposed_setstate((PyRandom)self,info); - } - - public PyObject __call__(PyObject arg0) { - return self.random_setstate(arg0); - } - - public PyObject inst_call(PyObject gself,PyObject arg0) { - PyRandom self=(PyRandom)gself; - return self.random_setstate(arg0); - } - - } - dict.__setitem__("setstate",new PyMethodDescr("setstate",PyRandom.class,1,1,new exposed_setstate(null,null))); - class exposed_jumpahead extends PyBuiltinFunctionNarrow { - - private PyRandom self; - - public PyObject getSelf() { - return self; - } - - exposed_jumpahead(PyRandom self,PyBuiltinFunction.Info info) { - super(info); - this.self=self; - } - - public PyBuiltinFunction makeBound(PyObject self) { - return new exposed_jumpahead((PyRandom)self,info); - } - - public PyObject __call__() { - return self.random_jumpahead(); - } - - public PyObject inst_call(PyObject gself) { - PyRandom self=(PyRandom)gself; - return self.random_jumpahead(); - } - - } - dict.__setitem__("jumpahead",new PyMethodDescr("jumpahead",PyRandom.class,0,0,new exposed_jumpahead(null,null))); - class exposed_randrange extends PyBuiltinFunctionNarrow { - - private PyRandom self; - - public PyObject getSelf() { - return self; - } - - exposed_randrange(PyRandom self,PyBuiltinFunction.Info info) { - super(info); - this.self=self; - } - - public PyBuiltinFunction makeBound(PyObject self) { - return new exposed_randrange((PyRandom)self,info); - } - - public PyObject __call__() { - return self.random_randrange(); - } - - public PyObject inst_call(PyObject gself) { - PyRandom self=(PyRandom)gself; - return self.random_randrange(); - } - - } - dict.__setitem__("randrange",new PyMethodDescr("randrange",PyRandom.class,0,0,new exposed_randrange(null,null))); - class exposed___init__ extends PyBuiltinFunctionWide { - - private PyRandom self; - - public PyObject getSelf() { - return self; - } - - exposed___init__(PyRandom self,PyBuiltinFunction.Info info) { - super(info); - this.self=self; - } - - public PyBuiltinFunction makeBound(PyObject self) { - return new exposed___init__((PyRandom)self,info); - } - - public PyObject inst_call(PyObject self,PyObject[]args) { - return inst_call(self,args,Py.NoKeywords); - } - - public PyObject __call__(PyObject[]args) { - return __call__(args,Py.NoKeywords); - } - - public PyObject __call__(PyObject[]args,String[]keywords) { - self.random_init(args,keywords); - return Py.None; - } - - public PyObject inst_call(PyObject gself,PyObject[]args,String[]keywords) { - PyRandom self=(PyRandom)gself; - self.random_init(args,keywords); - return Py.None; - } - - } - dict.__setitem__("__init__",new PyMethodDescr("__init__",PyRandom.class,-1,-1,new exposed___init__(null,null))); - dict.__setitem__("__new__",new PyNewWrapper(PyRandom.class,"__new__",-1,-1) { - - public PyObject new_impl(boolean init,PyType subtype,PyObject[]args,String[]keywords) { - PyRandom newobj; - if (for_type==subtype) { - newobj=new PyRandom(); - if (init) - newobj.random_init(args,keywords); - } else { - newobj=new PyRandomDerived(subtype); - } - return newobj; - } - - }); - } - //~ END GENERATED REGION -- DO NOT EDIT SEE gexpose.py - - private static final PyType RANDOMTYPE = PyType.fromClass(PyRandom.class); - - public PyRandom() { - this(RANDOMTYPE); - } - - public PyRandom(PyType subType) { - super(subType); - } - - } - Deleted: trunk/website/Project/related.txt =================================================================== --- trunk/website/Project/related.txt 2007-12-30 19:06:53 UTC (rev 3909) +++ trunk/website/Project/related.txt 2007-12-30 19:34:40 UTC (rev 3910) @@ -1,6 +0,0 @@ -* Python_ project -* PyPy_ project - -.. _Python: http://www.python.org -.. _PyPy: http://www.pypy.org - Modified: trunk/website/Project/userfaq.txt =================================================================== --- trunk/website/Project/userfaq.txt 2007-12-30 19:06:53 UTC (rev 3909) +++ trunk/website/Project/userfaq.txt 2007-12-30 19:34:40 UTC (rev 3910) @@ -160,9 +160,8 @@ so dir(someJavaObject.__class__) would return a list of the method names (although only for the direct class, not for any base classes). -Why can't I execute a 'protected' or 'private' Java instance method or -access a 'protected' or 'private' attribute in a Java package? ---------------------------------------------------------------------------------------------------------------------------- +Why can't I execute a 'protected' or 'private' Java instance method or access a 'protected' or 'private' attribute in a Java package? +------------------------------------------------------------------------------------------------------------------------------------- By default, as in Java, these methods are protected from external access. Access to all Java fields and methods can be enabled with the python.security.respectJavaAccessibility registry setting:: Modified: trunk/website/Project/userguide.txt =================================================================== --- trunk/website/Project/userguide.txt 2007-12-30 19:06:53 UTC (rev 3909) +++ trunk/website/Project/userguide.txt 2007-12-30 19:34:40 UTC (rev 3910) @@ -617,8 +617,9 @@ Embedding Jython ---------------- -There are two options for embedding Jython in a Java -application. You can make a real Java class out of a Python class, and then call it from your Java code, as previously described, or you can use the PythonInterpreter object +There are two options for embedding Jython in a Java application. You can make +a real Java class out of a Python class, and then call it from your Java code, +as previously described, or you can use the PythonInterpreter object Information on the PythonInterpreter can be found in the JavaDoc documentation for `org.python.util.PythonInterpreter`_. @@ -629,9 +630,9 @@ import sys print sys - a=42 + a = 42 print a - x=2+2 + x = 2 + 2 print "x:",x @@ -639,30 +640,63 @@ The java code required to execute the python program: :: + import org.python.core.PyException; + import org.python.core.PyInteger; + import org.python.core.PyObject; import org.python.util.PythonInterpreter; - import org.python.core.*; public class SimpleEmbedded { - public static void main(String []args) - throws PyException - { - PythonInterpreter interp = - new PythonInterpreter(); - System.out.println("Hello, brave new world"); + public static void main(String[] args) throws PyException { + PythonInterpreter interp = new PythonInterpreter(); interp.exec("import sys"); interp.exec("print sys"); - interp.set("a", new PyInteger(42)); interp.exec("print a"); interp.exec("x = 2+2"); PyObject x = interp.get("x"); + System.out.println("x: " + x); + } + } + +Using JSR 223 +============= - System.out.println("x: "+x); - System.out.println("Goodbye, cruel world"); +JSR 223, Scripting for the Java language, added the javax.script pacakge to +Java 6. It allows multiple scripting languages to be used through the same API +as long as the language provides a script engine. The `scripting project`_ +contains such an engine for Jython. It can be used to embed Jython in your +application alongside many other languages that have script engines such as JRuby or Groovy. + +The usage of PythonInterpreter above translates to the following using JSR 223: +:: + + import javax.script.ScriptEngine; + import javax.script.ScriptEngineManager; + import javax.script.ScriptException; + + public class JSR223 { + + public static void main(String[] args) throws ScriptException { + ScriptEngine engine = new ScriptEngineManager().getEngineByName("python"); + engine.eval("import sys"); + engine.eval("print sys"); + engine.put("a", 42); + engine.eval("print a"); + engine.eval("x = 2 + 2"); + Object x = engine.get("x"); + System.out.println("x: " + x); } } +To use JSR 223 with Jython, `download the engine`_ and add it to your classpath +along with Jython. Then use code like the above to create and use an engine. +One difference between embedding with JSR 223 and using PythonInterpreter +directly is that the scripting engine manages its own PySystemState per thread +so it can always set the classloader to the thread's context classloader. This +means if you want to do anything Jython specific to PySystemState, like adding +to sys.path or setting sys.stdin and sys.stdout, you should do it after +creating the ScriptEngine. --------------------------------------------------- Java Reload (experimental) simple Support - JReload @@ -1406,3 +1440,5 @@ .. _Jython-users mailing list: http://lists.sourceforge.net/lists/listinfo/jython-users .. _org.python.util.PythonInterpreter: http://www.jython.org/docs/javadoc/org/python/util/PythonInterpreter.html .. _jythonc: jythonc.html +.. _`scripting project`: https://scripting.dev.java.net/ +.. _`download the engine`: https://scripting.dev.java.net/servlets/ProjectDocumentList Modified: trunk/website/left.nav =================================================================== --- trunk/website/left.nav 2007-12-30 19:06:53 UTC (rev 3909) +++ trunk/website/left.nav 2007-12-30 19:34:40 UTC (rev 3910) @@ -2,24 +2,21 @@ menupageitem | Welcome | ../Project/index.html menupageitem | License | ../Project/license.html menupageitem | Installation | ../Project/installation.html -menupageitem | Old Website | ../Jython21.html menupageitem | FAQ | ../Project/userfaq.html menupageitem | News | ../Project/news.html menupageitem | History | ../Project/history.html menupageitem | Download | ../Project/download.html menupageitem | User Guide | ../Project/userguide.html +menupageitem | Old Website | ../Jython21.html #menupageitem | Books and Articles | ../Project/books_articles.html #menupageitem | CPython comparison | ../Project/differences.html -menupageitem | Related Projects | ../Project/related.html section | Community menupageitem | Wiki | http://wiki.python.org/jython/ menupageitem | Reporting Bugs | ../Project/bugs.html menupageitem | Mailing Lists | http://sourceforge.net/mail/?group_id=12867 menupageitem | Developer FAQ | ../Project/devfaq.html -menupageitem | Developer Guide | ../Project/devguide.html +menupageitem | Developer Guide | http://wiki.python.org/jython/JythonDeveloperGuide menupageitem | Jython Roadmap | ../Project/roadmap.html -#menupageitem | JEP Index | ../jeps/jep-0000.html -#menupageitem | To Do List | ../Project/todo.html menupageitem | Contributors | ../Project/contributors.html section | raw | <div style="height:1em"></div> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <otm...@us...> - 2008-01-15 23:44:34
|
Revision: 4037 http://jython.svn.sourceforge.net/jython/?rev=4037&view=rev Author: otmarhumbel Date: 2008-01-15 15:42:58 -0800 (Tue, 15 Jan 2008) Log Message: ----------- added link to pep-0249, added dist directory to svn:ignore Modified Paths: -------------- trunk/website/Project/userguide.txt Property Changed: ---------------- trunk/website/ Property changes on: trunk/website ___________________________________________________________________ Name: svn:ignore - .project + .project dist Modified: trunk/website/Project/userguide.txt =================================================================== --- trunk/website/Project/userguide.txt 2008-01-15 23:03:30 UTC (rev 4036) +++ trunk/website/Project/userguide.txt 2008-01-15 23:42:58 UTC (rev 4037) @@ -965,7 +965,7 @@ Database connectivity in Jython ------------------------------- -The zxJDBC package provides a nearly 100% Python DB API 2.0 compliant +The zxJDBC package provides a nearly 100% Python `DB API 2.0`_ compliant interface for database connectivity in Jython. It is implemented entirely in Java and makes use of the JDBC API. This means any database capable of being accessed through JDBC, either directly or using the JDBC-ODBC @@ -1442,3 +1442,4 @@ .. _jythonc: jythonc.html .. _`scripting project`: https://scripting.dev.java.net/ .. _`download the engine`: https://scripting.dev.java.net/servlets/ProjectDocumentList +.. _`DB API 2.0`: http://www.python.org/dev/peps/pep-0249/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |