Stream: IG creation
Topic: Jira spec file, version-code-default
Nathan Davis (Jan 28 2022 at 18:13):
When I check my Jira spec file (FHIR-us-vitals) locally using buildlocal.bat, I don't get any errors/warnings. When I try to do a pull request I get this error:
[schemavalidate] /home/runner/work/JIRA-Spec-Artifacts/JIRA-Spec-Artifacts/xml/FHIR-us-vitals.xml:141:17: cvc-identity-constraint.4.3: Key 'version-code-default' with value '0.1' not found for identity constraint of element 'specification'.
What do I need to fix?
David Pyke (Jan 28 2022 at 18:18):
you've got defaultVersion set to 0.1 instead of 0.1.0
Nathan Davis (Jan 28 2022 at 18:24):
When I change the version I get this error when I run buildlocal.bat
ERROR: Version with code 0.1 in specification FHIR-us-vitals has been removed or changed. Versions should never change. Keys should also not be removed. Versions can only be removed if no JIRA tracker references that version. If this is the case and the version should really be removed, please coordinate with an administrator.
David Pyke (Jan 28 2022 at 18:26):
Yeah, at some point you changed the version to the proper 0.1.0 from 0.1 and that's going to make it complain. Only @Lloyd McKenzie can fix that problem.
John Moehrke (Jan 28 2022 at 18:53):
flush your local cache
Nathan Davis (Jan 28 2022 at 18:55):
still getting same error after flushing cache
David Pyke (Jan 28 2022 at 18:56):
The problem is that the Jira spec file in github has version 0.1, his local has 0.1.0. That's not fixable by anyone but Lloyd
Lloyd McKenzie (Jan 28 2022 at 18:56):
You can't change a version. You can deprecate a version and add a new one. Your package-list.json will need to contain both.
Nathan Davis (Jan 28 2022 at 19:06):
I'm not trying to change a version. I'm attempting to update the Jira spec file to get rid of the warning that it's out of date. I haven't touched the package-list.json
Lloyd McKenzie (Jan 28 2022 at 19:07):
Does your package-list.json include both a 0.1 and a 0.1.0?
Lloyd McKenzie (Jan 28 2022 at 19:07):
And does your proposed Jira spec file contain the same?
Nathan Davis (Jan 28 2022 at 19:09):
package-list does not have a 0.1 only a 0.1.0 (and others, 0.2.0 etc.)
Lloyd McKenzie (Jan 28 2022 at 19:28):
Jira Spec file contains a 0.1 that's marked as deprecated?
Nathan Davis (Jan 28 2022 at 19:36):
@Lloyd McKenzie I'm not seeing that. Not in my local folder nor in my fork of the Jira-Spec-Artifacts repo. What line do you see it in? File is FHIR-us-vitals.xml
Lloyd McKenzie (Jan 28 2022 at 19:41):
You need to add it to your proposed jira spec file - because it was present in the original.
Lloyd McKenzie (Jan 28 2022 at 19:41):
Because it was there, you can't make it go away
Nathan Davis (Jan 28 2022 at 19:48):
@Lloyd McKenzie Would that be done like...
defaultVersion = "0.1.0"
and
<version code="0.1" deprecated="true"/>
?
Gino Canessa (Jan 28 2022 at 19:51):
This happened to the Subscriptions Backport too, so you can see an example here
Nathan Davis (Jan 28 2022 at 19:53):
@Gino Canessa Thanks!
Nathan Davis (Jan 28 2022 at 20:05):
It's now working. Thanks all for the help!
Nathan Davis (Jan 28 2022 at 20:08):
(deleted)
Nathan Davis (Jan 31 2022 at 17:16):
@Lloyd McKenzie Where does the version code for the Jira spec file come from? When I run the publisher locally now the default version is now being set to null. I have it set to 0.2.0 in the sushi-config.yaml file as well as in the package-list.json file.
Lloyd McKenzie (Jan 31 2022 at 17:51):
defaultVersion is calculated. It looks at your package-list and finds the first official release and grabs the version from that. If there's no official release, it grabs the first ballot. If it can't find that, it grabs the version of the first release listed.
Nathan Davis (Jan 31 2022 at 18:33):
@Lloyd McKenzie Is this from the status element in each version in the list? I have three versions in my package-list, a current with status of "ci-build", a 0.1 with status of "ballot", and a 0.2.0 with status of "trial-use". It should be using the 0.1 version since it's the only "ballot" version. Like I said, it isn't putting anything for "defaultVersion".
Lloyd McKenzie (Jan 31 2022 at 18:36):
By the logic, it should actually be using the 'trial use' version. What's your IG git repository?
Nathan Davis (Jan 31 2022 at 18:37):
https://github.com/HL7/cimi-vital-signs
Nathan Davis (Jan 31 2022 at 18:39):
Do I need to list it before the others in the package-list.json?
Lloyd McKenzie (Jan 31 2022 at 20:01):
You should list them with newest first.
Nathan Davis (Jan 31 2022 at 21:55):
@Lloyd McKenzie Thanks for the help! I found a typo in my package-list. Fixed it and will make a pull request for the Jira-Spec-Artifacts file soon.
Eric Haas (Mar 10 2022 at 01:39):
I am having similar issues with web messaging. When I prep for publishing, I created a new package-list file because there was not one before, I put in the anticipated version entry into the pl file and mark it as current = true. Here is what I did:
{
"package-id": "hl7.fhir.uv.smart-web-messaging",
"title": "SMART Web Messaging Implementation Guide",
"canonical": "https://hl7.org/fhir/uv/smart-web-messaging",
"list": [
{
"version": "current",
"date": "n/a",
"desc": "Continuous Integration Build (latest in version control)",
"path": "http://build.fhir.org/ig/HL7/smart-web-messaging",
"status": "ci-build"
},
{
"version": "1.0.0",
"date": "2022-03-08",
"desc": "STU 1: For a list of changes applied to this version see the SMART Web Messaging [STU1 trackers](https://jira.hl7.org/issues/?filter=16804#)
(log in required to view)",
"path": "https://hl7.org/fhir/uv/smart-web-messaging",
"sequence": "STU 1",
"fhirversion": "4.0.1",
"status": "trial-use",
"current": true
},
{
"version": "0.1.0",
"date": "2020-08-11",
"desc": "STU 1 Ballot",
"path": "http://hl7.org/fhir/uv/smart-web-messaging/2020Sep",
"sequence": "STU 1",
"fhirversion": "4.0.1",
"status": "ballot",
"current": false
}
],
"category": "EHR Access"
}
Eric Haas (Mar 10 2022 at 01:43):
thing is the jira new file has version 1.0.0 as deprecated and no version 0.1.0 and a deprecated version 1.0. and defaultVersion as current this seems wrong:
defaultVersion="current" ....
<version code="current" url="http://build.fhir.org/ig/HL7/smart-web-messaging"/>
<version code="1.0.0" deprecated="true" url="http://hl7.org/fhir/uv/smart-web-messaging/STU1"/>
<version code="1.0" deprecated="true
I expect there to be defaultVersion = 1.0.0, version 1.0.0 not deprecated and a version 0.1.0.
Eric Haas (Mar 10 2022 at 01:44):
What am I missing here?
Lloyd McKenzie (Mar 10 2022 at 03:29):
What version is your IG defined as?
Lynn Laakso (Mar 10 2022 at 14:21):
I think this is one where the code 1.0.0 was added in error when it went to ballot, and so that version was marked as deprecated for the time. As you're approaching STU publication now I suggest making the change to "un-deprecate" that entry for publication approval review.
Eric Haas (Mar 10 2022 at 17:22):
Again referring the the package-list file above, this is jira-current.xml where I did hand edit deprecated = "false" for 1.0.0. However am still getting the Jira warning:
<?xml version="1.0" encoding="UTF-8"?>
<specification xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ciUrl="http://build.fhir.org/ig/HL7/smart-web-messaging" defaultVersion="current" defaultWorkgroup="fhir-i" gitUrl="https://github.com/HL7/smart-web-messaging" url="https://hl7.org/fhir/uv/smart-web-messaging">
<version code="current" url="http://build.fhir.org/ig/HL7/smart-web-messaging"/>
<version code="1.0.0" deprecated="false" url="http://hl7.org/fhir/uv/smart-web-messaging/STU1"/> <!-- ***** undid the deprecated tag -->
<version code="0.1.0" url="http://hl7.org/fhir/uv/smart-web-messaging/2020Sep"/>
<version code="1.0" deprecated="true"/>
<!-- the rest of the file... -->
</specification>
HOWEVER the suggested jira-new.xml only has current and deprecated 1.0 ?:
<?xml version="1.0" encoding="UTF-8"?>
<specification xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ciUrl="http://build.fhir.org/ig/HL7/smart-web-messaging" defaultVersion="current" defaultWorkgroup="fhir-i" gitUrl="https://github.com/HL7/smart-web-messaging" url="https://hl7.org/fhir/uv/smart-web-messaging">
<version code="current" url="http://build.fhir.org/ig/HL7/smart-web-messaging"/>
<version code="1.0" deprecated="true"/>. <!-- ****No 0.1.0 or 1.0.0 ???? -->
<!-- the rest of the file... -->
</specification>
Lynn Laakso (Mar 10 2022 at 17:23):
did you do the pull request to make that change in the Jira-spec_artifacts xml file?
Eric Haas (Mar 10 2022 at 17:24):
Yes, and LLoyd approved it. but let me double check. obviously the jira-new.xml is wrong. Is there some other package-list.json file it could be referencing, because it was missing only last wee and I had to create and add it to the repository ?
Lynn Laakso (Mar 10 2022 at 17:30):
I don't think so, but I'm not sure that you want deprecated in the line entry for version code="1.0.0" at all. @Lloyd McKenzie ?
Lynn Laakso (Mar 10 2022 at 17:30):
Eric Haas (Mar 10 2022 at 17:39):
Ok I will remove it and try again and after that beg Lloyd for assistance. ;-)
Lloyd McKenzie (Mar 10 2022 at 17:50):
If something used to be deprecated, it'll default to deprecated until you change and merge it as no longer deprecated
Eric Haas (Mar 14 2022 at 18:43):
Yes I did that , and I still cannot figure it out.
Lloyd McKenzie (Mar 14 2022 at 18:51):
Which IG?
Eric Haas (Mar 14 2022 at 19:40):
Web Messaging IG. ... here is my fork: https://github.com/Healthedata1/smart-web-messaging/tree/eh-update-packagelist
Eric Haas (Mar 14 2022 at 23:08):
here is the main (hl7) build: https://github.com/HL7/smart-web-messaging
Last updated: Apr 12 2022 at 19:14 UTC