2
2
Normally this would mean a new file index_jy.rst, but index.rst is the
3
3
starting point for the documentation.
4
4
We therefore keep it as modified, although merging changes from the CPython
5
- devguide difficult for this file.
5
+ devguide will be difficult for this file.
6
6
7
7
========================
8
8
Jython Developer's Guide
9
9
========================
10
10
11
11
This guide is a comprehensive resource for :ref: `contributing <contributing >`
12
12
to Jython _ -- for both new and experienced contributors.
13
- It has been adapted from the CPython Developer's Guide and the reader should
13
+ It has been (somewhat incompletely)
14
+ adapted from the CPython Developer's Guide and the reader should
14
15
bear in mind that:
15
16
16
- * The CPython process is PR-based on GitHub and this guide anticipates our
17
- adoption of that for Jython.
18
- * The existing Jython process uses Mercurial so the guide describes that too.
17
+ * The Jython process, like CPython's, is based GitHub PRs,
18
+ but Jython does not have the same set of tool integrations.
19
+ * Jython migrated from Mercurial in 2020, much later than CPython,
20
+ so Jython-specific parts of the guide may refer to the old process.
19
21
* Statements about "Python" should apply to both CPython and Jython.
20
- * The adaptation is imperfect: parts of the guide will say (or mean) CPython.
22
+ The adaptation is imperfect: parts of the guide will say (or mean) CPython.
21
23
22
24
This guide is :ref: `maintained <helping-with-the-developers-guide >` by the same
23
25
community that maintains CPython and Jython.
@@ -30,20 +32,9 @@ Quick Reference
30
32
Mercurial
31
33
^^^^^^^^^
32
34
33
- 1. :ref: `Get the source code <checkout-jy >`::
35
+ Mercurial is no longer used.
36
+ The previous official repository at ``https://hg.python.org/jython `` is not current.
34
37
35
- hg clone http://hg.python.org/jython
36
-
37
- 2. :ref: `Build Jython <compiling-jy >`::
38
-
39
- ant
40
-
41
- 3. :doc: `Run the tests <runtests_jy >`::
42
-
43
- ant regrtest
44
-
45
- 4. Make the :doc: `patch <patch_hg_jy >`.
46
- 5. Submit it to the `Jython issue tracker `_.
47
38
48
39
GitHub
49
40
^^^^^^
@@ -56,7 +47,7 @@ instructions please see the :ref:`setup guide <setup-jy>`.
56
47
1. Install and set up :ref: `Git <vcsetup-jy >` and other dependencies
57
48
(see the :ref: `Get Setup <setup-jy >` page for detailed information).
58
49
59
- 2. Fork ` the Jython repository < https://github.com/jython/jython > `_
50
+ 2. Fork the ` Jython GitHub repository `_
60
51
to your GitHub account and :ref: `get the source code <checkout-jy >` using::
61
52
62
53
git clone https://github.com/<your_username>/jython
@@ -72,39 +63,50 @@ instructions please see the :ref:`setup guide <setup-jy>`.
72
63
73
64
4. :doc: `Run the tests <runtests_jy >`::
74
65
75
- dist/bin/jython -m test -e
66
+ dist/bin/jython -m test.regrtest -e
76
67
77
- (for Jython 3). With Jython 2.7, replace ``test`` with ``test.regrtest``.
68
+ This applies for Jython 2.7.
69
+ To test Jython 3, when it exists, replace ``test.regrtest`` with ``test``.
78
70
79
71
5. Create a new branch where your work for the issue will go, e.g.::
80
72
81
73
git checkout -b fix-issue-12345 master
82
74
83
- If an issue does not already exist, please `create it
84
- <https://bugs.jython.org/>`_. Trivial issues (e.g. typo fixes) do not
85
- require any issue to be created.
75
+ If an issue does not already exist, please create it on
76
+ the `Jython GitHub repository`_.
77
+ The legacy `bug tracker <https://bugs.jython.org/>`_ still operates
78
+ (for Jython 2.7 only) but is not preferred.
79
+ Trivial issues (e.g. typo fixes) do not require any issue to be created:
80
+ create a PR directly.
86
81
87
82
6. Once you fixed the issue, run the tests, and if
88
83
everything is ok, commit.
89
84
90
- 7. Push the branch on your fork on GitHub and :doc: ` create a pull request
91
- <pullrequest>`. Include the issue number using `` bpo-NNNN `` in the
92
- pull request description. For example::
85
+ 7. Push the branch to your fork on GitHub::
86
+
87
+ git push -u origin fix-issue-12345
93
88
94
- bpo-12345: Fix some bug in spam module
89
+ and :doc:`create a pull request
90
+ <pullrequest>`.
91
+ Include the issue number using GitHub conventions in the pull request
92
+ description.
93
+ (Use ``bjo-NNNN`` if it is from the legacy tracker.)
95
94
96
95
.. note ::
97
96
98
- bpo stands for bugs.python.org and these flags are used by CPython's GitHub
99
- tools. For Jython we need our own naming convention, and to re-use the
100
- CPython tools. It is also worth considering whether we move away from
101
- bugs.jython.org to GitHub issues, and how we do that.
97
+ bpo-NNNN is used by CPython for for bugs.python.org
98
+ and is picked up by CPython's GitHub tools.
99
+ For Jython we need our own naming convention, but cannot yet re-use the
100
+ CPython tools.
101
+ We intend to move away from bugs.jython.org to GitHub issues more aggressively
102
+ that CPython has made the switch.
102
103
103
104
.. note ::
104
105
105
106
First time contributors will need to sign the Contributor Licensing
106
107
Agreement (CLA) as described in the :ref: `Licensing <cla >` section of
107
108
this guide.
109
+ This requires an account on the CPython's legacy bug tracker.
108
110
109
111
110
112
Quick Links
@@ -113,7 +115,7 @@ Quick Links
113
115
Here are some links that you probably will reference frequently while
114
116
contributing to Jython:
115
117
116
- * `Jython issue tracker `_
118
+ * `Jython GitHub repository `_ (or maybe the ` Jython issue tracker `_)
117
119
* :doc: `help `
118
120
* PEPs _ (Python Enhancement Proposals)
119
121
* :doc: `gitbootcamp `
@@ -123,27 +125,21 @@ contributing to Jython:
123
125
Status of Jython branches
124
126
-------------------------
125
127
126
- .. note :: Maybe how it should look in a process based on GitHub,
127
- and for Jython 3. Not how it is.
128
-
129
- +--------+----------+-------------+---------------+-------------+-----------------------------------------------------------------------------------------------------------------+
130
- | Branch | Schedule | Status | First release | End-of-life | Comment |
131
- +========+==========+=============+===============+=============+=================================================================================================================+
132
- | master | | features | | | The default branch is currently the future Jython 3.5. |
133
- +--------+----------+-------------+---------------+-------------+-----------------------------------------------------------------------------------------------------------------+
134
- | 2.7 | | bugfix | | | The support has been extended to 2020 (1). |
135
- | | | | | | Most recent binary release: `Jython 2.7.1 |
136
- | | | | | | <http://search.maven.org/remotecontent?filepath=org/python/jython-installer/2.7.1/jython-installer-2.7.1.jar>`_ |
137
- +--------+----------+-------------+---------------+-------------+-----------------------------------------------------------------------------------------------------------------+
138
- | 2.5 | | end-of-life | | | Final release: `Jython 2.5.3 |
139
- | | | | | | <https://repo1.maven.org/maven2/org/python/jython/2.5.3/>`_ |
140
- +--------+----------+-------------+---------------+-------------+-----------------------------------------------------------------------------------------------------------------+
141
-
142
- (1) The exact date of Python 2.7 end-of-life has not been decided yet. It will
143
- be decided by Python 2.7 release manager, Benjamin Peterson, who will update
144
- the :pep: `373 `. Read also the `[Python-Dev] Exact date of Python 2 EOL?
145
- <https://mail.python.org/pipermail/python-dev/2017-March/147655.html> `_ thread
146
- on python-dev (March 2017).
128
+
129
+ +--------+----------+-------------+---------------+-------------+-----------------------------------------------------------------------------+
130
+ | Branch | Schedule | Status | First release | End-of-life | Comment |
131
+ +========+==========+=============+===============+=============+=============================================================================+
132
+ | master | | bugfix | | | PSF support for Python 2 ended in 2020 (see :pep: `373 `) but |
133
+ | | | | | | the most recent release of Jython is still `Jython 2.7.2 |
134
+ | | | | | | <https://search.maven.org/artifact/org.python/jython-installer/2.7.2/jar>`_ |
135
+ +--------+----------+-------------+---------------+-------------+-----------------------------------------------------------------------------+
136
+ | 3.8 | | features | | | This branch is the future of Jython. |
137
+ | | | | | | (It should be master, but is just a gleam in the eye at present.) |
138
+ +--------+----------+-------------+---------------+-------------+-----------------------------------------------------------------------------+
139
+ | 2.5 | | end-of-life | | | Final release: `Jython 2.5.3 |
140
+ | | | | | | <https://repo1.maven.org/maven2/org/python/jython/2.5.3/jar>`_ |
141
+ +--------+----------+-------------+---------------+-------------+-----------------------------------------------------------------------------+
142
+
147
143
148
144
Status:
149
145
@@ -163,40 +159,18 @@ have reached end-of-life.
163
159
The Jython project follows the Python Software Foundation in the naming of
164
160
versions of the language (e.g. Jython 2.7 implements Python 2.7), and whether an
165
161
implementation of that version has reached reached end-of-life.
162
+ The third element (micro) has bears no relationship to CPython micro-versions.
166
163
167
164
See also :ref: `Security branches <secbranch >`.
168
165
169
- Each release of Python is tagged in the source repo with a tag of the form
166
+ Jython names its releases in the same scheme as CPython.
167
+ Each release of Jython is tagged in the source repo with a tag of the form
170
168
``vX.Y.ZTN ``, where ``X `` is the major version, ``Y `` is the
171
169
minor version, ``Z `` is the micro version, ``T `` is the release level
172
170
(``a `` for alpha releases, ``b `` for beta, ``rc `` release candidate,
173
171
and *null * for final releases), and ``N `` is the release serial number.
174
172
Some examples of release tags: ``v3.7.0a1 ``, ``v3.6.3 ``, ``v2.7.14rc1 ``.
175
173
176
- The code base for a release cycle which has reached end-of-life status
177
- is frozen and no longer has a branch in the repo. The final state of
178
- the end-of-lifed branch is recorded as a tag with the same name as the
179
- former branch, e.g. ``3.3 `` or ``2.6 ``. For reference, here are the
180
- most recently end-of-lifed release cycles:
181
-
182
- +------------------+--------------+-------------+----------------+----------------+----------------------------------------------------------------------------+
183
- | Tag | Schedule | Status | First release | End-of-life | Comment |
184
- +==================+==============+=============+================+================+============================================================================+
185
- | 3.3 | :pep: `398 ` | end-of-life | 2012-09-29 | 2017-09-29 | `Final release: Python 3.3.7 |
186
- | | | | | | <https://www.python.org/downloads/release/python-337/>`_ |
187
- +------------------+--------------+-------------+----------------+----------------+----------------------------------------------------------------------------+
188
- | 3.2 | :pep: `392 ` | end-of-life | 2011-02-20 | 2016-02-20 | `Final release: Python 3.2.6 |
189
- | | | | | | <https://www.python.org/downloads/release/python-326/>`_ |
190
- +------------------+--------------+-------------+----------------+----------------+----------------------------------------------------------------------------+
191
- | 3.1 | :pep: `375 ` | end-of-life | 2009-06-27 | 2012-04-11 | `Final release: Python 3.1.5 |
192
- | | | | | | <https://www.python.org/downloads/release/python-315/>`_ |
193
- +------------------+--------------+-------------+----------------+----------------+----------------------------------------------------------------------------+
194
- | 3.0 | :pep: `361 ` | end-of-life | 2008-12-03 | 2009-01-13 | `Final release: Python 3.0.1 |
195
- | | | | | | <https://www.python.org/download/releases/3.0.1/>`_ |
196
- +------------------+--------------+-------------+----------------+----------------+----------------------------------------------------------------------------+
197
- | 2.6 | :pep: `361 ` | end-of-life | 2008-10-01 | 2013-10-29 | `Final release: Python 2.6.9 |
198
- | | | | | | <https://www.python.org/download/releases/2.6.9/>`_ |
199
- +------------------+--------------+-------------+----------------+----------------+----------------------------------------------------------------------------+
200
174
201
175
.. _contributing :
202
176
@@ -297,14 +271,9 @@ Key Resources
297
271
-------------
298
272
299
273
* Coding style guides
300
- * Jython's `Java coding standard < https://wiki.python.org/jython/CodingStandards > `_
274
+ * Jython's `Java coding standard `_
301
275
* :PEP: `8 ` (Style Guide for Python Code)
302
- * `Jython issue tracker `_
303
- * `Meta tracker <http://psf.upfronthosting.co.za/roundup/meta >`_ (issue
304
- tracker for the issue tracker)
305
- * :doc: `experts `
306
276
* Source code
307
- * `Browse in Mercurial online <http://hg.python.org/jython/file/default/ >`_
308
277
* `Browse in GitHub <https://github.com/jython/jython/ >`_
309
278
310
279
* PEPs _ (Python Enhancement Proposals)
@@ -421,4 +390,6 @@ you understand the Jython one.
421
390
.. _Issue tracker : https://bugs.python.org/
422
391
.. _open pull requests : https://github.com/jython/jython/pulls?utf8=%E2%9C%93&q=is%3Apr%20is%3Aopen%20label%3A%22awaiting%20review%22
423
392
.. _Jython issue tracker : https://bugs.jython.org/
393
+ .. _Jython GitHub repository : https://github.com/jython/jython
394
+ .. _Java coding standard : https://wiki.python.org/jython/CodingStandards
424
395
.. _Style Guide for Java code : http://www.oracle.com/technetwork/java/codeconvtoc-136057.html
0 commit comments