Closed micksmix closed 8 months ago
updated _automation/main.go script to prefer commits tied to a latest release, if it exists. If a grammar repository includes a Release, this updater now prioritizes updating to the latest release rather than the most recent commit. In cases where the repository lacks releases, it defaults to using the latest commit.
For background, the reason I added this is because the kotlin grammar's most recent commit actually is a failing build. However, that project cuts releases and by grabbing the commit for the latest release, it builds correctly.
I added more to this PR.
I also added the Swift grammar for Apple's Swift programming language. I had to add a downloadSwift
function to the automation updater to support retrieving this grammar...which doesn't include parser.c
in the repo, but instead in zip file in a release.
@smacker - Please let me know if you'd like me to make any changes, or split into separate PR's.
@smacker Based on your feedback, I have greatly simplified my PR. I've added the optional updateBasedOn
property. If it's not provided, it is presumed to be commit
. If a user does provide "updatedBasedOn": "tag"
, then it will call fetchLastTag.
With these changes, I no longer need a custom downloadSwift
function or any other additional functions.
This is a much simpler PR now with fewer changes. Thanks for your review.
@smacker - Do you want changes to this to this PR or would you like me to re-architect this?
@micksmix Weird. I remember leaving comments here but I don't see them now... Anyway, PR looks great! Thank you.
I just added 2 small comments to ensure the behavior of the updater is consistent and straightforward.
Changes that @smacker suggested have been made. Ran go test -v ./...
and all tests passed. Kotlin grammar is at v0.3.5
Thank you so much!
_automation/main.go
script to prefer commits tied to a latest release, if it exists. If a grammar repository includes a Release, this updater now prioritizes updating to the latest release rather than the most recent commit. In cases where the repository lacks releases, it defaults to using the latest commit.README.md
for the updaterrun-tests
which will rungo test
against every grammar'sbinding_test.go
file