Stream: genomics/committers
Topic: Build failure - duplicate resources in IG?
Kevin Power (Jul 07 2020 at 14:37):
I just upgraded my device, and as a test I tried to get my FHIR IG builds going again. When I tried to build the latest version of genomics-reporting, I am getting the following errors:
[java] Load Package hl7.fhir.pubpack#0.0.6
[java] Load Package hl7.fhir.xver-extensions#0.0.4
[java] Load Content (00:17.0500)
[java] Duplicate Resource in IG: ValueSet/hgnc
[java] Duplicate Resource in IG: ValueSet/dna-change-type
[java] Duplicate Resource in IG: ValueSet/variant-inheritance
[java] Duplicate Resource in IG: ValueSet/high-low-codes
[java] Duplicate Resource in IG: ValueSet/functional-annotation
[java] Duplicate Resource in IG: ValueSet/hgvs
[java] Duplicate Resource in IG: ValueSet/seq-phase-relationship
[java] Exception in thread "main" java.lang.Error: Unable to continue because duplicate input resources were identified
[java] at org.hl7.fhir.igtools.publisher.Publisher.load(Publisher.java:2966)
[java] at org.hl7.fhir.igtools.publisher.Publisher.createIg(Publisher.java:841)
[java] at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:707)
[java] at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:7756)
BUILD FAILED
/Users/cerkyp/Documents/GitHub/genomics-reporting/framework/build.xml:161: Java returned: 1
Kevin Power (Jul 07 2020 at 14:38):
Anyone else get this, or just me? @Patrick Werner / @Jamie Jones ?
Jamie Jones (Jul 07 2020 at 14:39):
local build? I'll take a look
Kevin Power (Jul 07 2020 at 14:40):
Yes, local. Was afraid to trigger the cloud build in case it bombs there too.
Jamie Jones (Jul 07 2020 at 15:33):
error confirmed. looks like our valueset declarations need some thought after recent updates
Kevin Power (Jul 07 2020 at 15:34):
'Recent updates' ? You mean IG Publisher updates, or IG updates?
Jamie Jones (Jul 07 2020 at 16:04):
publisher/framework, no IG content changes since May
Kevin Power (Jul 07 2020 at 16:06):
I can't seem to find what is causing the problem. :frown:
Kevin Power (Jul 07 2020 at 18:24):
FYI - Found someone who had a similar issue, and added our issue on this topic: https://chat.fhir.org/#narrow/stream/179252-IG-creation/topic/New.20release.201.2E101.20fails
Jamie Jones (Jul 07 2020 at 20:09):
all 7 value sets we define as bindings in the observation spreadsheet are the ones generating errors. TBD codes is the only one not generating an error, and it is the only one not referenced on the "Bindings" tab in Obs.
Grahame Grieve (Jul 07 2020 at 22:14):
this is a genuine error in the IG as far as I am concerned. I added additional error checking after it turned out that other IGs were having unpredictable outcomes because of duplicate resources
Kevin Power (Jul 07 2020 at 23:11):
Ok we can try removing the ‘extra’ references on the bindings tab of the spreadsheet.
Jamie Jones (Jul 08 2020 at 01:25):
Tried a few things without luck
Patrick Werner (Jul 08 2020 at 12:50):
Grahame Grieve said:
this is a genuine error in the IG as far as I am concerned. I added additional error checking after it turned out that other IGs were having unpredictable outcomes because of duplicate resources
these VS resources weren't duplicates. They were just referenced via their filename (without endings). They are only defined as xml resources
Patrick Werner (Jul 08 2020 at 12:53):
i just tried to switch to their urls, no luck. Now getting:
[java] Exception in thread "main" java.lang.Error: Access single value, but value count is 0
[java] at org.hl7.fhir.r5.renderers.utils.ElementWrappers$PropertyWrapperMetaElement.value(ElementWrappers.java:303)
[java] at org.hl7.fhir.r5.renderers.DiagnosticReportRenderer.render(DiagnosticReportRenderer.java:67)
[java] at org.hl7.fhir.r5.renderers.ResourceRenderer.render(ResourceRenderer.java:76)
[java] at org.hl7.fhir.igtools.publisher.Publisher.generateNarratives(Publisher.java:1043)
[java] at org.hl7.fhir.igtools.publisher.Publisher.loadConformance(Publisher.java:3632)
[java] at org.hl7.fhir.igtools.publisher.Publisher.createIg(Publisher.java:845)
[java] at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:707)
[java] at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:7756)
Kevin Power (Jul 08 2020 at 13:18):
So, in reading the spreadsheet authoring guidance, it says that when we indicate a binding, it need to point to a binding name on the Bindings tab:
Binding: Conditional. This must be specified for any data element that allows a type of code, Coding or CodeableConcept (including "*"). It should not be present for other elements. It must refer to a Binding name from either the #Bindings Tab in the current spreadsheet or one of the other resource spreadsheets. (Note - the order in which resources are first loaded into memory is controlled by the build/source/fhir.ini file. Resources that define bindings must be listed before other resources that use them.
We have XML files for these ValueSets, and we give them a 'binding name' on the Bindings tab of the spreadsheet. So I am not sure why they are now flagged as duplicates?
Jamie Jones (Jul 08 2020 at 13:19):
i'm not sure what is happening behind the xslt curtain in the generation steps
Kevin Power (Jul 08 2020 at 13:21):
Yet another reason to get off these spreadsheets :frown:
Patrick Werner (Jul 08 2020 at 13:48):
Kevin Power said:
So, in reading the spreadsheet authoring guidance, it says that when we indicate a binding, it need to point to a binding name on the Bindings tab:
Binding: Conditional. This must be specified for any data element that allows a type of code, Coding or CodeableConcept (including "*"). It should not be present for other elements. It must refer to a Binding name from either the #Bindings Tab in the current spreadsheet or one of the other resource spreadsheets. (Note - the order in which resources are first loaded into memory is controlled by the build/source/fhir.ini file. Resources that define bindings must be listed before other resources that use them.
We have XML files for these ValueSets, and we give them a 'binding name' on the Bindings tab of the spreadsheet. So I am not sure why they are now flagged as duplicates?
exactly. we only are defining the bindings in the spreadsheets, referring to the external (xml StrucDefs in src/resources/vocabulary) defined VSs
Lloyd McKenzie (Jul 08 2020 at 14:01):
That definitely shouldn't be treated as a duplicate
Kevin Power (Jul 08 2020 at 15:05):
So, where does that leave us? We haven't found a way to get around this (yet)?
Kevin Power (Jul 10 2020 at 13:36):
After some conversations with @Patrick Werner and @Jamie Jones , it seems this might be the time to move off the spreadsheets for authoring. I logged J#27942 for the workgroup to consider.
Jamie Jones (Jul 28 2020 at 16:11):
Is anyone able to bypass these errors and get a valid build? I've run aground
Patrick Werner (Jul 28 2020 at 16:12):
nopes. We just have to switch. Should have time for this next week, this week is horrible
Kevin Power (Jul 28 2020 at 16:17):
I tried a few things and couldn't get around it either. I might have some time later this week to work on this as well.
Kevin Power (Aug 03 2020 at 16:39):
I am getting the same build error as @Jamie Jones and have no idea where they are coming from.
Patrick Werner (Aug 03 2020 at 16:40):
will debug later this week
Kevin Power (Aug 03 2020 at 16:41):
I have branched my changes as I don't think the changes are causing this build error (which perhaps Jamie can confirm if he feels the same).
Jamie Jones (Aug 03 2020 at 16:56):
Yeah I couldn't get it to build with just replacing the offending resources and staying on spreadsheet method either
Jamie Jones (Aug 03 2020 at 16:57):
Likely used to be happening before as well but not validated as an error
Kevin Power (Aug 03 2020 at 16:59):
Huh, well, when I created the branch - it built fine in the CI build environment
Kevin Power (Aug 03 2020 at 17:00):
http://build.fhir.org/ig/HL7/genomics-reporting/branches/switch_structdefs/index.html
Kevin Power (Aug 03 2020 at 17:02):
I just realized my local IG Publisher is from June, so deleting it to trigger a download and trying again.
Kevin Power (Aug 03 2020 at 17:03):
Ugg, still failed, but still downloaded IG Publisher from June? Did the location of the publisher change again?
Jamie Jones (Aug 03 2020 at 17:07):
That would be a much easier fix if it's the case!
Kevin Power (Aug 03 2020 at 17:08):
Looks like it:
from the committers/notification stream:
ig-publisher Release Bot12:44 AM
New IGPublisher v1.1.6 released via Maven.
New Publisher at https://github.com/HL7/fhir-ig-publisher/releases/latest/download/publisher.jar
Details can be found at https://github.com/HL7/fhir-ig-publisher/releases/tag/1.1.6
Jamie Jones (Aug 03 2020 at 17:09):
Shouldn't that change be in announcements so we don't have to dig through notification...
Kevin Power (Aug 03 2020 at 17:10):
I did some digging and can't find it, but am assuming it is there and I just missed it.
Jamie Jones (Aug 03 2020 at 17:14):
Happy we can move past it and make updates again, either way
Kevin Power (Aug 03 2020 at 17:20):
I think we are one of the few left on an older IG framework.
Kevin Power (Aug 03 2020 at 17:23):
OK, local build now works, pushed up publisher location change to the branch.
Kevin Power (Aug 03 2020 at 17:56):
If someone wouldn't mind double checking a local build, I would appreciate it.
Jamie Jones (Aug 03 2020 at 18:23):
BUILD SUCCESSFUL
Kevin Power (Aug 03 2020 at 21:53):
Just FYI - I also committed/pushed a change to remove the spreadsheets from the src directory so we won't have confusion in the future.
Last updated: Apr 12 2022 at 19:14 UTC