From 4e97bb0d5a4e0669e9bbff1917de09b558d8d669 Mon Sep 17 00:00:00 2001 From: markiantorno Date: Wed, 1 Feb 2023 07:02:20 +0000 Subject: [PATCH 01/31] Release: v5.6.93 ## Validator Changes * Fix for NPE rendering resources * Consider CanonicalResource to be a CanonicalResource when validating profile references * Work around error in R5 sdf-29 invariant ## Other code changes * XHTML processing: Cater for "." in XML element and attribute names * Handle R3 encoding of primitive values when validating profiles * Improve error messaging when validating StructureDefinition * Temporary Support for MedicationStatement in R5 * Work around for Identifier.use = ? in THO R5 package (old error) * Rework Package API to allow for authentication on package servers * Structure mapping now finds source Structure Definition by URI and sets ParserBase logical property appropriately. * DOn't convert ig-r4 when converting package versions ***NO_CI*** --- org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index 24fe34dd7..14cd6a074 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.93-SNAPSHOT + 5.6.93 ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index 6584731a6..2057b729c 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.93-SNAPSHOT + 5.6.93 ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index 9e961ec39..526de61f3 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.93-SNAPSHOT + 5.6.93 ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index a94b4dda8..9578e38f8 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.93-SNAPSHOT + 5.6.93 ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index 79b61a0bc..169d6f5ba 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.93-SNAPSHOT + 5.6.93 ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index 6b923c223..6277c0731 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.93-SNAPSHOT + 5.6.93 ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index 018a2e705..00d7ef9ff 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.93-SNAPSHOT + 5.6.93 ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index a1d5096f8..60a2a1085 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.93-SNAPSHOT + 5.6.93 ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index 8b5b268b7..1223516db 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.93-SNAPSHOT + 5.6.93 ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index 7934e8ae5..6d9f1cd20 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.93-SNAPSHOT + 5.6.93 ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index 7d678fe99..b0332a9ee 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.93-SNAPSHOT + 5.6.93 ../pom.xml diff --git a/pom.xml b/pom.xml index 9d1c7afd7..b49e06dfa 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.93-SNAPSHOT + 5.6.93 pom From e922cc2a97f93120cf45053975fb76f96ef9c032 Mon Sep 17 00:00:00 2001 From: markiantorno Date: Wed, 1 Feb 2023 07:27:59 +0000 Subject: [PATCH 02/31] Updating version to: 5.6.94-SNAPSHOT and incrementing test cases dependency. --- RELEASE_NOTES.md | 14 ++------------ org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 13 files changed, 14 insertions(+), 24 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 962523f74..7b06c6ab5 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,17 +1,7 @@ ## Validator Changes -* Fix for NPE rendering resources -* Consider CanonicalResource to be a CanonicalResource when validating profile references -* Work around error in R5 sdf-29 invariant - +* no changes ## Other code changes -* XHTML processing: Cater for "." in XML element and attribute names -* Handle R3 encoding of primitive values when validating profiles -* Improve error messaging when validating StructureDefinition -* Temporary Support for MedicationStatement in R5 -* Work around for Identifier.use = ? in THO R5 package (old error) -* Rework Package API to allow for authentication on package servers -* Structure mapping now finds source Structure Definition by URI and sets ParserBase logical property appropriately. -* DOn't convert ig-r4 when converting package versions +* no changes \ No newline at end of file diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index 14cd6a074..4bf8df552 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.93 + 5.6.94-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index 2057b729c..d62d61ad2 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.93 + 5.6.94-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index 526de61f3..5d8ada5bb 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.93 + 5.6.94-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index 9578e38f8..00dd9ceaf 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.93 + 5.6.94-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index 169d6f5ba..d8d73b494 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.93 + 5.6.94-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index 6277c0731..ec67dd4cf 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.93 + 5.6.94-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index 00d7ef9ff..c28199fa8 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.93 + 5.6.94-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index 60a2a1085..39337da04 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.93 + 5.6.94-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index 1223516db..901d77029 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.93 + 5.6.94-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index 6d9f1cd20..c88fda278 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.93 + 5.6.94-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index b0332a9ee..9d9e375af 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.93 + 5.6.94-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index b49e06dfa..f15919c8e 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.93 + 5.6.94-SNAPSHOT pom From 22dbb5784ee08918cde599be9b37561f7b3f82c0 Mon Sep 17 00:00:00 2001 From: Mark Iantorno Date: Wed, 1 Feb 2023 11:00:18 -0500 Subject: [PATCH 03/31] Update release-branch-pipeline.yml for Azure Pipelines (#1100) ![](https://media.tenor.com/JHFfBjUQcxEAAAAM/dance-morty.gif) --- release-branch-pipeline.yml | 182 ++++++++++++++++++++++-------------- 1 file changed, 114 insertions(+), 68 deletions(-) diff --git a/release-branch-pipeline.yml b/release-branch-pipeline.yml index c03b29796..0c38b7964 100644 --- a/release-branch-pipeline.yml +++ b/release-branch-pipeline.yml @@ -9,71 +9,117 @@ pool: variables: VERSION: -steps: - # Checks if the release notes file is populated. Exits if it is not. - - bash: | - if [ -n "$(cmp RELEASE_NOTES.md RELEASE_NOTES.template.md)" ] - then - echo "RELEASE_NOTES.md has changed, proceeding to next step" - else - echo "Your RELEASE_NOTES.md file is unchanged. Please provide release notes before creating a release." - exit 1 - fi - - # This task pulls the value from the org.hl7.fhir.r5 project pom.xml file. All modules are released as - # the same version, at the same time, as defined in the root level pom.xml. - - task: PowerShell@2 - inputs: - targetType: 'inline' - script: | - [xml]$pomXml = Get-Content -Path .\pom.xml - # version - Write-Host $pomXml.project.version - $version=$pomXml.project.version - Write-Host "##vso[task.setvariable variable=version]$version" - - # Prints out the build version, for debugging purposes - - bash: echo Pulled version from pom.xml => $(version) - - # Azure pipelines cannot pass variables between pipelines, but it can pass files, so we - # pass the build id (ex: 1.1.13-SNAPSHOT) as a string in a file. - # This is used in the release pipeline, so we create it here. - - bash: | - echo $(version) - VERSION=$(version) - echo "$VERSION" > $(System.DefaultWorkingDirectory)/VERSION - - # Copies the VERSION file containing the build id (ex: 1.1.13-SNAPSHOT) to the staging directory - # This is done for release versions only. - - task: CopyFiles@2 - displayName: 'Copy Files to: $(build.artifactstagingdirectory)' - inputs: - SourceFolder: '$(System.Defaultworkingdirectory)' - Contents: "$(System.DefaultWorkingDirectory)/VERSION" - TargetFolder: '$(build.artifactstagingdirectory)' - - # Runs 'mvn clean package' - - task: Maven@3 - inputs: - mavenPomFile: 'pom.xml' - mavenOptions: '-Xmx3072m' - javaHomeOption: 'JDKVersion' - jdkVersionOption: '1.11' - jdkArchitectureOption: 'x64' - publishJUnitResults: true - testResultsFiles: '**/surefire-reports/TEST-*.xml' - goals: 'package' - - # Publishes the built Validator jar to build artifacts. Primarily for testing and debugging builds. - - task: PublishPipelineArtifact@1 - displayName: 'Publish Validator jar' - inputs: - targetPath: "$(System.DefaultWorkingDirectory)/org.hl7.fhir.validation/target/org.hl7.fhir.validation-$(version).jar" - artifactName: Validator - - # Publishes the files we've moved into the staging directory, so they can be accessed by the - # release pipeline. - - task: PublishBuildArtifacts@1 - displayName: 'Publish Build Artifacts' - inputs: - PathtoPublish: '$(build.artifactstagingdirectory)' +jobs: + - job: check_release_notes + timeoutInMinutes: 5 + steps: + - task: Bash@3 + # Checks if the release notes file is populated. Exits if it is not. + inputs: + targetType: 'inline' + script: | + if [ -n "$(cmp RELEASE_NOTES.md RELEASE_NOTES.template.md)" ] + then + echo "RELEASE_NOTES.md has changed, proceeding to next step" + else + echo "Your RELEASE_NOTES.md file is unchanged. Please provide release notes before creating a release." + exit 1 + fi + displayName: Checks if the release notes file is populated. + - job: get_release_version + timeoutInMinutes: 5 + steps: + - task: Bash@3 + # Prints out the build version, for debugging purposes + inputs: + targetType: 'inline' + script: | + echo Pulled version from pom.xml => $(version) + displayName: Debug print release version + - task: Bash@3 + # Azure pipelines cannot pass variables between pipelines, but it can pass files, so we + # pass the build id (ex: 1.1.13-SNAPSHOT) as a string in a file. + # This is used in the release pipeline, so we create it here. + inputs: + targetType: 'inline' + script: | + echo $(version) + VERSION=$(version) + echo "$VERSION" > $(System.DefaultWorkingDirectory)/VERSION + displayName: Debug print release version + - task: CopyFiles@2 + # Copies the VERSION file containing the build id (ex: 1.1.13-SNAPSHOT) to the staging directory + # This is done for release versions only. + inputs: + SourceFolder: '$(System.Defaultworkingdirectory)' + Contents: "$(System.DefaultWorkingDirectory)/VERSION" + TargetFolder: '$(build.artifactstagingdirectory)' + displayName: 'Copy Files to: $(build.artifactstagingdirectory)' + - job: get_branch_id + timeoutInMinutes: 5 + steps: + - task: PowerShell@2 + # This task pulls the branch name from the azure build environment and sets as a job-level variable. + inputs: + targetType: 'inline' + script: | + $branch_name = '$(Build.SourceBranchName)' + Write-Host "##vso[task.setvariable variable=branch_name]$branch_name" + displayName: Save branch name to local variable. + - task: Bash@3 + # Prints out the branch name, for debugging purposes + inputs: + targetType: 'inline' + script: echo Current branch name => $(branch_name) + displayName: Print out the branch name. + - task: Bash@3 + # Azure pipelines cannot pass variables between pipelines, but it can pass files, so we + # pass the branch name (ex: rel_2022_05) as a string in a file. + # This is used in the release pipeline, so we create it here. + inputs: + targetType: 'inline' + script: | + echo $(branch_name) + BRANCH=$(branch_name) + echo "$BRANCH" > $(System.DefaultWorkingDirectory)/BRANCH + displayName: Save branch name to file. + - task: CopyFiles@2 + # Copies the BRANCH file containing the pom version to the staging directory + inputs: + SourceFolder: '$(System.Defaultworkingdirectory)' + Contents: "$(System.DefaultWorkingDirectory)/BRANCH" + TargetFolder: '$(build.artifactstagingdirectory)' + displayName: Copy the branch name file to the artifact staging directory. + - job: buildaroni + # We're going to do a full build, including all unit and intergration tests. We do this here, before any + # actual release pipeilne kicks off, and we don't do it again at any point in the release pipeline. The assumption here + # is that once we pull the code, it won't change again on this branch until the release is complete. We + # want to fail fast if there is an issue, and avoid running the tests more than once so it doesn't take all day. + timeoutInMinutes: 360 + steps: + # Runs 'mvn clean package' + - task: Maven@3 + inputs: + mavenPomFile: 'pom.xml' + mavenOptions: '-Xmx3072m' + javaHomeOption: 'JDKVersion' + jdkVersionOption: '1.11' + jdkArchitectureOption: 'x64' + publishJUnitResults: true + testResultsFiles: '**/surefire-reports/TEST-*.xml' + goals: 'package' + - job: publish_build_artifacts + timeoutInMinutes: 5 + steps: + # Publishes the built Validator jar to build artifacts. Primarily for testing and debugging builds. + - task: PublishPipelineArtifact@1 + displayName: 'Publish Validator jar' + inputs: + targetPath: "$(System.DefaultWorkingDirectory)/org.hl7.fhir.validation/target/org.hl7.fhir.validation-$(version).jar" + artifactName: Validator + - task: PublishBuildArtifacts@1 + # Publishes the files we've moved into the staging directory, so they can be accessed by the + # release pipeline. + displayName: 'Publish Build Artifacts' + inputs: + PathtoPublish: '$(build.artifactstagingdirectory)' From a2ab48d15fa3cea5b82ddc1338a613eaaf72b514 Mon Sep 17 00:00:00 2001 From: Mark Iantorno Date: Wed, 1 Feb 2023 11:09:11 -0500 Subject: [PATCH 04/31] Update release-branch-pipeline.yml for Azure Pipelines --- release-branch-pipeline.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/release-branch-pipeline.yml b/release-branch-pipeline.yml index 0c38b7964..022701bf1 100644 --- a/release-branch-pipeline.yml +++ b/release-branch-pipeline.yml @@ -29,6 +29,18 @@ jobs: - job: get_release_version timeoutInMinutes: 5 steps: + - task: PowerShell@2 + # This task pulls the value from the hapi-fhir project pom.xml file. All modules are released as + # the same version, at the same time, as defined in the root level pom.xml. + inputs: + targetType: 'inline' + script: | + [xml]$pomXml = Get-Content -Path .\pom.xml + # version + Write-Host $pomXml.project.version + $version_from_pom=$pomXml.project.version + Write-Host "##vso[task.setvariable variable=version_from_pom]$version_from_pom" + displayName: Save pom file version to local variable. - task: Bash@3 # Prints out the build version, for debugging purposes inputs: From eaff7dcf4ec86854d1152dad97920f9a867fa095 Mon Sep 17 00:00:00 2001 From: Mark Iantorno Date: Wed, 1 Feb 2023 11:11:48 -0500 Subject: [PATCH 05/31] Update release-branch-pipeline.yml for Azure Pipelines --- release-branch-pipeline.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/release-branch-pipeline.yml b/release-branch-pipeline.yml index 022701bf1..bd85a222c 100644 --- a/release-branch-pipeline.yml +++ b/release-branch-pipeline.yml @@ -108,6 +108,7 @@ jobs: # is that once we pull the code, it won't change again on this branch until the release is complete. We # want to fail fast if there is an issue, and avoid running the tests more than once so it doesn't take all day. timeoutInMinutes: 360 + dependsOn: ['get_release_version', 'get_branch_id', 'check_release_notes'] steps: # Runs 'mvn clean package' - task: Maven@3 @@ -122,6 +123,7 @@ jobs: goals: 'package' - job: publish_build_artifacts timeoutInMinutes: 5 + dependsOn: ['buildaroni'] steps: # Publishes the built Validator jar to build artifacts. Primarily for testing and debugging builds. - task: PublishPipelineArtifact@1 From cb7f268a07169bb75feae3d974097b421930c8ba Mon Sep 17 00:00:00 2001 From: Mark Iantorno Date: Wed, 1 Feb 2023 11:17:21 -0500 Subject: [PATCH 06/31] Update release-branch-pipeline.yml for Azure Pipelines --- release-branch-pipeline.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/release-branch-pipeline.yml b/release-branch-pipeline.yml index bd85a222c..92a356aad 100644 --- a/release-branch-pipeline.yml +++ b/release-branch-pipeline.yml @@ -46,7 +46,7 @@ jobs: inputs: targetType: 'inline' script: | - echo Pulled version from pom.xml => $(version) + echo Pulled version from pom.xml => $(version_from_pom) displayName: Debug print release version - task: Bash@3 # Azure pipelines cannot pass variables between pipelines, but it can pass files, so we @@ -55,8 +55,8 @@ jobs: inputs: targetType: 'inline' script: | - echo $(version) - VERSION=$(version) + echo $(version_from_pom) + VERSION=$(version_from_pom) echo "$VERSION" > $(System.DefaultWorkingDirectory)/VERSION displayName: Debug print release version - task: CopyFiles@2 From 97bebabc91b9a232835329cf04ebca172af7fb44 Mon Sep 17 00:00:00 2001 From: dotasek Date: Wed, 1 Feb 2023 11:56:18 -0500 Subject: [PATCH 07/31] Set correct version for artifact publish --- release-branch-pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-branch-pipeline.yml b/release-branch-pipeline.yml index 92a356aad..a0b861410 100644 --- a/release-branch-pipeline.yml +++ b/release-branch-pipeline.yml @@ -129,7 +129,7 @@ jobs: - task: PublishPipelineArtifact@1 displayName: 'Publish Validator jar' inputs: - targetPath: "$(System.DefaultWorkingDirectory)/org.hl7.fhir.validation/target/org.hl7.fhir.validation-$(version).jar" + targetPath: "$(System.DefaultWorkingDirectory)/org.hl7.fhir.validation/target/org.hl7.fhir.validation-$(version_from_pom).jar" artifactName: Validator - task: PublishBuildArtifacts@1 # Publishes the files we've moved into the staging directory, so they can be accessed by the From 3995ec44e2d78699fad177590178dfee9094cf83 Mon Sep 17 00:00:00 2001 From: dotasek Date: Wed, 1 Feb 2023 12:38:44 -0500 Subject: [PATCH 08/31] Set even correcter version for artifact publish --- release-branch-pipeline.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/release-branch-pipeline.yml b/release-branch-pipeline.yml index a0b861410..733e37e72 100644 --- a/release-branch-pipeline.yml +++ b/release-branch-pipeline.yml @@ -39,7 +39,7 @@ jobs: # version Write-Host $pomXml.project.version $version_from_pom=$pomXml.project.version - Write-Host "##vso[task.setvariable variable=version_from_pom]$version_from_pom" + Write-Host "##vso[task.setvariable variable=version_from_pom;isOutput=true;]$version_from_pom" displayName: Save pom file version to local variable. - task: Bash@3 # Prints out the build version, for debugging purposes @@ -124,6 +124,8 @@ jobs: - job: publish_build_artifacts timeoutInMinutes: 5 dependsOn: ['buildaroni'] + variables: + version_from_pom: $[ dependencies.buildaroni.outputs['setVariable.version_from_pom'] ] steps: # Publishes the built Validator jar to build artifacts. Primarily for testing and debugging builds. - task: PublishPipelineArtifact@1 From b4295b14ef54260ebd9a9e8a2049ded6fa1a5f90 Mon Sep 17 00:00:00 2001 From: dotasek Date: Wed, 1 Feb 2023 12:51:12 -0500 Subject: [PATCH 09/31] Fix bash? --- release-branch-pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-branch-pipeline.yml b/release-branch-pipeline.yml index 733e37e72..942fd2628 100644 --- a/release-branch-pipeline.yml +++ b/release-branch-pipeline.yml @@ -39,7 +39,7 @@ jobs: # version Write-Host $pomXml.project.version $version_from_pom=$pomXml.project.version - Write-Host "##vso[task.setvariable variable=version_from_pom;isOutput=true;]$version_from_pom" + Write-Host "##vso[task.setvariable variable=version_from_pom;isOutput=true]$version_from_pom" displayName: Save pom file version to local variable. - task: Bash@3 # Prints out the build version, for debugging purposes From 66885ed8019a33411d477d3df7d120ef8b4f06a1 Mon Sep 17 00:00:00 2001 From: Mark Iantorno Date: Wed, 1 Feb 2023 13:16:26 -0500 Subject: [PATCH 10/31] Update release-branch-pipeline.yml for Azure Pipelines --- release-branch-pipeline.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/release-branch-pipeline.yml b/release-branch-pipeline.yml index 942fd2628..2278a9308 100644 --- a/release-branch-pipeline.yml +++ b/release-branch-pipeline.yml @@ -38,8 +38,8 @@ jobs: [xml]$pomXml = Get-Content -Path .\pom.xml # version Write-Host $pomXml.project.version - $version_from_pom=$pomXml.project.version - Write-Host "##vso[task.setvariable variable=version_from_pom;isOutput=true]$version_from_pom" + $VERSION=$pomXml.project.version + Write-Host "##vso[task.setvariable variable=version_from_pom;isOutput=true;]$VERSION" displayName: Save pom file version to local variable. - task: Bash@3 # Prints out the build version, for debugging purposes @@ -58,7 +58,7 @@ jobs: echo $(version_from_pom) VERSION=$(version_from_pom) echo "$VERSION" > $(System.DefaultWorkingDirectory)/VERSION - displayName: Debug print release version + displayName: Save Release Version to File - task: CopyFiles@2 # Copies the VERSION file containing the build id (ex: 1.1.13-SNAPSHOT) to the staging directory # This is done for release versions only. From 5cad1a8f33b847fbfcb28eed13e185cb42d8a969 Mon Sep 17 00:00:00 2001 From: Mark Iantorno Date: Wed, 1 Feb 2023 13:19:07 -0500 Subject: [PATCH 11/31] Update release-branch-pipeline.yml for Azure Pipelines --- release-branch-pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-branch-pipeline.yml b/release-branch-pipeline.yml index 2278a9308..980d45d47 100644 --- a/release-branch-pipeline.yml +++ b/release-branch-pipeline.yml @@ -39,7 +39,7 @@ jobs: # version Write-Host $pomXml.project.version $VERSION=$pomXml.project.version - Write-Host "##vso[task.setvariable variable=version_from_pom;isOutput=true;]$VERSION" + Write-Host "##vso[task.setvariable variable=version_from_pom;]$VERSION" displayName: Save pom file version to local variable. - task: Bash@3 # Prints out the build version, for debugging purposes From f06d7cdbc165401ade0f5307df4baf42893399cf Mon Sep 17 00:00:00 2001 From: Mark Iantorno Date: Wed, 1 Feb 2023 13:22:46 -0500 Subject: [PATCH 12/31] Update release-branch-pipeline.yml for Azure Pipelines --- release-branch-pipeline.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/release-branch-pipeline.yml b/release-branch-pipeline.yml index 980d45d47..31f21941d 100644 --- a/release-branch-pipeline.yml +++ b/release-branch-pipeline.yml @@ -39,14 +39,14 @@ jobs: # version Write-Host $pomXml.project.version $VERSION=$pomXml.project.version - Write-Host "##vso[task.setvariable variable=version_from_pom;]$VERSION" + Write-Host "##vso[task.setvariable variable=version_from_pom;isOutput=true;]$VERSION" displayName: Save pom file version to local variable. - task: Bash@3 # Prints out the build version, for debugging purposes inputs: targetType: 'inline' script: | - echo Pulled version from pom.xml => $(version_from_pom) + echo Pulled version from pom.xml => $(VERSION) displayName: Debug print release version - task: Bash@3 # Azure pipelines cannot pass variables between pipelines, but it can pass files, so we @@ -57,7 +57,7 @@ jobs: script: | echo $(version_from_pom) VERSION=$(version_from_pom) - echo "$VERSION" > $(System.DefaultWorkingDirectory)/VERSION + echo "$VERSION" > $(System.DefaultWorkingDirectory)/VERSION) displayName: Save Release Version to File - task: CopyFiles@2 # Copies the VERSION file containing the build id (ex: 1.1.13-SNAPSHOT) to the staging directory From db16bad13daa4d25467ba2f780c3435a245ddd42 Mon Sep 17 00:00:00 2001 From: Mark Iantorno Date: Wed, 1 Feb 2023 13:26:31 -0500 Subject: [PATCH 13/31] Update release-branch-pipeline.yml for Azure Pipelines --- release-branch-pipeline.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/release-branch-pipeline.yml b/release-branch-pipeline.yml index 31f21941d..d072bf756 100644 --- a/release-branch-pipeline.yml +++ b/release-branch-pipeline.yml @@ -46,7 +46,7 @@ jobs: inputs: targetType: 'inline' script: | - echo Pulled version from pom.xml => $(VERSION) + echo Pulled version from pom.xml => $VERSION displayName: Debug print release version - task: Bash@3 # Azure pipelines cannot pass variables between pipelines, but it can pass files, so we @@ -75,8 +75,8 @@ jobs: inputs: targetType: 'inline' script: | - $branch_name = '$(Build.SourceBranchName)' - Write-Host "##vso[task.setvariable variable=branch_name]$branch_name" + $BRANCH = '$(Build.SourceBranchName)' + Write-Host "##vso[task.setvariable variable=branch_name]$BRANCH" displayName: Save branch name to local variable. - task: Bash@3 # Prints out the branch name, for debugging purposes From 621c639128abac447ac501fab004dccc18dd1f18 Mon Sep 17 00:00:00 2001 From: Mark Iantorno Date: Wed, 1 Feb 2023 13:29:47 -0500 Subject: [PATCH 14/31] Update release-branch-pipeline.yml for Azure Pipelines --- release-branch-pipeline.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/release-branch-pipeline.yml b/release-branch-pipeline.yml index d072bf756..8f8dc8bcd 100644 --- a/release-branch-pipeline.yml +++ b/release-branch-pipeline.yml @@ -39,14 +39,14 @@ jobs: # version Write-Host $pomXml.project.version $VERSION=$pomXml.project.version - Write-Host "##vso[task.setvariable variable=version_from_pom;isOutput=true;]$VERSION" + Write-Host "##vso[task.setvariable variable=version_from_pom;]$VERSION" displayName: Save pom file version to local variable. - task: Bash@3 # Prints out the build version, for debugging purposes inputs: targetType: 'inline' script: | - echo Pulled version from pom.xml => $VERSION + echo Pulled version from pom.xml => $(version_from_pom) displayName: Debug print release version - task: Bash@3 # Azure pipelines cannot pass variables between pipelines, but it can pass files, so we From c65b02c3c83afaeaea756b2454498066acd5b5fa Mon Sep 17 00:00:00 2001 From: dotasek Date: Wed, 1 Feb 2023 13:40:03 -0500 Subject: [PATCH 15/31] Update echo reference and fix publish ref --- release-branch-pipeline.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/release-branch-pipeline.yml b/release-branch-pipeline.yml index 8f8dc8bcd..5e49cc660 100644 --- a/release-branch-pipeline.yml +++ b/release-branch-pipeline.yml @@ -39,14 +39,14 @@ jobs: # version Write-Host $pomXml.project.version $VERSION=$pomXml.project.version - Write-Host "##vso[task.setvariable variable=version_from_pom;]$VERSION" + Write-Host "##vso[task.setvariable variable=version_from_pom;isOutput=true;]$VERSION" displayName: Save pom file version to local variable. - task: Bash@3 # Prints out the build version, for debugging purposes inputs: targetType: 'inline' script: | - echo Pulled version from pom.xml => $(version_from_pom) + echo Pulled version from pom.xml => $(setOutput.version_from_pom) displayName: Debug print release version - task: Bash@3 # Azure pipelines cannot pass variables between pipelines, but it can pass files, so we @@ -125,7 +125,7 @@ jobs: timeoutInMinutes: 5 dependsOn: ['buildaroni'] variables: - version_from_pom: $[ dependencies.buildaroni.outputs['setVariable.version_from_pom'] ] + version_from_pom: $[ dependencies.get_release_version.outputs['passOutput.version_from_pom'] ] steps: # Publishes the built Validator jar to build artifacts. Primarily for testing and debugging builds. - task: PublishPipelineArtifact@1 From f8c183cf5d49280162d310070a995b680393aa59 Mon Sep 17 00:00:00 2001 From: dotasek Date: Wed, 1 Feb 2023 13:44:27 -0500 Subject: [PATCH 16/31] use setOutput. in other version_from_pom locations --- release-branch-pipeline.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/release-branch-pipeline.yml b/release-branch-pipeline.yml index 5e49cc660..c3861aa8e 100644 --- a/release-branch-pipeline.yml +++ b/release-branch-pipeline.yml @@ -55,8 +55,8 @@ jobs: inputs: targetType: 'inline' script: | - echo $(version_from_pom) - VERSION=$(version_from_pom) + echo $(setOutput.version_from_pom) + VERSION=$(setOutput.version_from_pom) echo "$VERSION" > $(System.DefaultWorkingDirectory)/VERSION) displayName: Save Release Version to File - task: CopyFiles@2 From 113f226f10e4efdd672bbf326ccb7809363aa40b Mon Sep 17 00:00:00 2001 From: dotasek Date: Wed, 1 Feb 2023 13:49:34 -0500 Subject: [PATCH 17/31] name task --- release-branch-pipeline.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/release-branch-pipeline.yml b/release-branch-pipeline.yml index c3861aa8e..74e594d81 100644 --- a/release-branch-pipeline.yml +++ b/release-branch-pipeline.yml @@ -41,6 +41,7 @@ jobs: $VERSION=$pomXml.project.version Write-Host "##vso[task.setvariable variable=version_from_pom;isOutput=true;]$VERSION" displayName: Save pom file version to local variable. + name: setOutput - task: Bash@3 # Prints out the build version, for debugging purposes inputs: From 055e7220566e6d017ad6352a3a2935879fc555d8 Mon Sep 17 00:00:00 2001 From: dotasek Date: Wed, 1 Feb 2023 13:53:49 -0500 Subject: [PATCH 18/31] Typo --- release-branch-pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-branch-pipeline.yml b/release-branch-pipeline.yml index 74e594d81..28a3fc32d 100644 --- a/release-branch-pipeline.yml +++ b/release-branch-pipeline.yml @@ -58,7 +58,7 @@ jobs: script: | echo $(setOutput.version_from_pom) VERSION=$(setOutput.version_from_pom) - echo "$VERSION" > $(System.DefaultWorkingDirectory)/VERSION) + echo "$VERSION" > $(System.DefaultWorkingDirectory)/VERSION displayName: Save Release Version to File - task: CopyFiles@2 # Copies the VERSION file containing the build id (ex: 1.1.13-SNAPSHOT) to the staging directory From 2478f6b6fb327af60f28aef911a7d11ccc03ff6f Mon Sep 17 00:00:00 2001 From: dotasek Date: Wed, 1 Feb 2023 14:00:41 -0500 Subject: [PATCH 19/31] refer to correct task in artifact publish variables --- release-branch-pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-branch-pipeline.yml b/release-branch-pipeline.yml index 28a3fc32d..4b51ee244 100644 --- a/release-branch-pipeline.yml +++ b/release-branch-pipeline.yml @@ -126,7 +126,7 @@ jobs: timeoutInMinutes: 5 dependsOn: ['buildaroni'] variables: - version_from_pom: $[ dependencies.get_release_version.outputs['passOutput.version_from_pom'] ] + version_from_pom: $[ dependencies.get_release_version.outputs['setOutput.version_from_pom'] ] steps: # Publishes the built Validator jar to build artifacts. Primarily for testing and debugging builds. - task: PublishPipelineArtifact@1 From 4384641d203d5c4513ad830e9b7bd1afb58fb238 Mon Sep 17 00:00:00 2001 From: dotasek Date: Wed, 1 Feb 2023 14:33:26 -0500 Subject: [PATCH 20/31] Set correct dependency --- release-branch-pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-branch-pipeline.yml b/release-branch-pipeline.yml index 4b51ee244..8b3d291d8 100644 --- a/release-branch-pipeline.yml +++ b/release-branch-pipeline.yml @@ -124,7 +124,7 @@ jobs: goals: 'package' - job: publish_build_artifacts timeoutInMinutes: 5 - dependsOn: ['buildaroni'] + dependsOn: ['buildaroni', 'get_release_version'] variables: version_from_pom: $[ dependencies.get_release_version.outputs['setOutput.version_from_pom'] ] steps: From 50b27a0af3d04947f5a18a2c63f00885450524bb Mon Sep 17 00:00:00 2001 From: dotasek Date: Wed, 1 Feb 2023 15:31:10 -0500 Subject: [PATCH 21/31] Merge build and publish jobs --- release-branch-pipeline.yml | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/release-branch-pipeline.yml b/release-branch-pipeline.yml index 8b3d291d8..be4d62b89 100644 --- a/release-branch-pipeline.yml +++ b/release-branch-pipeline.yml @@ -103,13 +103,15 @@ jobs: Contents: "$(System.DefaultWorkingDirectory)/BRANCH" TargetFolder: '$(build.artifactstagingdirectory)' displayName: Copy the branch name file to the artifact staging directory. - - job: buildaroni + - job: build-and-publish-artifacts # We're going to do a full build, including all unit and intergration tests. We do this here, before any - # actual release pipeilne kicks off, and we don't do it again at any point in the release pipeline. The assumption here + # actual release pipeline kicks off, and we don't do it again at any point in the release pipeline. The assumption here # is that once we pull the code, it won't change again on this branch until the release is complete. We # want to fail fast if there is an issue, and avoid running the tests more than once so it doesn't take all day. timeoutInMinutes: 360 dependsOn: ['get_release_version', 'get_branch_id', 'check_release_notes'] + variables: + version_from_pom: $[ dependencies.get_release_version.outputs['setOutput.version_from_pom'] ] steps: # Runs 'mvn clean package' - task: Maven@3 @@ -122,21 +124,15 @@ jobs: publishJUnitResults: true testResultsFiles: '**/surefire-reports/TEST-*.xml' goals: 'package' - - job: publish_build_artifacts - timeoutInMinutes: 5 - dependsOn: ['buildaroni', 'get_release_version'] - variables: - version_from_pom: $[ dependencies.get_release_version.outputs['setOutput.version_from_pom'] ] - steps: - # Publishes the built Validator jar to build artifacts. Primarily for testing and debugging builds. + # Publishes the built Validator jar to build artifacts. Primarily for testing and debugging builds. - task: PublishPipelineArtifact@1 displayName: 'Publish Validator jar' inputs: targetPath: "$(System.DefaultWorkingDirectory)/org.hl7.fhir.validation/target/org.hl7.fhir.validation-$(version_from_pom).jar" artifactName: Validator + # Publishes the files we've moved into the staging directory, so they can be accessed by the + # release pipeline. - task: PublishBuildArtifacts@1 - # Publishes the files we've moved into the staging directory, so they can be accessed by the - # release pipeline. displayName: 'Publish Build Artifacts' inputs: PathtoPublish: '$(build.artifactstagingdirectory)' From 343ab91318dcd78b9626c2d3d451ede1f31aebb1 Mon Sep 17 00:00:00 2001 From: dotasek Date: Wed, 1 Feb 2023 15:32:48 -0500 Subject: [PATCH 22/31] Fix job name some more --- release-branch-pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-branch-pipeline.yml b/release-branch-pipeline.yml index be4d62b89..135c0958a 100644 --- a/release-branch-pipeline.yml +++ b/release-branch-pipeline.yml @@ -103,7 +103,7 @@ jobs: Contents: "$(System.DefaultWorkingDirectory)/BRANCH" TargetFolder: '$(build.artifactstagingdirectory)' displayName: Copy the branch name file to the artifact staging directory. - - job: build-and-publish-artifacts + - job: build_and_publish_artifacts # We're going to do a full build, including all unit and intergration tests. We do this here, before any # actual release pipeline kicks off, and we don't do it again at any point in the release pipeline. The assumption here # is that once we pull the code, it won't change again on this branch until the release is complete. We From 69e19f7ce3aa03b8f88420f0612776b0ff89c563 Mon Sep 17 00:00:00 2001 From: dotasek Date: Wed, 1 Feb 2023 16:45:41 -0500 Subject: [PATCH 23/31] Add artifact publish for copied files --- release-branch-pipeline.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/release-branch-pipeline.yml b/release-branch-pipeline.yml index 135c0958a..83c2c4d3b 100644 --- a/release-branch-pipeline.yml +++ b/release-branch-pipeline.yml @@ -68,6 +68,10 @@ jobs: Contents: "$(System.DefaultWorkingDirectory)/VERSION" TargetFolder: '$(build.artifactstagingdirectory)' displayName: 'Copy Files to: $(build.artifactstagingdirectory)' + - task: PublishBuildArtifacts@1 + displayName: 'Publish Build Artifacts' + inputs: + PathtoPublish: '$(build.artifactstagingdirectory)' - job: get_branch_id timeoutInMinutes: 5 steps: @@ -103,6 +107,12 @@ jobs: Contents: "$(System.DefaultWorkingDirectory)/BRANCH" TargetFolder: '$(build.artifactstagingdirectory)' displayName: Copy the branch name file to the artifact staging directory. + # Publishes the files we've moved into the staging directory, so they can be accessed by the + # release pipeline. + - task: PublishBuildArtifacts@1 + displayName: 'Publish Build Artifacts' + inputs: + PathtoPublish: '$(build.artifactstagingdirectory)' - job: build_and_publish_artifacts # We're going to do a full build, including all unit and intergration tests. We do this here, before any # actual release pipeline kicks off, and we don't do it again at any point in the release pipeline. The assumption here From bc7de651bbcad0842b8662ad9a49b1f12a0f385a Mon Sep 17 00:00:00 2001 From: dotasek Date: Thu, 2 Feb 2023 11:04:51 -0500 Subject: [PATCH 24/31] Update RELEASE_NOTES.md ***NO_CI*** --- RELEASE_NOTES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 7b06c6ab5..e79215608 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -4,4 +4,4 @@ ## Other code changes -* no changes \ No newline at end of file +* Test release From 67329e20ad074de6e8316809de70e19647301350 Mon Sep 17 00:00:00 2001 From: markiantorno Date: Thu, 2 Feb 2023 16:34:58 +0000 Subject: [PATCH 25/31] Release: v5.6.94 ## Validator Changes * no changes ## Other code changes * Test release ***NO_CI*** --- org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index 4bf8df552..409cbcb3e 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.94-SNAPSHOT + 5.6.94 ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index d62d61ad2..d18b494be 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.94-SNAPSHOT + 5.6.94 ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index 5d8ada5bb..8053378d4 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.94-SNAPSHOT + 5.6.94 ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index 00dd9ceaf..5fd7f5e42 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.94-SNAPSHOT + 5.6.94 ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index d8d73b494..9a41e85a2 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.94-SNAPSHOT + 5.6.94 ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index ec67dd4cf..bc6010fe5 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.94-SNAPSHOT + 5.6.94 ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index c28199fa8..a22aec92d 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.94-SNAPSHOT + 5.6.94 ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index 39337da04..d39aa7019 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.94-SNAPSHOT + 5.6.94 ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index 901d77029..8c122ec42 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.94-SNAPSHOT + 5.6.94 ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index c88fda278..b32a45ddc 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.94-SNAPSHOT + 5.6.94 ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index 9d9e375af..de2aa8eef 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.94-SNAPSHOT + 5.6.94 ../pom.xml diff --git a/pom.xml b/pom.xml index f15919c8e..a89e0f269 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.94-SNAPSHOT + 5.6.94 pom From ea41a8b6a6556fdb5ee2a6a43405769af5f91adf Mon Sep 17 00:00:00 2001 From: markiantorno Date: Thu, 2 Feb 2023 17:07:22 +0000 Subject: [PATCH 26/31] Updating version to: 5.6.95-SNAPSHOT and incrementing test cases dependency. --- RELEASE_NOTES.md | 2 +- org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index e79215608..7b06c6ab5 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -4,4 +4,4 @@ ## Other code changes -* Test release +* no changes \ No newline at end of file diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index 409cbcb3e..e695cb19d 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.94 + 5.6.95-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index d18b494be..cc727117e 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.94 + 5.6.95-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index 8053378d4..9873def4e 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.94 + 5.6.95-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index 5fd7f5e42..706362610 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.94 + 5.6.95-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index 9a41e85a2..6234ef578 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.94 + 5.6.95-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index bc6010fe5..b8fe7a731 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.94 + 5.6.95-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index a22aec92d..0a76355f6 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.94 + 5.6.95-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index d39aa7019..8ccc54994 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.94 + 5.6.95-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index 8c122ec42..c506ad749 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.94 + 5.6.95-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index b32a45ddc..10ae4c0f4 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.94 + 5.6.95-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index de2aa8eef..1b6fd1c28 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.94 + 5.6.95-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index a89e0f269..367878697 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.94 + 5.6.95-SNAPSHOT pom From ea9333b32211c79102acf1c703cb2f05eb55dbb0 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Sat, 4 Feb 2023 05:14:51 +1100 Subject: [PATCH 27/31] Gg 202302 fhirpath as (#1102) * fix type of issue source extension * update extension extractor * FHIRPath changes for as - case and singleton issues * minor fixes for extension rendering * Update test cases version --------- Co-authored-by: Grahame Grieve Co-authored-by: dotasek --- .../convertors/misc/ExtensionExtractor.java | 56 ++++++++++++++++--- .../org/hl7/fhir/r4/utils/FHIRPathEngine.java | 46 +++++++++++++-- .../org/hl7/fhir/r4/test/FHIRPathTests.java | 3 + .../hl7/fhir/r4b/utils/FHIRPathEngine.java | 46 +++++++++++++-- .../org/hl7/fhir/r4b/test/FHIRPathTests.java | 3 + .../conformance/profile/ProfileUtilities.java | 4 ++ .../hl7/fhir/r5/context/ContextUtilities.java | 16 +++++- .../org/hl7/fhir/r5/utils/FHIRPathEngine.java | 28 +++++++++- .../hl7/fhir/r5/utils/ToolingExtensions.java | 2 +- pom.xml | 2 +- 10 files changed, 181 insertions(+), 25 deletions(-) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/ExtensionExtractor.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/ExtensionExtractor.java index ac3bd2467..a5a9b9421 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/ExtensionExtractor.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/ExtensionExtractor.java @@ -5,6 +5,8 @@ import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; +import java.util.HashSet; +import java.util.Set; import org.hl7.fhir.exceptions.FHIRFormatError; import org.hl7.fhir.r5.context.CanonicalResourceManager; @@ -21,17 +23,21 @@ import org.hl7.fhir.r5.model.StructureDefinition.TypeDerivationRule; import org.hl7.fhir.r5.model.ValueSet; import org.hl7.fhir.r5.model.ValueSet.ConceptSetComponent; import org.hl7.fhir.utilities.Utilities; +import org.hl7.fhir.utilities.json.model.JsonObject; import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager; import org.hl7.fhir.utilities.npm.NpmPackage; +import org.hl7.fhir.utilities.xml.XMLUtil; +import org.w3c.dom.Document; +import org.w3c.dom.Element; public class ExtensionExtractor { public static void main(String[] args) throws FHIRFormatError, FileNotFoundException, IOException { new ExtensionExtractor().process(args[0]); - } private void process(String dst) throws IOException { + Set ids = new HashSet<>(); FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(true); NpmPackage r5 = pcm.loadPackage("hl7.fhir.r5.core", "current"); CanonicalResourceManager cslist = new CanonicalResourceManager(true); @@ -67,7 +73,7 @@ public class ExtensionExtractor { sd.setSnapshot(null); String fn; if (sd.getContext().size() == 0) { - save(sd, dst,"none"); + save(sd, dst,"none", ids); } else if (sd.getContext().size() > 1) { boolean dt = true; for (StructureDefinitionContextComponent x : sd.getContext()) { @@ -75,16 +81,16 @@ public class ExtensionExtractor { dt = dt && isDataType(s); } if (dt) { - save(sd, dst,"datatypes"); + save(sd, dst,"datatypes", ids); } else { - save(sd, dst,"multiple"); + save(sd, dst,"multiple", ids); } } else { String s = extractType(sd.getContextFirstRep().getExpression()); if (isDataType(s)) { - save(sd, dst,"datatypes"); + save(sd, dst,"datatypes", ids); } else { - save(sd, dst,s); + save(sd, dst,s, ids); } } } else { @@ -118,21 +124,53 @@ public class ExtensionExtractor { for (ValueSet vs : vslist.getList()) { StructureDefinition sd = (StructureDefinition) vs.getUserData("ext"); String s = sd.getUserString("folder"); - save(vs, dst, s); + save(vs, dst, s, ids); } for (CodeSystem cs : cslist.getList()) { ValueSet vs = ((ArrayList) cs.getUserData("vsl")).get(0); String s = vs.getUserString("folder"); - save(cs, dst,s); + save(cs, dst,s, ids); } + + deleteMatchingResources(ids, new File("/Users/grahamegrieve/work/r5/source")); } - private void save(CanonicalResource cr, String dst, String folder) throws IOException { + private void deleteMatchingResources(Set ids, File folder) { + for (File f : folder.listFiles()) { + if (f.isDirectory()) { + deleteMatchingResources(ids, f); + } else if (f.getName().endsWith(".json")) { + try { + JsonObject json = org.hl7.fhir.utilities.json.parser.JsonParser.parseObject(f); + if (json.has("resourceType") && json.has("id") && ids.contains(json.asString("id"))) { + System.out.println("Delete "+f.getAbsolutePath()); + f.delete(); + } + } catch (Exception e) { + // nothing + } + } else if (f.getName().endsWith(".xml")) { + try { + Element xml = XMLUtil.parseFileToDom(f.getAbsolutePath()).getDocumentElement(); + if (XMLUtil.hasNamedChild(xml, "id") && ids.contains(XMLUtil.getNamedChildValue(xml, "id"))) { + System.out.println("Delete "+f.getAbsolutePath()); + f.delete(); + } + } catch (Exception e) { + // nothing + } + } + } + + } + + private void save(CanonicalResource cr, String dst, String folder, Set ids) throws IOException { // TODO Auto-generated method stub cr.setText(null); if (!cr.hasTitle()) { cr.setTitle(Utilities.unCamelCase(cr.getName())); } + ids.add(cr.getId()); String fn = Utilities.path(dst, folder, cr.fhirType()+"-"+cr.getId()+".xml"); cr.setUserData("folder", folder); if (!new File(fn).exists()) { diff --git a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/utils/FHIRPathEngine.java b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/utils/FHIRPathEngine.java index 5e55e6401..b38574ff6 100644 --- a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/utils/FHIRPathEngine.java +++ b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/utils/FHIRPathEngine.java @@ -61,6 +61,7 @@ import org.hl7.fhir.utilities.MergedList; import org.hl7.fhir.utilities.MergedList.MergeNode; import org.hl7.fhir.utilities.SourceLocation; import org.hl7.fhir.utilities.Utilities; +import org.hl7.fhir.utilities.VersionUtilities; import org.hl7.fhir.utilities.i18n.I18nConstants; import org.hl7.fhir.utilities.validation.ValidationOptions; import org.hl7.fhir.utilities.xhtml.NodeType; @@ -260,6 +261,8 @@ public class FHIRPathEngine { private boolean allowPolymorphicNames; private boolean doImplicitStringConversion; private boolean liquidMode; // in liquid mode, || terminates the expression and hands the parser back to the host + private boolean doNotEnforceAsSingletonRule; + private boolean doNotEnforceAsCaseSensitive; // if the fhir path expressions are allowed to use constants beyond those defined in the specification // the application can implement them by providing a constant resolver @@ -369,8 +372,15 @@ public class FHIRPathEngine { primitiveTypes.add(sd.getName()); } } + initFlags(); } + private void initFlags() { + if (!VersionUtilities.isR5VerOrLater(worker.getVersion())) { + doNotEnforceAsCaseSensitive = true; + doNotEnforceAsSingletonRule = true; + } + } // --- 3 methods to override in children ------------------------------------------------------- // if you don't override, it falls through to the using the base reference implementation @@ -453,6 +463,22 @@ public class FHIRPathEngine { this.doImplicitStringConversion = doImplicitStringConversion; } + public boolean isDoNotEnforceAsSingletonRule() { + return doNotEnforceAsSingletonRule; + } + + public void setDoNotEnforceAsSingletonRule(boolean doNotEnforceAsSingletonRule) { + this.doNotEnforceAsSingletonRule = doNotEnforceAsSingletonRule; + } + + public boolean isDoNotEnforceAsCaseSensitive() { + return doNotEnforceAsCaseSensitive; + } + + public void setDoNotEnforceAsCaseSensitive(boolean doNotEnforceAsCaseSensitive) { + this.doNotEnforceAsCaseSensitive = doNotEnforceAsCaseSensitive; + } + // --- public API ------------------------------------------------------- /** * Parse a path for later use using execute @@ -1789,11 +1815,11 @@ public class FHIRPathEngine { if (!isKnownType(tn)) { throw new PathEngineException("The type "+tn+" is not valid"); } - if (left.size() > 1) { - throw new PathEngineException("Attempt to use as on more than one item ("+left.size()+")"); + if (!doNotEnforceAsSingletonRule && left.size() > 1) { + throw new PathEngineException("Attempt to use as on more than one item ("+left.size()+", '"+expr.toString()+"')"); } for (Base nextLeft : left) { - if (tn.equals(nextLeft.fhirType())) { + if (compareTypeNames(tn, nextLeft.fhirType())) { result.add(nextLeft); } } @@ -1801,9 +1827,19 @@ public class FHIRPathEngine { return result; } + private boolean compareTypeNames(String left, String right) { + if (doNotEnforceAsCaseSensitive) { + return left.equalsIgnoreCase(right); + } else { + return left.equals(right); + } + } private boolean isKnownType(String tn) { if (!tn.contains(".")) { + if (Utilities.existsInList(tn, "String", "Boolean", "Integer", "Decimal", "Quantity", "DateTime", "Time", "SimpleTypeInfo", "ClassInfo")) { + return true; + } try { return worker.fetchTypeDefinition(tn) != null; } catch (Exception e) { @@ -4584,7 +4620,7 @@ public class FHIRPathEngine { if (!isKnownType(tn)) { throw new PathEngineException("The type "+tn+" is not valid"); } - if (focus.size() > 1) { + if (!doNotEnforceAsSingletonRule && focus.size() > 1) { throw new PathEngineException("Attempt to use as() on more than one item ("+focus.size()+")"); } @@ -4603,7 +4639,7 @@ public class FHIRPathEngine { } else { StructureDefinition sd = worker.fetchTypeDefinition(b.fhirType()); while (sd != null) { - if (tnp.equals(sd.getType())) { + if (compareTypeNames(tnp, sd.getType())) { result.add(b); break; } diff --git a/org.hl7.fhir.r4/src/test/java/org/hl7/fhir/r4/test/FHIRPathTests.java b/org.hl7.fhir.r4/src/test/java/org/hl7/fhir/r4/test/FHIRPathTests.java index 626a34e33..b0b065f60 100644 --- a/org.hl7.fhir.r4/src/test/java/org/hl7/fhir/r4/test/FHIRPathTests.java +++ b/org.hl7.fhir.r4/src/test/java/org/hl7/fhir/r4/test/FHIRPathTests.java @@ -201,6 +201,9 @@ public class FHIRPathTests { } } + fp.setDoNotEnforceAsCaseSensitive(false); + fp.setDoNotEnforceAsSingletonRule(false); + if (node != null) { try { outcome = fp.evaluate(res, node); diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/utils/FHIRPathEngine.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/utils/FHIRPathEngine.java index c1793e5ae..1cf3d8a46 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/utils/FHIRPathEngine.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/utils/FHIRPathEngine.java @@ -62,6 +62,7 @@ import org.hl7.fhir.utilities.MergedList; import org.hl7.fhir.utilities.MergedList.MergeNode; import org.hl7.fhir.utilities.SourceLocation; import org.hl7.fhir.utilities.Utilities; +import org.hl7.fhir.utilities.VersionUtilities; import org.hl7.fhir.utilities.i18n.I18nConstants; import org.hl7.fhir.utilities.validation.ValidationOptions; import org.hl7.fhir.utilities.xhtml.NodeType; @@ -257,6 +258,8 @@ public class FHIRPathEngine { private boolean allowPolymorphicNames; private boolean doImplicitStringConversion; private boolean liquidMode; // in liquid mode, || terminates the expression and hands the parser back to the host + private boolean doNotEnforceAsSingletonRule; + private boolean doNotEnforceAsCaseSensitive; // if the fhir path expressions are allowed to use constants beyond those defined in the specification // the application can implement them by providing a constant resolver @@ -366,8 +369,15 @@ public class FHIRPathEngine { primitiveTypes.add(sd.getName()); } } + initFlags(); } + private void initFlags() { + if (!VersionUtilities.isR5VerOrLater(worker.getVersion())) { + doNotEnforceAsCaseSensitive = true; + doNotEnforceAsSingletonRule = true; + } + } // --- 3 methods to override in children ------------------------------------------------------- // if you don't override, it falls through to the using the base reference implementation @@ -450,6 +460,22 @@ public class FHIRPathEngine { this.doImplicitStringConversion = doImplicitStringConversion; } + public boolean isDoNotEnforceAsSingletonRule() { + return doNotEnforceAsSingletonRule; + } + + public void setDoNotEnforceAsSingletonRule(boolean doNotEnforceAsSingletonRule) { + this.doNotEnforceAsSingletonRule = doNotEnforceAsSingletonRule; + } + + public boolean isDoNotEnforceAsCaseSensitive() { + return doNotEnforceAsCaseSensitive; + } + + public void setDoNotEnforceAsCaseSensitive(boolean doNotEnforceAsCaseSensitive) { + this.doNotEnforceAsCaseSensitive = doNotEnforceAsCaseSensitive; + } + // --- public API ------------------------------------------------------- /** * Parse a path for later use using execute @@ -1785,11 +1811,11 @@ public class FHIRPathEngine { if (!isKnownType(tn)) { throw new PathEngineException("The type "+tn+" is not valid"); } - if (left.size() > 1) { - throw new PathEngineException("Attempt to use as on more than one item ("+left.size()+")"); + if (!doNotEnforceAsSingletonRule && left.size() > 1) { + throw new PathEngineException("Attempt to use as on more than one item ("+left.size()+", '"+expr.toString()+"')"); } for (Base nextLeft : left) { - if (tn.equals(nextLeft.fhirType())) { + if (compareTypeNames(tn, nextLeft.fhirType())) { result.add(nextLeft); } } @@ -1797,9 +1823,19 @@ public class FHIRPathEngine { return result; } + private boolean compareTypeNames(String left, String right) { + if (doNotEnforceAsCaseSensitive) { + return left.equalsIgnoreCase(right); + } else { + return left.equals(right); + } + } private boolean isKnownType(String tn) { if (!tn.contains(".")) { + if (Utilities.existsInList(tn, "String", "Boolean", "Integer", "Decimal", "Quantity", "DateTime", "Time", "SimpleTypeInfo", "ClassInfo")) { + return true; + } try { return worker.fetchTypeDefinition(tn) != null; } catch (Exception e) { @@ -4580,7 +4616,7 @@ public class FHIRPathEngine { if (!isKnownType(tn)) { throw new PathEngineException("The type "+tn+" is not valid"); } - if (focus.size() > 1) { + if (!doNotEnforceAsSingletonRule && focus.size() > 1) { throw new PathEngineException("Attempt to use as() on more than one item ("+focus.size()+")"); } @@ -4599,7 +4635,7 @@ public class FHIRPathEngine { } else { StructureDefinition sd = worker.fetchTypeDefinition(b.fhirType()); while (sd != null) { - if (tnp.equals(sd.getType())) { + if (compareTypeNames(tnp, sd.getType())) { result.add(b); break; } diff --git a/org.hl7.fhir.r4b/src/test/java/org/hl7/fhir/r4b/test/FHIRPathTests.java b/org.hl7.fhir.r4b/src/test/java/org/hl7/fhir/r4b/test/FHIRPathTests.java index 15d25b098..df02ac436 100644 --- a/org.hl7.fhir.r4b/src/test/java/org/hl7/fhir/r4b/test/FHIRPathTests.java +++ b/org.hl7.fhir.r4b/src/test/java/org/hl7/fhir/r4b/test/FHIRPathTests.java @@ -201,6 +201,9 @@ public class FHIRPathTests { } } + fp.setDoNotEnforceAsCaseSensitive(false); + fp.setDoNotEnforceAsSingletonRule(false); + if (node != null) { try { outcome = fp.evaluate(res, node); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/profile/ProfileUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/profile/ProfileUtilities.java index 25a19cc83..554dc8608 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/profile/ProfileUtilities.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/profile/ProfileUtilities.java @@ -3864,5 +3864,9 @@ public class ProfileUtilities extends TranslatingUtilities { return null; } + public static boolean isExtensionDefinition(StructureDefinition sd) { + return sd.getDerivation() == TypeDerivationRule.CONSTRAINT && sd.getType().equals("Extension"); + } + } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/ContextUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/ContextUtilities.java index fe714306e..822efd798 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/ContextUtilities.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/ContextUtilities.java @@ -136,12 +136,24 @@ public class ContextUtilities implements ProfileKnowledgeProvider { * @return a list of the resource and type names defined for this version */ public List getTypeNames() { - List result = new ArrayList(); + Set result = new HashSet(); + for (StructureDefinition sd : context.fetchResourcesByType(StructureDefinition.class)) { + if (sd.getKind() != StructureDefinitionKind.LOGICAL && sd.getDerivation() == TypeDerivationRule.SPECIALIZATION) + result.add(sd.getName()); + } + return Utilities.sorted(result); + } + + + /** + * @return a set of the resource and type names defined for this version + */ + public Set getTypeNameSet() { + Set result = new HashSet(); for (StructureDefinition sd : context.fetchResourcesByType(StructureDefinition.class)) { if (sd.getKind() != StructureDefinitionKind.LOGICAL && sd.getDerivation() == TypeDerivationRule.SPECIALIZATION) result.add(sd.getName()); } - Collections.sort(result); return result; } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/FHIRPathEngine.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/FHIRPathEngine.java index 8c71c8afa..f8f9f1d2a 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/FHIRPathEngine.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/FHIRPathEngine.java @@ -64,6 +64,7 @@ import org.hl7.fhir.utilities.MergedList; import org.hl7.fhir.utilities.MergedList.MergeNode; import org.hl7.fhir.utilities.SourceLocation; import org.hl7.fhir.utilities.Utilities; +import org.hl7.fhir.utilities.VersionUtilities; import org.hl7.fhir.utilities.i18n.I18nConstants; import org.hl7.fhir.utilities.validation.ValidationOptions; import org.hl7.fhir.utilities.xhtml.NodeType; @@ -264,6 +265,7 @@ public class FHIRPathEngine { private boolean doImplicitStringConversion; private boolean liquidMode; // in liquid mode, || terminates the expression and hands the parser back to the host private boolean doNotEnforceAsSingletonRule; + private boolean doNotEnforceAsCaseSensitive; // if the fhir path expressions are allowed to use constants beyond those defined in the specification // the application can implement them by providing a constant resolver @@ -373,8 +375,15 @@ public class FHIRPathEngine { primitiveTypes.add(sd.getName()); } } + initFlags(); } + private void initFlags() { + if (!VersionUtilities.isR5VerOrLater(worker.getVersion())) { + doNotEnforceAsCaseSensitive = true; + doNotEnforceAsSingletonRule = true; + } + } // --- 3 methods to override in children ------------------------------------------------------- // if you don't override, it falls through to the using the base reference implementation @@ -465,6 +474,14 @@ public class FHIRPathEngine { this.doNotEnforceAsSingletonRule = doNotEnforceAsSingletonRule; } + public boolean isDoNotEnforceAsCaseSensitive() { + return doNotEnforceAsCaseSensitive; + } + + public void setDoNotEnforceAsCaseSensitive(boolean doNotEnforceAsCaseSensitive) { + this.doNotEnforceAsCaseSensitive = doNotEnforceAsCaseSensitive; + } + // --- public API ------------------------------------------------------- /** * Parse a path for later use using execute @@ -1804,7 +1821,7 @@ public class FHIRPathEngine { throw new PathEngineException("Attempt to use as on more than one item ("+left.size()+", '"+expr.toString()+"')"); } for (Base nextLeft : left) { - if (tn.equals(nextLeft.fhirType())) { + if (compareTypeNames(tn, nextLeft.fhirType())) { result.add(nextLeft); } } @@ -1812,6 +1829,13 @@ public class FHIRPathEngine { return result; } + private boolean compareTypeNames(String left, String right) { + if (doNotEnforceAsCaseSensitive) { + return left.equalsIgnoreCase(right); + } else { + return left.equals(right); + } + } private boolean isKnownType(String tn) { if (!tn.contains(".")) { @@ -4617,7 +4641,7 @@ public class FHIRPathEngine { } else { StructureDefinition sd = worker.fetchTypeDefinition(b.fhirType()); while (sd != null) { - if (tnp.equals(sd.getType())) { + if (compareTypeNames(tnp, sd.getType())) { result.add(b); break; } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/ToolingExtensions.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/ToolingExtensions.java index 8447ee84a..e1c107d92 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/ToolingExtensions.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/ToolingExtensions.java @@ -250,7 +250,7 @@ public class ToolingExtensions { Extension ex = new Extension(); // todo: write this up and get it published with the pack (and handle the redirect?) ex.setUrl(ToolingExtensions.EXT_ISSUE_SOURCE); - CodeType c = new CodeType(); + StringType c = new StringType(); c.setValue(source.toString()); ex.setValue(c); return ex; diff --git a/pom.xml b/pom.xml index 367878697..44b5e8e6e 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ 6.2.1 - 1.2.10 + 1.2.11-SNAPSHOT 5.7.1 1.8.2 3.0.0-M5 From a8d93cba8b95b56d76d8abe4262398ed64a748db Mon Sep 17 00:00:00 2001 From: dotasek Date: Fri, 3 Feb 2023 13:32:08 -0500 Subject: [PATCH 28/31] Bump test cases to release version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 44b5e8e6e..fabd14133 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ 6.2.1 - 1.2.11-SNAPSHOT + 1.2.11 5.7.1 1.8.2 3.0.0-M5 From 9f94be1f0cf4dba1d5ce5bb26ca9ac86620f87df Mon Sep 17 00:00:00 2001 From: dotasek Date: Fri, 3 Feb 2023 14:09:46 -0500 Subject: [PATCH 29/31] Update RELEASE_NOTES.md ***NO_CI*** --- RELEASE_NOTES.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 7b06c6ab5..1d593337e 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,7 +1,7 @@ ## Validator Changes -* no changes +* Fixes for FHIRPath as() operator in r4 and r5 ## Other code changes -* no changes \ No newline at end of file +* no changes From 1696b56b5095041710a67bb0e1817666929c8332 Mon Sep 17 00:00:00 2001 From: markiantorno Date: Fri, 3 Feb 2023 19:45:12 +0000 Subject: [PATCH 30/31] Release: v5.6.95 ## Validator Changes * Fixes for FHIRPath as() operator in r4 and r5 ## Other code changes * no changes ***NO_CI*** --- org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index e695cb19d..235e6a433 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.95-SNAPSHOT + 5.6.95 ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index cc727117e..b105d3a31 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.95-SNAPSHOT + 5.6.95 ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index 9873def4e..457fb2322 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.95-SNAPSHOT + 5.6.95 ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index 706362610..96d70dd31 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.95-SNAPSHOT + 5.6.95 ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index 6234ef578..b2cca2083 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.95-SNAPSHOT + 5.6.95 ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index b8fe7a731..4476ae02e 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.95-SNAPSHOT + 5.6.95 ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index 0a76355f6..70b9ec27e 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.95-SNAPSHOT + 5.6.95 ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index 8ccc54994..a1a7460e8 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.95-SNAPSHOT + 5.6.95 ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index c506ad749..5a5e7d92b 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.95-SNAPSHOT + 5.6.95 ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index 10ae4c0f4..e66121ac1 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.95-SNAPSHOT + 5.6.95 ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index 1b6fd1c28..a428832fe 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.95-SNAPSHOT + 5.6.95 ../pom.xml diff --git a/pom.xml b/pom.xml index fabd14133..048e45537 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.95-SNAPSHOT + 5.6.95 pom From b3cebe7bc6dbcc59ac533beda7d7600c6984e137 Mon Sep 17 00:00:00 2001 From: markiantorno Date: Fri, 3 Feb 2023 20:09:35 +0000 Subject: [PATCH 31/31] Updating version to: 5.6.96-SNAPSHOT and incrementing test cases dependency. --- RELEASE_NOTES.md | 4 ++-- org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 13 files changed, 14 insertions(+), 14 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 1d593337e..7b06c6ab5 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,7 +1,7 @@ ## Validator Changes -* Fixes for FHIRPath as() operator in r4 and r5 +* no changes ## Other code changes -* no changes +* no changes \ No newline at end of file diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index 235e6a433..6a474ac59 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.95 + 5.6.96-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index b105d3a31..b2a3ac212 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.95 + 5.6.96-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index 457fb2322..fb87ff79d 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.95 + 5.6.96-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index 96d70dd31..62f25f3ca 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.95 + 5.6.96-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index b2cca2083..07ba09043 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.95 + 5.6.96-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index 4476ae02e..230645e98 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.95 + 5.6.96-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index 70b9ec27e..0f0997b68 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.95 + 5.6.96-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index a1a7460e8..9da26eafd 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.95 + 5.6.96-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index 5a5e7d92b..1c4d789be 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.95 + 5.6.96-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index e66121ac1..fed492a9a 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.95 + 5.6.96-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index a428832fe..755c24e66 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.95 + 5.6.96-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index 048e45537..c492ec34b 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.95 + 5.6.96-SNAPSHOT pom