Somebody asked on #lisp to add a version to the .asd files on order to add an ASDF dependency on that version, so I put the version string in a separate file read by all .asd files.
In addition release.sh updates version.lisp-expr immediately before and after tagging a release.
Put version in a file included by all .asd files
Also change scripts/release.sh to update the new version file
Update version.lisp-expr with a development version after releasing
Commit the after-release change to version.lisp-expr and push it
For example, in a git checkout the version is not present, which means that all ASDF version check dependencies may return a false positive
My patch addresses 2 issues:
1) that a git checkout contains no version
2) that even in a release, only cffi.asd contains a version. This is not a blocking problem, more of a style and uniformity issue, and since it's not a maintenance burden IMO should be done
Once the above two are done, there remains the question of what version should a git checkout have, and I thought of appending a ".99" to the release version
In other words, putting the version in all .asd files costs nothing and is slightly useful
I see. Well, I really don't like that releasing a version originates a commit. Maybe I'm suffering from a bit of OCD, but unless (1) and (2) are real problems -- and I'm not quite convinced they are -- I'd rather keep things clean and tidy as they are right now where a release simply originates a tag.
OK, so we could use version.lisp-expr that holds nil or something for git version and that would keep the release process as is right now. It still uglifies the .asd files a little bit though.
Couldn't we just change release.sh to put the version in all .asd files?
There's no necessity to make a new commit after release, but a git checkout must have the version info(we could leave it the same as the release). Appending ".99" serves as an indication that the user isn't running a release but a git checkout, and sometimes it's useful.
About the version.lisp-expr: I use it because it's easier to manipulate than using sed scripts
I find this too intrusive for little gain, so I'm going to close the pull request. Cheers.