{"id":26409444,"url":"https://github.com/jgwoolley/nf2t-cli","last_synced_at":"2025-03-17T19:34:20.830Z","repository":{"id":270177095,"uuid":"909551648","full_name":"jgwoolley/nf2t-cli","owner":"jgwoolley","description":"A Java CLI for parsing Apache NiFi FlowFiles.","archived":false,"fork":false,"pushed_at":"2025-03-16T17:43:49.000Z","size":386,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-16T18:58:08.605Z","etag":null,"topics":["flowfile","flowfile-format","flowfiles","nifi","tar","targz","zip"],"latest_commit_sha":null,"homepage":"https://jgwoolley.github.io/nf2t-cli/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jgwoolley.png","metadata":{"files":{"readme":"README.asciidoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-29T03:46:36.000Z","updated_at":"2025-03-16T17:43:52.000Z","dependencies_parsed_at":"2024-12-29T05:17:45.386Z","dependency_job_id":"9c2946f9-e144-4d5d-b002-427801d17a16","html_url":"https://github.com/jgwoolley/nf2t-cli","commit_stats":null,"previous_names":["jgwoolley/nf2t-cli"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jgwoolley%2Fnf2t-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jgwoolley%2Fnf2t-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jgwoolley%2Fnf2t-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jgwoolley%2Fnf2t-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jgwoolley","download_url":"https://codeload.github.com/jgwoolley/nf2t-cli/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244097379,"owners_count":20397590,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flowfile","flowfile-format","flowfiles","nifi","tar","targz","zip"],"created_at":"2025-03-17T19:34:20.220Z","updated_at":"2025-03-17T19:34:20.820Z","avatar_url":"https://github.com/jgwoolley.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"= nf2t-cli\n:url-repo: https://github.com/jgwoolley/nf2t-cli\n:description: A Java CLI for parsing Apache NiFi FlowFiles.\n:favicon: ./favicon.svg\n\n== Description\n\nA Java CLI for parsing Apache NiFi FlowFileStreams. One or more FlowFiles can be serialized into a FlowFileStream, in one of three formats.\n\n* link:https://www.nf2t.net/[Web Gui Version]\nifdef::env-github[]\n* link:https://jgwoolley.github.io/nf2t-cli/nf2t-cli/man/[Usage Guide].\nendif::[]\nifndef::env-github[]\n* link:./man/index.html[Usage Guide].\nendif::[]\n* link:https://github.com/jgwoolley/nf2t-cli[Source Code].\n* link:https://jgwoolley.github.io/nf2t-cli/[Documentation].\nifdef::env-github[]\n* link:https://jgwoolley.github.io/nf2t-cli/nf2t-cli/javadoc/[Javadocs].\nendif::[]\nifndef::env-github[]\n* link:./javadocs/index.html[Javadocs].\nendif::[]\nifndef::env-github[]\n* link:https://central.sonatype.com/artifact/com.yelloowstone.nf2t/nf2t-cli[Maven Central Repository].\n* link:./maven.zip[Artifacts to Publish to Maven Central (Currently Lack GPG Signing)].\nendif::[]\n\nifndef::env-github[]\n== Artifact Information\n|===\n|Maven GroupId|link:https://central.sonatype.com/artifact/{mavenGroupId}/{mavenArtifactId}[{mavenGroupId}]\n|Maven ArtifactId|link:https://central.sonatype.com/artifact/{mavenGroupId}/{mavenArtifactId}[{mavenArtifactId}]\n|Maven Version|link:https://central.sonatype.com/artifact/{mavenGroupId}/{mavenArtifactId}[{mavenVersion}]\n|Git Hash|link:https://github.com/jgwoolley/nf2t-cli/commit/{gitHash}[{gitHash}]\n|===\nendif::[]\n\n== Background\n\nWhile the Apache Foundation has its own Unpackager (link:https://github.com/apache/nifi/blob/main/nifi-commons/nifi-flowfile-packager/src/main/java/org/apache/nifi/util/Unpackage.java[nifi-flowfile-packager]). It lacks a packager, and dumps all attributes into their own text files which is a little messy for large projects. This CLI dumps all FlowFile Attributes to the STDOUT (Standard Output), and thus can easily be redirected to a file.\n\nI've developed several versions of this project over the years, and created a WebGUI based version: link:https://www.nf2t.net/[].\n\n== Technologies Used\n* link:https://picocli.info/[Picocli]: Picocli is a one-file framework for creating Java command line applications with almost zero code.\n* link:https://asciidoctor.org/[Asciidoctor]: A fast text processor \u0026 publishing toolchain for converting AsciiDoc to HTML5, DocBook \u0026 more.\n\n== How to Build\n\n* Run the link:./update.sh[update.sh] script to update the versions of the project.\n* Run the link:./build.sh[build.sh] to build the project and get the *.maven.zip file to upload to Maven Central Repository.\n\n== Example Scripts\n* link:./download_jar.sh[download_jar.sh]: Download the JAR from MAVEN\n* link:./test.sh[test.sh]: After running the build script, will test the executable jar.\n\n== TODO\n\n* Add SLF4J Logging\n\n== nf2t-cli\n\n* In the link:test.sh[] example the FlowFile path is \"./quick_test//2/data.flowfilev3\" which the /2/data.flowfilev3 seems to be refering to the path in the ZIP file.\n* Can pass variables with asciidoc link:https://stackoverflow.com/questions/63622953/asciidoctor-activate-substitution-in-cli-attributes[]\n* Remove concept of version as provided by CLI arg, or make version and prefix additional options for configuring how FlowFileStream(s) are parsed.\n* Add a seperate file metadata section w/ uuids, and connect parents w/ uuids, and flowfiles to uuids\n* Figure out why progress bars are still appearing even though i added the argument to mvn clean install.\n* Get Favicons into manpages.\n* Review the standard implementation, make sure this implementation is as similiar as possible: link:https://github.com/apache/nifi/blob/main/nifi-commons/nifi-flowfile-packager/src/main/java/org/apache/nifi/util/Unpackage.java[].\n* Always say unpackage before package reflecting its primacy.\n\n== setup-projecet\n\n** Add ability to specify a name and description of main documentation index?\n** Move to another seperate project?\n* https://picocli.info/autocomplete.html\n** java -cp nf2t-cli-0.0.9-SNAPSHOT.jar picocli.AutoComplete -n nf2t com.yelloowstone.nf2t.cli.App\n* Add JavaDocs Comments to page to stop \"warning: no comment\" errors.\n* Add link:https://picocli.info/man/picocli.AutoComplete.html[AutoComplete].\n* link:https://docs.asciidoctor.org/asciidoc/latest/docinfo/#head[].\n\n== nf2t-javafx\n\n* link:https://gist.github.com/timbuethe/7becdc4556225e7c5b7b[]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjgwoolley%2Fnf2t-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjgwoolley%2Fnf2t-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjgwoolley%2Fnf2t-cli/lists"}