MINIFICPP-2346-P2: Added Support to Create MiNiFi Conan2 Package, Easier Integration into C++ RT Infra
@szaszm @martinzink Great news with my recent update, it still is below 1000 updates and believe still eligible for review. This PR is meant to go on top of james94:MINIFICPP-2346-P1.
Here is the command to create the minifi conan package:
cd nifi-minifi-cpp
conan create . --user=minifi --channel=develop -pr=etc/conan/profiles/release-linux
UPDATE: (June 14, 2024): Verified Can Create MiNiFi conan package & run 2 test programs AbstractProcessorTest and MinifiGenerateFlowFileTest, which are both tests from MiNiFi repo now just built and run from conan test_package.
After I create a MiNiFi C++ conan package, conan then compiles the C++ code in the test_package, which contains 2 C++ test example programs from MiNiFi. The first program is AbstractProcessorTest from libminifi and the second program is MinifiGenerateFlowFileTest.cpp. conan will successfully build the test_package for MiNiFi C++ conan package and link minifi-cpp lbrary aka the conan package to be used in running these 2 C++ test programs. AbstractProcessorTest succeeds and I believe MinifiGenerateFlowTest fails on some tests because we are missing some resource dependencies that are typically available in nifi-minifi-cpp repo, but currently not available in the minifi-cpp conan package. I just needed to verify I could use the minifi-cpp conan package to run a few minifi-cpp test programs, especially the test program that tests the GenerateFlowFile C++ processor within a minifi-cpp edge data pipeline that was programmatically created.
This update should make it easier now for other companies to bring MiNiFi CPP into their C++ infrastructure as a library as an alternative to bringing MiNiFi in as the standalone program
This PR goes right on top of my smaller "PR-1793: MINIFICPP-2346-P1: Integrated Conan2 for OpenSSL, CURL, ZLIB & Build MiNiFi", it just adds the ability for us to use Conan to create for instance a minifi-cpp/0.99.0@minifi/develop conan package for easier integration of MiNiFi C++ into other C++ real-time infrastructure.
Thank you for submitting a contribution to Apache NiFi - MiNiFi C++.
In order to streamline the review of the contribution we ask you to ensure the following steps have been taken:
For all changes:
-
[ ] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?
-
[ ] Does your PR title start with MINIFICPP-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.
-
[ ] Has your PR been rebased against the latest commit within the target branch (typically main)?
-
[ ] Is your initial contribution a single, squashed commit?
For code changes:
- [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
- [ ] If applicable, have you updated the LICENSE file?
- [ ] If applicable, have you updated the NOTICE file?
For documentation related changes:
- [ ] Have you ensured that format looks appropriate for the output in which it is rendered?
Note:
Please ensure that once the PR is submitted, you check GitHub Actions CI results for build issues and submit an update to your PR as soon as possible.
Hi @james94, sorry this PR was closed automatically when I deleted the apache:MINIFICPP-2251 branch (as it was merged a while back) it was based on. Please rebase it to the main branch and reopen the PR.
Closing this PR since conan create support was added to my other PR: https://github.com/apache/nifi-minifi-cpp/pull/1793