@@ -96,10 +96,10 @@ the last commits should be the same as in the project repository:
96
96
.. code-block :: ps1con
97
97
98
98
PS work> git log --oneline --graph -4
99
- * c6a7d5754 (HEAD -> master, origin/master, origin/HEAD) Exclude Guava META-INF
100
- * 2c3834e21 Check Contributor Agreement (#308 )
101
- * f0afabba2 Fix shading (#317)
102
- * bc9d8592a Updates to NEWS and README
99
+ * d9e1d72e7 (HEAD -> master, origin/master, origin/HEAD) Pin launcher tests to MacOS 12 for Java 8
100
+ * f3d868433 Add upward compatibility to Java 9 Modularity (#325 )
101
+ * 668a95e83 Begin to identify as version 2.7.4b2
102
+ * 228fe9ef9 (tag: v2.7.4b1) Prepare for 2.7.4b1 release.
103
103
104
104
.. _changes-preparing-for-a-release :
105
105
@@ -118,11 +118,11 @@ The following files may need to be updated to match the version you are about to
118
118
* ``jython.release_serial ``.
119
119
120
120
In the language of these properties,
121
- version 2.7.4b1 is spelled ``2 ``, ``7 ``, ``4 ``, ``${PY_RELEASE_LEVEL_BETA} ``, ``1 ``.
121
+ version 2.7.4b2 is spelled ``2 ``, ``7 ``, ``4 ``, ``${PY_RELEASE_LEVEL_BETA} ``, ``2 ``.
122
122
Every other expression needing a version number is derived from these 5 values.
123
123
* ``build.gradle ``: The version number appears as a simple string property ``version ``,
124
124
near the top of the file.
125
- Version 2.7.4b1 is simply set like this: ``version = '2.7.4b1 ' ``.
125
+ Version 2.7.4b2 is simply set like this: ``version = '2.7.4b2 ' ``.
126
126
* ``src/org/python/core/imp.java ``: If there has been any compiler change,
127
127
increment the magic number ``APIVersion ``.
128
128
This magic declares old compiled files incompatible, forcing a fresh compilation for users.
@@ -139,12 +139,11 @@ The following files may need to be updated to match the version you are about to
139
139
140
140
.. code-block :: text
141
141
142
- Jython <something>
143
- Bugs fixed
142
+ Jython <something> Bugs fixed and features added
144
143
- [ NNNN ] ...
145
144
146
145
Replace the first line with the release you are building
147
- e.g. "Jython 2.7.4b1 ".
146
+ e.g. "Jython 2.7.4b2 ".
148
147
Add anything necessary to the section "New Features".
149
148
After publication (not now),
150
149
we will add a new, empty, section for the version then under development.
@@ -174,15 +173,15 @@ If you changed anything, commit this set of changes locally:
174
173
$ git status
175
174
On branch master
176
175
Your branch is up to date with ' origin/master' .
176
+
177
177
Changes to be committed:
178
178
(use " git restore --staged <file>..." to unstage)
179
179
modified: NEWS
180
- modified: build.gradle
181
- modified: build.xml
182
180
183
- $ git commit -m" Prepare for 2.7.4b1 release."
184
- [master 228fe9ef9] Prepare for 2.7.4b1 release.
185
- 3 files changed, 4 insertions(+), 4 deletions(-)
181
+
182
+ $ git commit -m" Prepare for 2.7.4b2 release."
183
+ [master 30d2f859a] Prepare for 2.7.4b2 release.
184
+ 1 file changed, 7 insertions(+), 8 deletions(-)
186
185
187
186
188
187
Get the JARs
@@ -222,13 +221,13 @@ Run the ``full-check`` target, which does some simple checks on the repository:
222
221
223
222
force-snapshot-if-polluted:
224
223
[echo]
225
- [echo] Change set 228fe9ef9 is not tagged 'v2.7.4b1 ' - build is a snapshot.
224
+ [echo] Change set 30d2f859a is not tagged 'v2.7.4b2 ' - build is a snapshot.
226
225
227
226
dump:
228
227
[echo] --- build Jython version ---
229
228
[echo] jython.version.short = '2.7.4'
230
- [echo] jython.release = '2.7.4b1 '
231
- [echo] jython.version = '2.7.4b1 -SNAPSHOT'
229
+ [echo] jython.release = '2.7.4b2 '
230
+ [echo] jython.version = '2.7.4b2 -SNAPSHOT'
232
231
[echo] --- optional libraries ---
233
232
[echo] informix = '../support/jdbc-4.50.8.jar'
234
233
[echo] oracle = '../support/ojdbc8-19.14.0.0.jar'
@@ -262,7 +261,7 @@ being careful to observe the conventional pattern
262
261
263
262
.. code-block :: ps1con
264
263
265
- PS work> git tag -a -s v2.7.4b1 -m"Jython 2.7.4b1 "
264
+ PS work> git tag -a -s v2.7.4b2 -m"Jython 2.7.4b2 "
266
265
267
266
This may open a pop-up from GPG
268
267
that requires a password to unlock your signing key
@@ -273,7 +272,7 @@ It will need to be pushed eventually,
273
272
but the current state of your repository is still at the change set tagged.
274
273
If something goes wrong after this point but before the eventual push to the repository,
275
274
that requires changes and a fresh commit,
276
- it is possible to delete the tag with ``git tag -d v2.7.4b1 ``,
275
+ it is possible to delete the tag with ``git tag -d v2.7.4b2 ``,
277
276
and make it again at the new tip when you're ready.
278
277
The Git book explains why you should not `delete a tag after the push `_.
279
278
@@ -309,9 +308,9 @@ Run the ``full-check`` target again:
309
308
PS work> ant full-check
310
309
Buildfile: D:\git\work\build.xml
311
310
312
- [echo] Build is for release of 2.7.4b1 .
311
+ [echo] Build is for release of 2.7.4b2 .
313
312
314
- [echo] jython.version = '2.7.4b1 '
313
+ [echo] jython.version = '2.7.4b2 '
315
314
316
315
This time the script confirms it is a release
317
316
and the version appears without the "SNAPSHOT" qualifier.
@@ -351,7 +350,7 @@ working in folder ``./build2``.
351
350
352
351
PS work> .\gradlew --console=plain publish
353
352
> Task :generateVersionInfo
354
- This build is for v2.7.4b1 .
353
+ This build is for v2.7.4b2 .
355
354
356
355
> Task :generateGrammarSource
357
356
...
@@ -379,7 +378,7 @@ working in folder ``./build2``.
379
378
Don't worry, this doesn't actually *publish * Jython.
380
379
When the build finishes, a JAR that is potentially fit to publish,
381
380
and its subsidiary artifacts (source, javadoc, checksums),
382
- will have been created in ``./build2/stagingRepo/org/python/jython-slim/2.7.4b1 ``.
381
+ will have been created in ``./build2/stagingRepo/org/python/jython-slim/2.7.4b2 ``.
383
382
384
383
It can also be "published" to your local Maven cache (usually ``~/.m2/repository ``
385
384
with the task ``publishMainPublicationToMavenLocal ``.
@@ -413,18 +412,19 @@ It is worth checking the manifests:
413
412
.. code-block :: ps1con
414
413
415
414
PS 274b1-trial> jar -xf .\kit\jython-standalone.jar META-INF
416
- PS 274b1 -trial> cat .\META-INF\MANIFEST.MF
415
+ PS 274b2 -trial> cat .\META-INF\MANIFEST.MF
417
416
Manifest-Version: 1.0
418
417
Ant-Version: Apache Ant 1.10.12
419
418
Created-By: 1.8.0_321-b07 (Oracle Corporation)
420
419
Main-Class: org.python.util.jython
421
420
Built-By: Jeff
421
+ Automatic-Module-Name: org.python.jython2.standalone
422
422
Implementation-Vendor: Python Software Foundation
423
423
Implementation-Title: Jython fat jar with stdlib
424
- Implementation-Version: 2.7.4b1
424
+ Implementation-Version: 2.7.4b2
425
425
426
426
Name: Build-Info
427
- version: 2.7.4b1
427
+ version: 2.7.4b2
428
428
git-build: true
429
429
oracle: true
430
430
informix: true
@@ -442,8 +442,8 @@ The real test consists in running the regression tests:
442
442
443
443
.. code-block :: ps1con
444
444
445
- PS 274b1 -trial> inst\bin\jython -m test.regrtest -e
446
- == 2.7.4b1 (tags/v2.7.4b1:228fe9ef9, Apr 1 2024, 20:04:13 )
445
+ PS 274b2 -trial> inst\bin\jython -m test.regrtest -e
446
+ == 274b2 (tags/v2.7.4b2:30d2f859a, May 4 2024, 13:46:27 )
447
447
== [Java HotSpot(TM) 64-Bit Server VM (Oracle Corporation)]
448
448
== platform: java11.0.22
449
449
== encodings: stdin=ms936, stdout=ms936, FS=utf-8
@@ -479,10 +479,10 @@ When the author last tried, they were these:
479
479
480
480
.. code-block :: ps1con
481
481
482
- PS 274b1 -trial> copy -r inst\Lib\test TestLib\test
483
- PS 274b1 -trial> $env:JYTHONPATH = ".\TestLib"
484
- PS 274b1 -trial> java -jar kit\jython-standalone.jar -m test.regrtest -e
485
- == 2.7.4b1 (tags/v2.7.4b1:228fe9ef9, Apr 1 2024, 20:04:13 )
482
+ PS 274b2 -trial> copy -r inst\Lib\test TestLib\test
483
+ PS 274b2 -trial> $env:JYTHONPATH = ".\TestLib"
484
+ PS 274b2 -trial> java -jar kit\jython-standalone.jar -m test.regrtest -e
485
+ == 274b2 (tags/v2.7.4b2:30d2f859a, May 4 2024, 13:46:27 )
486
486
== [Java HotSpot(TM) 64-Bit Server VM (Oracle Corporation)]
487
487
== platform: java11.0.22
488
488
== encodings: stdin=ms936, stdout=ms936, FS=utf-8
@@ -554,7 +554,7 @@ such as your personal Maven cache:
554
554
PS work> .\gradlew --console=plain publishMainPublicationToMavenLocal
555
555
556
556
This will deliver build artifacts to
557
- ``~/.m2/repository/org/python/jython-slim/2.7.4b1 ``.
557
+ ``~/.m2/repository/org/python/jython-slim/2.7.4b2 ``.
558
558
One can construct an application to run with that as a dependency like this:
559
559
560
560
.. code-block :: groovy
@@ -570,7 +570,7 @@ One can construct an application to run with that as a dependency like this:
570
570
}
571
571
572
572
dependencies {
573
- implementation 'org.python:jython-slim:2.7.4b1 '
573
+ implementation 'org.python:jython-slim:2.7.4b2 '
574
574
}
575
575
576
576
application {
@@ -664,10 +664,10 @@ During the build, ``gpg`` may prompt you (in a dialogue box)
664
664
for the pass-phrase that protects your private signing key.
665
665
This leaves the following new artifacts in ``./publications ``:
666
666
667
- * ``jython-2.7.4b1 -bundle.jar ``
668
- * ``jython-standalone-2.7.4b1 -bundle.jar ``
669
- * ``jython-installer-2.7.4b1 -bundle.jar ``
670
- * ``jython-slim-2.7.4b1 -bundle.jar ``
667
+ * ``jython-2.7.4b2 -bundle.jar ``
668
+ * ``jython-standalone-2.7.4b2 -bundle.jar ``
669
+ * ``jython-installer-2.7.4b2 -bundle.jar ``
670
+ * ``jython-slim-2.7.4b2 -bundle.jar ``
671
671
672
672
673
673
Publication
@@ -744,10 +744,10 @@ You are now ready to upload bundles acceptable to Sonatype.
744
744
select "Artifact Bundle".
745
745
* Navigate to the ``./publications `` folder and upload in turn:
746
746
747
- * ``jython-slim-2.7.4b1 -bundle.jar ``
748
- * ``jython-2.7.4b1 -bundle.jar ``
749
- * ``jython-standalone-2.7.4b1 -bundle.jar ``
750
- * ``jython-installer-2.7.4b1 -bundle.jar ``
747
+ * ``jython-slim-2.7.4b2 -bundle.jar ``
748
+ * ``jython-2.7.4b2 -bundle.jar ``
749
+ * ``jython-standalone-2.7.4b2 -bundle.jar ``
750
+ * ``jython-installer-2.7.4b2 -bundle.jar ``
751
751
752
752
For some reason (privacy?) the display shows a fake file path
753
753
but the name is correct.
@@ -832,16 +832,16 @@ assume the successor to be an alpha of the next micro-release.
832
832
For example, ``2.7.2b2 `` is followed by ``2.7.2b3 ``,
833
833
and ``2.7.2 `` by ``2.7.3a1 ``.
834
834
835
- If the version under development is ``2.7.4b2 ``,
836
- the build system will label the code as ``2.7.4b2 -DEV `` in the developer build .
837
- If you build an installer, or dry-run a release, it will be ``2.7.4b2 -SNAPSHOT ``.
838
- You can read this as a version that "may eventually become" ``2.7.4b2 `` etc..
835
+ If the version under development is ostensibly ``2.7.4b3 ``,
836
+ the build system will label the code as ``2.7.4b3 -DEV `` in builds .
837
+ If you build an installer, or dry-run a release, it will be ``2.7.4b3 -SNAPSHOT ``.
838
+ You can read this as a version that "may eventually become" ``2.7.4b3 `` etc..
839
839
840
- However, the version under development in this scheme will often be one that
841
- never sees a release.
842
- E.g. when we are apparently working on ``2.7.4b2 ``,
843
- the next release is quite likely to be `` 2.7.4rc1 `` instead,
844
- but we can't guarantee that things will go that well .
840
+ The version under development in this scheme will often be one that never sees a release.
841
+ E.g. when we are apparently working on `` 2.7.4b3 ``,
842
+ the next release is quite likely to be ``2.7.4rc1 `` instead.
843
+ The build files will have to be edited to produce that when that time comes.
844
+ We always hope that the version string printed in regression tests will ultimately be wrong .
845
845
It's a harmless paradox.
846
846
847
847
Make this change in both ``build.xml `` and ``build.gradle ``.
@@ -852,13 +852,10 @@ In ``NEWS``, add a new, empty, section in the development history that looks lik
852
852
.. code-block :: text
853
853
854
854
Jython <successor version>
855
- Bugs fixed
856
855
857
- New Features
856
+ Bugs fixed
858
857
859
858
Commit and push this change upstream.
860
859
861
- .. note :: New features should probably be associated with the final release,
862
- not the feature-freeze ``b1 ``.
863
- This present structure doesn't work well from this point of view:
864
- it places "New Features" a long way from the top of NEWS.
860
+ .. note :: The new features are associated with the prospective final release,
861
+ not the alpha or beta that introduced them.
0 commit comments