-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrate FIX into Metafacture CLI / Use FIX as additional library #90
Comments
Oh right, I completely forgot about that. So that would be |
Cool, Thanks @blackwinter So this works on a branch in metafacture-fix too? |
Yes, you can build the jar from any branch: just check out the branch and build (see @fsteeg's comment). |
Thanks, I think the possibility to integrate plugins should be documented in the wiki of metafacture-core and also here in the metafacture-fix ReadMe. I updated the "installation"-command so that swichting between version and updating to other branch brings no conflicts: First installation: Following installations: |
okay, I tried to set it up. using a CLI version from a source build runner: i get following error when running a flux:
Any idea why this is not working? |
Unassigning since we never made this ready. If it's not actually working, I suggest you use a different way of testing for now @TobiasNx and we discuss when to address this in the future. |
Okay agree. I will use another way and wait for it being ready. (I assigned since it was said that there is a easy way to integrate plugins.) When making it ready we should keep in mind if this a general problem of metafacture or a problem of the fix module. |
The task We can add a new task for that: diff --git metafix/build.gradle metafix/build.gradle
index db7e978..8f884f2 100644
--- metafix/build.gradle
+++ metafix/build.gradle
@@ -1,5 +1,6 @@
plugins {
id 'com.adarshr.test-logger' version '1.7.0'
+ id 'com.github.johnrengelman.shadow' version '4.0.1'
id 'maven-publish'
}
@@ -28,6 +29,8 @@ dependencies {
testImplementation "org.mockito:mockito-junit-jupiter:${versions.mockito}"
}
+apply plugin: 'com.github.johnrengelman.shadow'
+
configurations {
mwe2 {
extendsFrom implementation The invocation would then be: ./gradlew -p metafix clean shadowJar NOTE: Those changes alone are not sufficient long-term, because they interact badly with UPDATE: Doesn't work either 😞
|
I think we should make the additional integration of FIX as library for the CLI possible before the Bibliothekskongress. If we introduce FIX to the world it should be usable beyond JAVA and the playground. |
I definitely support the effort, but I don't think I'll be able to do it. There are more pressing issues w.r.t. our pipeline that I have to address before Go Live (performance still being one of them). So I'm unassigning myself. |
That's why I made the metafix-runner part of the 0.2.0 release, it allows users to run fix workflows on the command line, see https://github.com/metafacture/metafacture-fix/releases/ Making it available in the core distribution remains our longer-term goal (see also 659a551#r74105804). |
Is this not solved? ./gradlew distZip
unzip ./metafix-runner/build/distributions/metafix-runner-1.0.1-SNAPSHOT.zip
# test it on a flux:
metafix-runner-1.0.1-SNAPSHOT/bin/metafix-runner ./metafix/src/test/resources/org/metafacture/metafix/integration/lookup/fromXml/toJson/lookupInDeeplyNestedArrayOfObjects/test.flux
cat ./metafix/src/test/resources/org/metafacture/metafix/integration/lookup/fromXml/toJson/lookupInDeeplyNestedArrayOfObjects/output-metafix.json |
FYI: You don't need to create the distribution, you can execute the runner directly. ./gradlew :metafix-runner:run --args="$PWD/path/to.flux" |
This is a "problem" of fix as a separate repo. I haven't checked if it is still a problem, but as a workaround @fsteeg created a separate runner for fix. I do not know if it needs to be fixed until fix will be integrated into core. |
I see this as a wont fix. The workaround with the fix runner and the CLI version that you described in your PR is okay for me! |
At the moment Metafacture Fix is only available as library for Metafacture in Java.
I would suggest that we also find a solution to integrate it as library into Metafacture CLI.
If you could install FIX as additional library to the command line programm then this would allow users of metafacture CLI to use it before metafacture-fix is part of metafacture-core. It would allow Metafacture CLI users to test FIX.
@fsteeg says that Metafacture does not support adding new libraries to the CLI-programm in general.
Catmandu has the option to install additional packages/libraries to add new featrues to the default features of Catmandu. https://librecat.org/Catmandu/#installation
For me personally it would make it easier to review new features in Metafacture-Fix since I am not depending on a full java project to test things. I also could create a repo with scenarios that are not working that could be tried. Then I could review as I do in metafacture-core tickets.
This would need an additional feature to allow install of libraries from branches similar to: https://github.com/metafacture/metafacture-core#building-metafacture-core-from-source
TL;DR
Support installing FIX as library to metafacture-core CLI.
Allpw installing from different branches.
The text was updated successfully, but these errors were encountered: