Replies: 15 comments 27 replies
-
BTW, should we do 4.10 not 4.9.4? Lots of changes including java 7->java 8. Ugh. means finding/changing 4.9.4 tag in all github issues. |
Beta Was this translation helpful? Give feedback.
-
Firstly, I have to investigate the presence of duplicated version string and have to think about how to remove them. |
Beta Was this translation helpful? Give feedback.
-
BTW, I can easily buy a decent Windows box for less than a year's worth of Azure... but then I need to host it somewhere. |
Beta Was this translation helpful? Give feedback.
-
Apparently we've missed some file updates. Here is runtime/Python2/src/antlr4_python2_runtime.egg-info/PKG-INFO:
Are comments allowed in there? I can't find out on web. Looks like we have files like Maybe I just need to reduce this down to a command that gets just files with version strings to replace then we use
Still won't be perfect...we have files like:
|
Beta Was this translation helpful? Give feedback.
-
I do this all the time for my stuff, so I have scripts to just do the editing for me, as I can't remember what files need to be edited.
Then, edit your ~/oooo file to include only the lines you want to change and put it somewhere that you check-in, and use that in the following script.
You can do a You may have to adjust files you want and files you want to remove, and escaping the replacement string. |
Beta Was this translation helpful? Give feedback.
-
I’m sure it’s possible to move these version strings into dedicated files included/loaded at compile time or runtime
That would be better practice and make the versioning activity much safer
… Le 18 janv. 2022 à 20:13, Ken Domino ***@***.***> a écrit :
Right, that's whole point of editing "oooo" and checking that in--it's a spec of all the lines in all files in the source that need to be edited with a new release number. The script only changes those specific files listed in that spec, at those specific lines in those files. Nothing outside that list is changed. But you only go through that spec once now rather than grep 4.x in the source, look at those files every time you make a release. To handle any lines in the source that are new or deleted that match 4.9, just keep a grep of all 4.x everywhere, comparing the list of all lines from a previous release with the new release.
—
Reply to this email directly, view it on GitHub <#3449 (reply in thread)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAZNQJGXUR3CXW2EB4JNGVLUWW3W3ANCNFSM5LAHCPQQ>.
You are receiving this because you were mentioned.
|
Beta Was this translation helpful? Give feedback.
-
That doesn't solve the whole problem. Products are more than compiled code. It includes everything in the repo. For example, the instructions for building a Cpp target parser says to to copy the cmake/ files to your where your grammar lives. But that contains a ref to the version. Someone should be updating that version number with the release. What do you do with a readme.md file that contains a version? https://github.com/antlr/antlr4/blob/master/doc/building-antlr.md#installing-libs-to-mvn-cache-locally https://github.com/antlr/antlr4/blob/master/doc/building-antlr.md#installing-libs-to-mvn-cache-locally Continue to reference 4.5 and 4.6, years later, in the instructions in github? |
Beta Was this translation helpful? Give feedback.
-
Ok, I have a few more things to get in but I think I will start the process of releasing 4.10. |
Beta Was this translation helpful? Give feedback.
-
Howdy. Making some tentative release candidate 1 release notes: https://github.com/antlr/antlr4/releases/edit/untagged-101fd5d8c58de5f8a9b3 not sure you can view those so here is a PDF 4.10-release-notes.pdf |
Beta Was this translation helpful? Give feedback.
-
I've gotta stick with MAJOR 4 I'm afraid. So it'll be 4.10 for upcoming "major" release. |
Beta Was this translation helpful? Give feedback.
-
I released ST4.3.2 and updated pom to use that. working on more automation tools for release. getting close. |
Beta Was this translation helpful? Give feedback.
-
antlr3.5.3 is out. almost ready with 4.10 |
Beta Was this translation helpful? Give feedback.
-
Cool. I have two new scripts, one that updates the version numbers in antlr repo and another one that copies javadoc and jars to the website repository. we can automate it further later. See https://github.com/antlr/antlr4/tree/dev/scripts |
Beta Was this translation helpful? Give feedback.
-
Now I have to figure out how to get dev cleanly into master. Also, I wonder if I try to do the maven release process from dev or master. hmm... seems like it will be simpler if I get everything over to master as that is where we will do our releases then I can merge that back into dev to start the next cycle. |
Beta Was this translation helpful? Give feedback.
-
4.10 is out the door, folks! Thanks for of your efforts!!! |
Beta Was this translation helpful? Give feedback.
-
Howdy. if you take a look at the antlr release doc, you will see that it is an extremely involved process. The primary culprit is the fact that we support nine different target languages, and each one has special requirements.
One big issue as a result of that is that changing the release number from 4.9.3 to 4.9.4 across all targets is a huge endeavor because we have to find all relevant strings in project files, source code, etc. (Recall that we check the version number of the runtime against the generated parser to make sure things line up.) This is complicated by the fact that part of the tool has generated parsers that were generated with the previous version.
Anyway, what I do now defined these versions is something like
and then I manually edit all those files. There are even readme files to update, not to mention documentation.
Anyway, let's start a conversation about how to simplify the release process so that we can do it more often.
A starting suggestion might be something like let's add a string in a comment, according to the kind of file it's in, such as !!ANTLR VERSION!! so that all lines that need to be updated can be found trivially. Once that happens, we can even write a simple shell script to alter those files.
Ping @ericvergnaud @mike-lischke @KvanTTT @jcking @marcospassos et al
Beta Was this translation helpful? Give feedback.
All reactions