Stream: tooling
Topic: org.hl7.fhir.core 5.6.2-SNAPSHOT and ig-publisher
Vassil Peytchev (Nov 26 2021 at 19:02):
I am trying to build the IG publisher (version 1.1.90-SNAPSHOT) using the freshly released org.hl7.fhir.core 5.6.2-SNAPSHOT, and I am getting this error and others about missing I<something> definitions:
INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /home/vassil/Work/FHIR/git/fhir-ig-publisher/org.hl7.fhir.publisher.core/src/main/java/org/hl7/fhir/igtools/publisher/Publisher.java:[234,29] cannot find symbol
symbol: class IResourceValidator
location: package org.hl7.fhir.r5.utils
[ERROR] /home/vassil/Work/FHIR/git/fhir-ig-publisher/org.hl7.fhir.publisher.core/src/main/java/org/hl7/fhir/igtools/publisher/Publisher.java:[235,48] package org.hl7.fhir.r5.utils.IResourceValidator does not exist
Is this a case of some cache that needs to be cleaned, or should I wait for the next IG-Publisher release?
Grahame Grieve (Nov 26 2021 at 19:54):
@David Otasek is there a branch Vassil should look at?
David Otasek (Nov 26 2021 at 20:03):
I can't see one. I'll ask Mark if there's something in process. IG publisher should still build with 5.6.0 as is on the master branch.
David Otasek (Nov 26 2021 at 20:37):
Tagging @Mark Iantorno
Mark Iantorno (Nov 26 2021 at 20:37):
Yeah, it won't build against that.
Mark Iantorno (Nov 26 2021 at 20:38):
Was the dependency in the ig-publisher project 5.6.2-SNAPSHOT?
Mark Iantorno (Nov 26 2021 at 20:38):
or did you make that change?
Mark Iantorno (Nov 26 2021 at 20:38):
@Vassil Peytchev
Mark Iantorno (Nov 26 2021 at 20:42):
I'm looking now, and it appears as though master has the following dependency
Mark Iantorno (Nov 26 2021 at 20:42):
<properties>
<core_version>5.6.0</core_version>
<maven.test.skip>true</maven.test.skip>
</properties>
Mark Iantorno (Nov 26 2021 at 20:42):
Please build with that until we update to address changes in the new version.
Mark Iantorno (Nov 26 2021 at 20:42):
Was there a reason you upped the dependency? A feature you required?
Mark Iantorno (Nov 26 2021 at 20:42):
@Vassil Peytchev
Vassil Peytchev (Nov 26 2021 at 21:19):
I am working on some enhancements to the CapabilityStatement renderer, and want to keep my fork up to date with the latest master.
I am listing the corresponding SNAPSHOT version as a dependency in the pom.xml of my publisher fork (also up to date with master) and use the local .m2/repository to pick up dependencies (after commenting out the online maven repo).
Then I use the locally built publisher jar to test against various IGs.
Mark Iantorno (Nov 26 2021 at 21:21):
That approach will lead to it breaking sometimes. I suggest you stick with the published dependency, as it works. That is, unless you need a specific feature in the latest SNAPSHOT
Mark Iantorno (Nov 26 2021 at 21:22):
Is there an actual feature you need in the latest branch?
Mark Iantorno (Nov 26 2021 at 21:22):
Or were you just updating for the sake of 'getting the latest'
Mark Iantorno (Nov 26 2021 at 21:22):
If there's a feature you need I can assist
Grahame Grieve (Nov 26 2021 at 21:23):
lead to what breaking? This makes it difficult - you can either work on the trunk of core, and not be able to, or you have to work in an old branch and deal with conflict issues. Bad. We should update trunk of IG publisher when we update trunk of core
Mark Iantorno (Nov 26 2021 at 21:24):
If we're pushing out SNAPSHOTS on the core that have changes in them, it can break downstream dependencies
Grahame Grieve (Nov 26 2021 at 21:24):
right. So we should fix that, not just leave other people hanging
Mark Iantorno (Nov 26 2021 at 21:24):
People are not hanging
Mark Iantorno (Nov 26 2021 at 21:24):
?
Mark Iantorno (Nov 26 2021 at 21:24):
The master works
Grahame Grieve (Nov 26 2021 at 21:24):
master of what?
Mark Iantorno (Nov 26 2021 at 21:25):
The master branch of IG publisher works
Mark Iantorno (Nov 26 2021 at 21:25):
if you go now and run it, it works fine
Mark Iantorno (Nov 26 2021 at 21:25):
if you pull master, make changes to the dependencies and then it breaks, that's not an issue with our release process
Mark Iantorno (Nov 26 2021 at 21:25):
I'm in the process of updating hapi to work with the latest version of the core
Mark Iantorno (Nov 26 2021 at 21:25):
then I will do publisher
Grahame Grieve (Nov 26 2021 at 21:26):
right. But if you working on a feature in core, and using the ig publisher to test it, you're saying that you can no longer work in master of core.
Mark Iantorno (Nov 26 2021 at 21:26):
at which point I'll bump the dependency number and push to master
Mark Iantorno (Nov 26 2021 at 21:26):
I'm saying that what is on master works, and if someone wants to play on the bleeding edge, it will fail sometimes
Mark Iantorno (Nov 26 2021 at 21:26):
but master will always work
Grahame Grieve (Nov 26 2021 at 21:26):
that's not an issue with our release process
no. but it's an issue with our management process.
Mark Iantorno (Nov 26 2021 at 21:26):
there is always a delay in updating downstream updates
Mark Iantorno (Nov 26 2021 at 21:26):
we did the release earlier today
Mark Iantorno (Nov 26 2021 at 21:27):
unless we mash publisher back into the same repo as core
Mark Iantorno (Nov 26 2021 at 21:27):
there will always be a delay
Mark Iantorno (Nov 26 2021 at 21:27):
and that's why I ask id @Vassil Peytchev actually needs the updates that were put in from 5.6.0 to 5.6.2-SNAPSHOT
Grahame Grieve (Nov 26 2021 at 21:27):
no we can get the changes into master for ig-pub without having to do a release
Mark Iantorno (Nov 26 2021 at 21:28):
yes, but that takes time
Mark Iantorno (Nov 26 2021 at 21:28):
and I"m doing HAPI first
Mark Iantorno (Nov 26 2021 at 21:28):
and then I will move on to Publisher
Mark Iantorno (Nov 26 2021 at 21:28):
but in the meantime, publisher works exactly like it did 12 hours ago
Vassil Peytchev (Nov 26 2021 at 21:29):
A delay is fine (to wait for the next release of the publisher), I was just asking if there was anything on my side that I was doing wrong.
Grahame Grieve (Nov 26 2021 at 21:29):
it shouldn't take time. You shouldn't be committing changes to core unless you know they're going to work in the dependencies...
Mark Iantorno (Nov 26 2021 at 21:29):
I firmly disagree with that...
Mark Iantorno (Nov 26 2021 at 21:29):
That's why we have versioning
Mark Iantorno (Nov 26 2021 at 21:30):
otherwise it should be the same codebase
Grahame Grieve (Nov 26 2021 at 21:30):
I didn't say "You shouldn't be committing changes to core unless they do work in the dependencies" I said "going to". It's not a binary choice: they're different code bases for a reason, but that doesn't mean that we don't manage them together
Mark Iantorno (Nov 26 2021 at 21:33):
It will work. There was an api change which requires an update to the code. My point is that the master branch that we provide to people of publisher works, and there was no reason for anyone to update any downstream dependencies...unless they needed a feature, which I don't think was the case here. Nevertheless, I will update the dependency of the publisher now
Grahame Grieve (Nov 26 2021 at 21:34):
thank you. because there is a reason if people are working on them together
Vassil Peytchev (Nov 26 2021 at 21:35):
FWIW, each codebase works by itself off master right now, I am just doing something that requires both codebases to be in complete sync. The specific issue I am having can be easily avoided if I wait for the new publisher version (which I will be doing in the future), and I am not being hampered by waiting for the next publisher release...
Grahame Grieve (Nov 26 2021 at 21:36):
I'm often in the same situation, but I just fix the code so it works when I am. Sometimes I do the commit before Mark, or sometimes he does. But that's difficult if you don't know what's going on
Mark Iantorno (Nov 26 2021 at 21:37):
Also Grahame and I need to butt heads at least once a week on process to keep the spark alive in our relationship
Mark Iantorno (Nov 26 2021 at 21:38):
It's how we know the magic is still there
Vassil Peytchev (Nov 26 2021 at 21:39):
@Mark Iantorno while I don't need a new feature from core, the rendering code is part of core, so to look at the output of the publisher, I am using the custom dependency.
Mark Iantorno (Nov 26 2021 at 22:21):
ALRIGHT! It is merged in
Mark Iantorno (Nov 26 2021 at 22:21):
https://github.com/HL7/fhir-ig-publisher/pull/346
Mark Iantorno (Nov 26 2021 at 22:21):
If you do a fresh pull on publisher @Vassil Peytchev it should work now
Mark Iantorno (Nov 26 2021 at 22:23):
@Grahame Grieve i'll get around to fixing HAPI on Monday
Last updated: Apr 12 2022 at 19:14 UTC