Change to kit version syncing mechanism

This commit is contained in:
Graham Nelson 2022-08-20 11:36:48 +01:00
parent 7c54b99361
commit 5b4a89d544
10 changed files with 34 additions and 15 deletions

View File

@ -1,6 +1,6 @@
# Inform 7
[Version](notes/versioning.md): 10.1.0-beta+6V43 'Krypton' (18 August 2022)
[Version](notes/versioning.md): 10.1.0-beta+6V44 'Krypton' (20 August 2022)
## About Inform

View File

@ -1,3 +1,3 @@
Prerelease: beta
Build Date: 18 August 2022
Build Number: 6V43
Build Date: 20 August 2022
Build Number: 6V44

View File

@ -2,7 +2,7 @@
"is": {
"type": "kit",
"title": "BasicInformExtrasKit",
"version": "10.1.0-beta+6V20"
"version": "10.1.0-beta+6V44"
},
"kit-details": {
"has-priority": 1

View File

@ -2,7 +2,7 @@
"is": {
"type": "kit",
"title": "BasicInformKit",
"version": "10.1.0-beta+6V20"
"version": "10.1.0-beta+6V44"
},
"needs": [ {
"unless": {

View File

@ -2,7 +2,7 @@
"is": {
"type": "kit",
"title": "CommandParserKit",
"version": "10.1.0-beta+6V20"
"version": "10.1.0-beta+6V44"
},
"needs": [ {
"need": {

View File

@ -2,7 +2,7 @@
"is": {
"type": "kit",
"title": "EnglishLanguageKit",
"version": "10.1.0-beta+6V20"
"version": "10.1.0-beta+6V44"
},
"needs": [ {
"need": {

View File

@ -2,7 +2,7 @@
"is": {
"type": "kit",
"title": "WorldModelKit",
"version": "10.1.0-beta+6V20"
"version": "10.1.0-beta+6V44"
},
"needs": [ {
"need": {

View File

@ -20,6 +20,7 @@ void KitVersioning::sync_versions(void) {
web_md *inform7_web =
WebMetadata::get_without_modules(Pathnames::from_text(I"inform7"), NULL);
semantic_version_number core_V = inform7_web->version_number;
PRINT("inform7 web has version %v\n", &core_V);
KitVersioning::iterate(core_V);
}
@ -77,12 +78,27 @@ semantic_version_number KitVersioning::read_version(pathname *kit, semantic_vers
return VersionNumbers::null();
}
}
if (VersionNumbers::is_null(set_to) == FALSE)
if (VersionNumbers::ne(set_to, V))
@<Change the version to set_to@>;
if (VersionNumbers::is_null(set_to) == FALSE)
@<Decide whether to impose the new version@>;
return V;
}
@ The following test used to be just |VersionNumbers::ne(set_to, V)|, but this,
because it properly followed the semver standard, regarded them as equal if they
differed only in the build code -- so |10.1.0-beta+6V20| would not be updated to
|10.1.0-beta+6V44|, for example. We now force a sync if there is any textual
difference at all.
@<Decide whether to impose the new version@> =
TEMPORARY_TEXT(a)
TEMPORARY_TEXT(b)
WRITE_TO(a, "%v", &set_to);
WRITE_TO(b, "%v", &V);
if (Str::ne(a, b))
@<Change the version to set_to@>;
DISCARD_TEXT(a)
DISCARD_TEXT(b)
@ We change the JSON object for the kit's metadata (at object.is.version), and
then encode the object out as a new version of the file:

View File

@ -1,7 +1,5 @@
# Release notes for Inform v10.1.0
**These are incomplete and draft notes for a release not yet made**
This release was made in August 2022. Bug reports were at this time tracked
at Jira, with issue numbers written I7-NNNN, but Mantis issue numbers
continued to be used for bugs fixed before the move to Jira, so that this
@ -44,6 +42,11 @@ features and bug fixes in the apps for Windows, MacOS and Linux. But those have
their own repositories, and their own release notes, so from now on these
core Inform release notes will only mention major app changes.
## Inweb version
Inform's one build dependency is the [Inweb literate programming system](https://github.com/ganelson/inweb).
At the time of this release, the current Inweb version was 7.2.0.
## Language changes
As noted, there are surprisingly few changes to the outward-facing language

View File

@ -2,8 +2,8 @@
See [versions](versions.md) for details of Inform's version numbering.
The next version to be released will be 10.1.0, and its [draft release note is here](release/10-1-0.md).
Links in the following table are to the archive of release notes past.
Links in the following table are to the archive of release notes. This
is in chronological order, with the current release at the bottom.
Codename | Version | Build | Date | Highlights
---------- | --------------------------- | ----- | -------------- | ----------