Stream: hapi
Topic: Java Build Code
Grahame Grieve (Jan 12 2019 at 16:04):
There's a bunch of java code in the build
Grahame Grieve (Jan 12 2019 at 16:04):
James and I are proposing to move the following code to a separate github repo:
Grahame Grieve (Jan 12 2019 at 16:06):
org.hl7.fhir.r4
org.hl7.fhir.rdf
org.hl7.fhir.utilities
org.hl7.fhir.validation
org.hl7.fhir.convertors
org.hl7.fhir.dstu2
org.hl7.fhir.dstu3
org.hl7.fhir.dstu2016may
Grahame Grieve (Jan 12 2019 at 16:06):
this will simplify things for adopters, but complicate matters for anyone who wants to debug the java code while doing a build - that complication will be a once of set up hit,. and an ongoing commit dependency challenge
Grahame Grieve (Jan 12 2019 at 16:07):
comments welcome. I think we want to do this today!
James Agnew (Jan 12 2019 at 16:13):
FWIW the idea here is that those things will become standalone Maven modules in their own github project.
James Agnew (Jan 12 2019 at 16:13):
On the HAPI side, this has a really nice side-effect: We'd stop copying code out of the FHIR spec build into HAPI (as we currently do) and just start depending on the core code
James Agnew (Jan 12 2019 at 16:14):
This means it becomes much faster to pull in new updates to the FHIR spec, much faster to accept pull requests to validator/converter/etc
Oliver Egger (Jan 12 2019 at 16:41):
like the idea! could org.hl7.fhir.igtools also be a candidate?
Grahame Grieve (Jan 12 2019 at 17:42):
probably not. why would that be good?
Oliver Egger (Jan 12 2019 at 18:01):
same reasons as james mentioned: more visibility for the igpublisher, could be used independent of the fhir build if its a maven module
Grahame Grieve (Jan 12 2019 at 18:05):
" could be used independent of the fhir build" - I'm not sure what that means.
Richard Ettema (Jan 12 2019 at 22:22):
+1 Yes, please! (that's for the initial list of packages)
Patrick Werner (Jan 13 2019 at 00:37):
+1
Joel Schneider (Jan 13 2019 at 14:27):
+1
James Agnew (Jan 13 2019 at 20:47):
@Grahame Grieve a first cut of this project is now here: https://github.com/hapifhir/org.hl7.fhir.core
I have the unit tests set to run but not fail the build if they fail for now. I'm still working through getting various tests to pass.. Ultimately I'd like to get this to run the tests on each build obviously, but I think we're pretty far off from that still.
Grahame Grieve (Jan 13 2019 at 21:16):
I'll work on the cleaning the tests up too. I presume we want to move the resources they depend on into a /resources/rX folder?
James Agnew (Jan 13 2019 at 21:25):
yeah, i think that makes sense
Jens Villadsen (Jan 16 2019 at 19:43):
same reasons as james mentioned: more visibility for the igpublisher, could be used independent of the fhir build if its a maven module
@Oliver Egger , @Grahame Grieve - it would make sense to move the igpublisher out also - either in its own repo or together with the rest of the tools as it makes sense to separate tools from content, IMHO
Jens Villadsen (Jan 16 2019 at 19:52):
It's also a little bit harder to report a bug on the https://github.com/HL7/fhir as there are no issues tab available on the project (right, one can make a PR) and I just found a couple that I would like to flag/fix on https://github.com/HL7/fhir/blob/5d35eefaac41afa796b850a9ec203156b5620429/tools/java/org.hl7.fhir.igtools/src/org/hl7/fhir/igtools/openapi/OpenApiGenerator.java#L36 :)
Patrick Werner (Jan 16 2019 at 21:04):
(deleted as NPMPackageGenerator is already outsourced to the new repo)
Jens Villadsen (Jan 16 2019 at 22:11):
(deleted as NPMPackageGenerator is already outsourced to the new repo)
?
Patrick Werner (Jan 16 2019 at 22:33):
i first thought tat the utilities didn't made it to the new repo and was asking to do this. But then figured out that they were already moved - and then deleted my original statement.
Jens Villadsen (Jan 17 2019 at 13:32):
@Grahame Grieve It's a bit hard to deliver bug fixes to the igPublisher as long as it is in its current structure (it looks like an eclipse/ant project). Why would you not like it transferred to the hapifhir repo and converted to a maven project and keeping tools aside from the structure of the spec?
Grahame Grieve (Jan 17 2019 at 19:58):
well, other than the fact that I hate Maven because it turns a difficult task into an impossible task, the validator jar includes plenty of content from the specification, and changing that is pretty tough. so it's enough for me to move the core out to HAPI. Also, I entirely fail to see why it's hard to deliver bug fixes
Bryn Rhodes (Jan 17 2019 at 20:22):
For me, it's because Eclipse is something of a monstrosity that never seems to work. I always end up rebuilding the project in Maven so I can debug it in IntelliJ.
Bryn Rhodes (Jan 17 2019 at 20:22):
That could be just because I'm not familiar with Eclipse.
Jens Villadsen (Jan 17 2019 at 22:00):
@Grahame Grieve Well, your love for maven is mirrored in my love for eclipse/ant ;) - I would say that it is harder for me (and maybe others) to deliver quality/bugfixes when one's fix cannot be applied and quality assured in familiar surroundings. It was a great help moving the core parts to a maven structure (thx @James Agnew ). It may seem I have found the same way as @Bryn Rhodes by first building the now moved core parts using maven, and then convert the igpublisher to a maven project with the newly build dependencies. At least those steps lets me debug it ;)
Govind Sharma (Jan 18 2019 at 10:11):
hello,
Can U help me how make patient Encounter HL7 Message using java
Grahame Grieve (Jan 18 2019 at 11:20):
actually, the validator only includes one file from the spec, and I think I could refactor it so that it doesn't need that. So I suppose I could survive moving the code (though moving the code we have moved so far has proven pretty traumatic). But we'd need some process for releasing a single jar that contains everything you need so that people could use it without maven hell
Jens Villadsen (Jan 18 2019 at 11:40):
Yep - I totally understand that. I'll share a gist (later today) that at least gets the dependencies straight so that debugging using maven dependencies at least work ... but only when the maven job produces the fat jars that other users need will the transition be done.
Govind Sharma (Jan 18 2019 at 11:53):
Can you provide me a peace of code to create json for Encounter table in HL7 format.
Grahame Grieve (Jan 18 2019 at 12:18):
@Govind Sharma please read the guide for asking questions at http://wiki.hl7.org/index.php?title=FHIR_Rules_for_asking_questions. Your question is a homework question. If you really have a specific question about v2, you should ask on chat.hl7.org, but you need a more specific question than this
Jens Villadsen (Jan 21 2019 at 08:17):
Gist for dependencies maven-wise https://gist.github.com/jkiddo/03ea6ab4cd14904639be87ecd9cad02c for igPub
Last updated: Apr 12 2022 at 19:14 UTC