Just to follow up on my question, I have read all the docs again, and I am thinking that I used the wrong tag syntax. I think it should either be:
git tag -a runtime/Go/antlr/v4/v4.12.0 -m "ssads" runtime/Go/antlr/v4 or just git tag -a runtime/Go/antlr/v4/v4.12.0 -m "ssads" Am I on the right path? Sorry to speculate here on the group, but I cannot just go start messing around on the master branch and testing it out, or I would have done so. Jim On Saturday, March 4, 2023 at 12:09:48 PM UTC+8 Jim Idle wrote: > For historic reasons, which are too difficult to change (and pre-modules), > the runtime module for the ANTLR v4 Go runtime is held in a subdirectory of > the antlr/antlr4 Github repo. This is complicated by the fact that > organizations have written scripts into their build to copy the source code > into their monorepos and so on (I'm looking at you Google ;). I cannot just > put the source code into its own repo and be done with it. Also, there are > a ton of automated scripts for testing and release etc. There are something > like 45 projects within Google alone that rely on the source location and > tag presence etc. > > In the past, tags with the v prefix had been created that point to the > root of the repo (to clarify, I mean the tags don't contain the prefix - I > know tags point at commit hashes). They were not created for go and people > have used them in builds - I cannot just delete them. For instance, there > is a tag v.4.11.1 which seemed to totally throw off the go get etc and > while using the path to the runtime in the import works, it meant that the > entire repo source is installed as if it were the go module, and the go.mod > for a project and the ~/go/pkg/mod shows > github.com/antlr/ant...@v4.11.1+incompatible > <http://github.com/antlr/antlr4@v4.11.1+incompatible>. I can understand > why this is. > > With the latest release v4.12.0, I created tags with the directory prefix: > runtime/Go/antlr/v4/v4.12.0 a la: > > git tag -a v4.12.0 -m "ssads" runtime/Go/antlr/v4 > > And there is no v4.12.0 tag. There is a 4.12.0 tag for use by non-go users > in the future. > > This seems to work in that the cache now only contains the v4 source for > go. So far so good. But when a go get is issued, the go.mod (and reflected > in cache) for a project seems to indicate the commit hash and not the > version, so the module for a project that uses it will look like this: > > module x/y/z > > go 1.19 > > require ( > github.com/antlr/antlr4/runtime/Go/antlr/v4 > v4.0.0-20230219212500-1f9a474cc2dc > ) > > require golang.org/x/exp v0.0.0-20230224173230-c95f2b4c22f2 // indirect > > Where I was expecting to see v4.12.0. The go.mod for the runtime is stored > inthe /v4 directory of course, but there is no other go.mod, such as at the > root of the repo. > > The docs are a little light on this area, so I cannot tell if this is what > should be expected, or whether my tags are not quite correct in some way. > > The current latest tag is: > > > https://github.com/antlr/antlr4/releases/tag/runtime%2FGo%2Fantlr%2Fv4%2Fv4.12.0 > > The previous incorrect tag is: > > https://github.com/antlr/antlr4/releases/tag/v4.11.1 > > I suspect that the directory associated tag is not correct, and that: > > go get -u github.com/antlr/antlr4/runtime/Go/antlr/v4 > > Is just getting the latest commit to master, or the commit at the point > where the tag was created. I am aware that tags point at the commit and > refer to the repo as a whole. I'm even looking suspiciously at that > uppercase G. > > I suspect this because: > > go get -u github.com/antlr/antlr4/runtime/Go/antlr/v...@v4.12.0 > <http://github.com/antlr/antlr4/runtime/Go/antlr/v4@v4.12.0> > go: github.com/antlr/antlr4/runtime/Go/antlr/v...@v4.12.0 > <http://github.com/antlr/antlr4/runtime/Go/antlr/v4@v4.12.0>: invalid > version: unknown revision runtime/Go/antlr/v4.12.0 > > So, I am wondering if there are any devops guys on here (I am a wizened > old coder, used to having devops guys to ask ;), that no how to do this > correctly? > > Any pointers appreciated. Hopefully I am just misunderstanding something > here. > > Jim > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/2f38c23d-48b0-4b25-847f-7b6131b7c372n%40googlegroups.com.