{"id":28793037,"url":"https://github.com/cdapio/cdap-maven-plugin","last_synced_at":"2026-03-17T07:39:41.953Z","repository":{"id":44614085,"uuid":"85466142","full_name":"cdapio/cdap-maven-plugin","owner":"cdapio","description":"Collection of CDAP Maven Plugins","archived":false,"fork":false,"pushed_at":"2025-06-09T19:12:55.000Z","size":118,"stargazers_count":2,"open_issues_count":5,"forks_count":5,"subscribers_count":38,"default_branch":"develop","last_synced_at":"2026-01-11T18:47:36.861Z","etag":null,"topics":["cdap","create-plugin-json","maven-plugin"],"latest_commit_sha":null,"homepage":null,"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/cdapio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-03-19T10:00:51.000Z","updated_at":"2025-06-09T19:13:00.000Z","dependencies_parsed_at":"2023-01-30T03:15:23.678Z","dependency_job_id":null,"html_url":"https://github.com/cdapio/cdap-maven-plugin","commit_stats":null,"previous_names":["caskdata/cdap-maven-plugin"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/cdapio/cdap-maven-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdapio%2Fcdap-maven-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdapio%2Fcdap-maven-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdapio%2Fcdap-maven-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdapio%2Fcdap-maven-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cdapio","download_url":"https://codeload.github.com/cdapio/cdap-maven-plugin/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdapio%2Fcdap-maven-plugin/sbom","scorecard":{"id":267363,"data":{"date":"2025-08-11","repo":{"name":"github.com/cdapio/cdap-maven-plugin","commit":"ab76c82f1fbb49b43da26781bb1c4a9e4856a0c9"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.2,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":1,"reason":"2 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-17T12:25:50.085Z","repository_id":44614085,"created_at":"2025-08-17T12:25:50.085Z","updated_at":"2025-08-17T12:25:50.085Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30617552,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-17T04:46:40.957Z","status":"ssl_error","status_checked_at":"2026-03-17T04:46:32.538Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["cdap","create-plugin-json","maven-plugin"],"created_at":"2025-06-18T01:04:21.995Z","updated_at":"2026-03-17T07:39:41.946Z","avatar_url":"https://github.com/cdapio.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CDAP Maven Plugin\n\n\u003ca href=\"https://cdap-users.herokuapp.com/\"\u003e\u003cimg alt=\"Join CDAP community\" src=\"https://cdap-users.herokuapp.com/badge.svg?t=1\"/\u003e\u003c/a\u003e [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\nThis Maven Plugin has 4 goals:\n* `mvn cdap:create-plugin-json`\n  * Generates a CDAP Plugin JSON file\n* `mvn cdap:create-plugin-spec-json`\n  * Generates a `spec.json` file\n* `mvn cdap:package-artifacts-for-hub`\n  * Moves artifacts to a user specified output dir\n  * Note: cannot be run alone\n* `mvn cdap:create-pipeline-json`\n  * Extracts configuration from exported pipelines\n  * Suitable for Hub\n\n## Maven Goals\n\n1. [Create Plugin Json](#create-plugin-json)\n2. [Create Plugin Spec JSON](#create-plugin-spec-json)\n3. [Move Artifact Files](#move-artifact-files)\n4. [Extract Configuration From Exported Pipelines ](#extract-configuration-from-exported-pipelines)\n\n### Create Plugin Json\n\nThis goal generates the cdap plugin json file. The maven goal is `create-plugin-json`.\n\nTo run only the goal use:\n\n```mvn cdap:create-plugin-json```\n\nThe generated file will be placed in the `${project.build}` directory.\n\n#### Configurations\n\n| Configuration | Required | Default | Description |\n| :------------ | :------: | :----- | :---------- |\n| **cdapArtifacts** | **Y** | N/A | Specifies all the parent CDAP artifacts and scope this plugin is applicable for.|\n| **widgetsDirectory** | **N** | ```${project.dir}/widgets``` | Specifies alternate widgets directory.|\n| **docsDirectory** | **N** | ```${project.dir}/docs``` | Specifies alternate documentation directory.|\n| **iconsDirectory** | **N** | ```${project.dir}/icons``` | Specifies alternate icons directory.|\n\n#### Example POM\n\n```\n\u003cplugin\u003e\n  \u003cgroupId\u003eco.cask\u003c/groupId\u003e\n  \u003cversion\u003e1.1.3\u003c/version\u003e\n  \u003cartifactId\u003ecdap-maven-plugin\u003c/artifactId\u003e\n  \u003cconfiguration\u003e\n    \u003ccdapArtifacts\u003e\n      \u003cparent\u003esystem:cdap-data-pipeline[4.0.0,9.0.0-SNAPSHOT)\u003c/parent\u003e\n      \u003cparent\u003esystem:cdap-data-streams[4.0.0,9.0.0-SNAPSHOT)\u003c/parent\u003e\n    \u003c/cdapArtifacts\u003e\n  \u003c/configuration\u003e\n  \u003cexecutions\u003e\n    \u003cexecution\u003e\n       \u003cid\u003ecreate-artifact-config\u003c/id\u003e\n       \u003cphase\u003eprepare-package\u003c/phase\u003e\n       \u003cgoals\u003e\n         \u003cgoal\u003ecreate-plugin-json\u003c/goal\u003e\n       \u003c/goals\u003e\n    \u003c/execution\u003e\n  \u003c/executions\u003e\n\u003c/plugin\u003e\n```\n\n#### Output\n```\n[INFO] ------------------------------------------------------------------------\n[INFO] Building Trash Sink 1.1.0-SNAPSHOT\n[INFO] ------------------------------------------------------------------------\n[INFO] \n[INFO] --- cdap-maven-plugin:1.0-SNAPSHOT:create-plugin-json (default-cli) @ trash-plugin ---\n[INFO] ------------------------------------------------------------------------\n[INFO] CDAP Plugin JSON\n[INFO] ------------------------------------------------------------------------\n[INFO] Project              : Trash Sink\n[INFO] Group ID             : co.cask\n[INFO] Artifact ID          : trash-plugin\n[INFO] Version              : 1.1.0-SNAPSHOT\n[INFO] Base Directory       : /Users/nitin/Work/Devel/plugin-json-test\n[INFO] Build Directory      : /Users/nitin/Work/Devel/plugin-json-test/target\n[INFO] Widgets Directory    : /Users/nitin/Work/Devel/plugin-json-test/widgets\n[INFO] Docs Directory       : /Users/nitin/Work/Devel/plugin-json-test/docs\n[INFO] CDAP Artifacts\n[INFO]  system:cdap-data-pipeline[4.0.0,9.0.0-SNAPSHOT)\n[INFO]  system:cdap-data-streams[4.0.0,9.0.0-SNAPSHOT)\n[INFO] ------------------------------------------------------------------------\n[INFO] Successfully created  : trash-plugin-1.1.0-SNAPSHOT.json\n[INFO] ------------------------------------------------------------------------\n[INFO] ------------------------------------------------------------------------\n[INFO] BUILD SUCCESS\n[INFO] ------------------------------------------------------------------------\n[INFO] Total time: 1.026 s\n[INFO] Finished at: 2017-03-19T03:21:38-07:00\n[INFO] Final Memory: 13M/309M\n[INFO] ------------------------------------------------------------------------\n```\n\n### Create Plugin Spec JSON\n\nThis goal generates the `spec.json` file. The maven goal is `create-plugin-spec-json`\n\nTo run only the goal use:\n\n```mvn cdap:create-plugin-spec-json```\n\nThe generated file will be placed in the ```${project.build}``` directory.\n\n#### Configuration\n\n| Configuration | Required | Default | Description |\n| :------------ | :------: | :----- | :---------- |\n| **isPipeline** | **N** | ```false``` | Specifies if Spec.json is for a pipeline.|\n| **actionType** | **N** | ```one_step_deploy_plugin``` | Specifies actionType - needs to be `create_pipeline_draft` if isPipeline true.|\n| **scope** | **N** | ```user``` | Artifact scope.|\n| **version** | **N** | ```${project.version}``` | Artifact version.|\n| **cdapArtifacts** | **Y** | N/A | Specifies all the parent CDAP artifacts and scope this plugin is applicable for.|\n| **label** | **N** | ```${project.name}``` | Short description that will be displayed to users during the install process.|\n| **actionType** | **Y** | ```one_step_deploy_plugin``` | Action specification type.|\n| **description** | **N** | ```${project.description}``` | Plugin description.|\n| **author** | **N** | ```${project.author}``` | Plugin author.|\n| **org** | **N** | ```${project.org}``` | Plugin author organisation.|\n| **categories** | **N** | N/A | List of Categories.|\n| **buildDirectory** | **N** | ```${project.build.directory}``` | Target directory for the `spec.json` file.|\n| **artifactId** | **N** | ```${project.artifactId}``` | Used to reference the config (json) file name.|\n| **additionalActionArguments** | **N** | N/A | List of key/value parameters to include in the Action.|\n\n**NOTE: Categories affect the display of the HUB - please include at the bare minimum the team and type of item**\n\n#### Example POM\n\nIncluding both `create-plugin-json` and `create-plugin-spec-json` goals\n\n```\n\u003cplugin\u003e\n  \u003cgroupId\u003eco.cask\u003c/groupId\u003e\n  \u003cversion\u003e1.1.3\u003c/version\u003e\n  \u003cartifactId\u003ecdap-maven-plugin\u003c/artifactId\u003e\n  \u003cconfiguration\u003e\n    \u003ccdapArtifacts\u003e\n      \u003cparent\u003esystem:cdap-data-pipeline[6.0.0-SNAPSHOT,9.0.0-SNAPSHOT)\u003c/parent\u003e\n      \u003cparent\u003esystem:cdap-data-streams[6.0.0-SNAPSHOT,9.0.0-SNAPSHOT)\u003c/parent\u003e\n    \u003c/cdapArtifacts\u003e\n    \u003cauthor\u003eLiveRamp\u003c/author\u003e\n    \u003corg\u003eLiveRamp\u003c/org\u003e\n    \u003cdescription\u003eoptional plugin description\u003c/description\u003e\n    \u003ccategories\u003e\n      \u003ccategory\u003ecat1\u003c/category\u003e\n      \u003ccategory\u003ecat2\u003c/category\u003e\n    \u003c/categories\u003e\n    \u003cadditionalActionArguments\u003e\n      \u003cargument\u003e\n        \u003ckey\u003ejar\u003c/key\u003e\n        \u003cvalue\u003e${project.artifactId}-${project.version}.jar\u003c/value\u003e\n      \u003c/argument\u003e\n    \u003c/additionalActionArguments\u003e\n    \u003cscope\u003euser\u003c/scope\u003e\n  \u003c/configuration\u003e\n  \u003cexecutions\u003e\n    \u003cexecution\u003e\n      \u003cid\u003ecreate-artifact-config\u003c/id\u003e\n      \u003cphase\u003eprepare-package\u003c/phase\u003e\n      \u003cgoals\u003e\n        \u003cgoal\u003ecreate-plugin-json\u003c/goal\u003e\n        \u003cgoal\u003ecreate-plugin-spec-json\u003c/goal\u003e\n      \u003c/goals\u003e\n    \u003c/execution\u003e\n  \u003c/executions\u003e\n\u003c/plugin\u003e\n```\n\nIncluding only `create-plugin-spec-json` goal\n\n```\n\u003cplugins\u003e\n \u003cplugin\u003e\n   \u003cgroupId\u003eco.cask\u003c/groupId\u003e\n   \u003cartifactId\u003ecdap-maven-plugin\u003c/artifactId\u003e\n   \u003cversion\u003e1.1.3\u003c/version\u003e\n   \u003cconfiguration\u003e\n     \u003ccdapArtifacts\u003e\n       \u003cparent\u003esystem:cdap-data-pipeline[6.0.0-SNAPSHOT,9.0.0-SNAPSHOT)\u003c/parent\u003e\n       \u003cparent\u003esystem:cdap-data-streams[6.0.0-SNAPSHOT,9.0.0-SNAPSHOT)\u003c/parent\u003e\n     \u003c/cdapArtifacts\u003e\n     \u003ccategories\u003e\n         \u003cparam\u003ecat1\u003c/param\u003e\n     \u003c/categories\u003e\n     \u003cactionType\u003ecreate_pipeline_draft\u003c/actionType\u003e\n     \u003cisPipeline\u003etrue\u003c/isPipeline\u003e\n   \u003c/configuration\u003e\n   \u003cexecutions\u003e\n     \u003cexecution\u003e\n       \u003cid\u003ecreate-artifact-config\u003c/id\u003e\n       \u003cphase\u003eprepare-package\u003c/phase\u003e\n       \u003cgoals\u003e\n         \u003cgoal\u003ecreate-plugin-spec-json\u003c/goal\u003e\n       \u003c/goals\u003e\n     \u003c/execution\u003e\n   \u003c/executions\u003e\n \u003c/plugin\u003e\n\u003c/plugins\u003e\n\u003c/build\u003e\n\n\u003c/project\u003e\n```\n\n#### Output\n\n```\n[INFO] ------------------------------------------------------------------------\n[INFO] CDAP Plugin JSON\n[INFO] ------------------------------------------------------------------------\n[INFO] Project              : Adhoc SQL Plugin\n[INFO] Group ID             : co.cask\n[INFO] Artifact ID          : adhoc_sql\n[INFO] Version              : 0.1.0\n[INFO] Base Directory       : /Users/user1/code/cdap-plugins/lsh/misc/adhoc_sql\n[INFO] Build Directory      : /Users/user1/code/cdap-plugins/lsh/misc/adhoc_sql/target\n[INFO] Widgets Directory    : widgets\n[INFO] Icons Directory      : icons\n[INFO] Docs Directory       : docs\n[INFO] CDAP Artifacts\n[INFO]  system:cdap-data-pipeline[6.0.0-SNAPSHOT,9.0.0-SNAPSHOT)\n[INFO]  system:cdap-data-streams[6.0.0-SNAPSHOT,9.0.0-SNAPSHOT)\n[INFO] ------------------------------------------------------------------------\n[INFO] Successfully created  : adhoc_sql-0.1.0.json\n[INFO] ------------------------------------------------------------------------\n[INFO]\n[INFO] --- cdap-maven-plugin:1.1.1-SNAPSHOT:create-plugin-spec-json (create-artifact-config) @ adhoc_sql ---\n[INFO] ------------------------------------------------------------------------\n[INFO] CDAP Plugin JSON - Spec Json creator\n[INFO] ------------------------------------------------------------------------\n[INFO] specVersion          : 0.1.0\n[INFO] label                : Adhoc SQL Plugin\n[INFO] description          : optional plugin description\n[INFO] author               : LiveRamp\n[INFO] org                  : LiveRamp\n[INFO] created              : 1608720834834\n[INFO] cdapVersion          : [6.0.0-SNAPSHOT,9.0.0-SNAPSHOT)\n[INFO] action type          : one_step_deploy_plugin\n[INFO] action label         : Adhoc SQL Plugin\n[INFO] action arg name      : Adhoc SQL Plugin\n[INFO] action arg version   : 0.1.0\n[INFO] action arg scope     : user\n[INFO] action arg config    : adhoc_sql-0.1.0.json\n[INFO] action arg jar       : adhoc_sql-0.1.0.jar\n[INFO] categories\n[INFO]  cat1\n[INFO]  cat2\n[INFO] ------------------------------------------------------------------------\n[INFO] Successfully created: spec.json\n[INFO] ------------------------------------------------------------------------\n```\n\n### Move Artifact Files\n\nThis plugin aims to move built artifacts packages to a common user specified output directory in the format expected\nby a CDAP HUB and HUB packaging/publishing tools.\nThe goal is useful in case you'd want to run CDAP publisher from that output directory.\n\nThe maven goal is `package-artifacts-for-hub`\n\n#### Configuration\n\n| Configuration | Required | Default | Description |\n| :------------ | :------: | :----- | :---------- |\n| **relativeOutputDir** | **Y** | \"${project.build.directory}/packages/\" | Specifies the Output Directory **Relative** to the module build directory|\n\nExample `relativeOutputDir` value : `/../../../../packages/`\n\n#### Using Directory Maven Plugin\n\nTo simplify the `relativeOutputDir` value the `directory-maven-plugin` should be used in the parent Pom\n\n**Example of `directory-maven-plugin` plugin configuration to have in parent pom.xml**\n```\n\u003cplugin\u003e\n  \u003cgroupId\u003eorg.commonjava.maven.plugins\u003c/groupId\u003e\n  \u003cartifactId\u003edirectory-maven-plugin\u003c/artifactId\u003e\n  \u003cversion\u003e0.3.1\u003c/version\u003e\n  \u003cexecutions\u003e\n    \u003cexecution\u003e\n      \u003cid\u003edirectories\u003c/id\u003e\n      \u003cgoals\u003e\n        \u003cgoal\u003edirectory-of\u003c/goal\u003e\n      \u003c/goals\u003e\n      \u003cphase\u003einitialize\u003c/phase\u003e\n      \u003cconfiguration\u003e\n        \u003cproperty\u003eparent_module.basedir\u003c/property\u003e\n        \u003cproject\u003e\n          \u003cgroupId\u003ecom.org.groupId\u003c/groupId\u003e\n          \u003cartifactId\u003eartifactId\u003c/artifactId\u003e\n        \u003c/project\u003e\n      \u003c/configuration\u003e\n    \u003c/execution\u003e\n  \u003c/executions\u003e\n\u003c/plugin\u003e\n```\n\nUsing this simplifies `relativeOutputDir` value to `${parent_module.basedir}/packages`.\u003cbr\u003e\nIf left to default value the output will be placed under the module build dir\n\n#### Execution settings\n\nThe goal must be run after any pre-package goals specified. In order to do this the following execution settings need\nto be applied.\n\n```\n\u003cexecution\u003e\n  \u003cgoals\u003e\n    \u003cgoal\u003epackage-artifacts-for-hub\u003c/goal\u003e\n  \u003c/goals\u003e\n  \u003cid\u003emove-artifacts\u003c/id\u003e\n  \u003cphase\u003epackage\u003c/phase\u003e\n\u003c/execution\u003e\n```\n\n#### Example POM\n\n```\n\u003cplugin\u003e\n  \u003cgroupId\u003eco.cask\u003c/groupId\u003e\n  \u003cversion\u003e1.1.3\u003c/version\u003e\n  \u003cartifactId\u003ecdap-maven-plugin\u003c/artifactId\u003e\n  \u003cconfiguration\u003e\n    \u003ccdapArtifacts\u003e\n      \u003cparent\u003esystem:cdap-data-pipeline[6.1.0-SNAPSHOT,7.0.0-SNAPSHOT)\u003c/parent\u003e\n      \u003cparent\u003esystem:cdap-data-streams[6.1.0-SNAPSHOT,7.0.0-SNAPSHOT)\u003c/parent\u003e\n    \u003c/cdapArtifacts\u003e\n    \u003cadditionalActionArguments\u003e\n      \u003cargument\u003e\n        \u003ckey\u003ejar\u003c/key\u003e\n        \u003cvalue\u003e${project.artifactId}-${project.version}.jar\u003c/value\u003e\n      \u003c/argument\u003e\n    \u003c/additionalActionArguments\u003e\n    \u003cscope\u003euser\u003c/scope\u003e\n    \u003cauthor\u003eLiveRamp\u003c/author\u003e\n    \u003corg\u003eLiveRamp\u003c/org\u003e\n    \u003cdescription\u003eoptional plugin description\u003c/description\u003e\n    \u003c!-- Using directory maven plugin --\u003e\n    \u003crelativeOutputDir\u003e${parent_module.basedir}/packages\u003c/relativeOutputDir\u003e\n  \u003c/configuration\u003e\n  \u003cexecutions\u003e\n    \u003cexecution\u003e\n      \u003cgoals\u003e\n        \u003cgoal\u003ecreate-plugin-json\u003c/goal\u003e\n        \u003cgoal\u003ecreate-plugin-spec-json\u003c/goal\u003e\n      \u003c/goals\u003e\n      \u003cid\u003ecreate-artifact-config\u003c/id\u003e\n      \u003cphase\u003eprepare-package\u003c/phase\u003e\n    \u003c/execution\u003e\n    \u003cexecution\u003e\n      \u003cgoals\u003e\n        \u003cgoal\u003epackage-artifacts-for-hub\u003c/goal\u003e\n      \u003c/goals\u003e\n      \u003cid\u003emove-artifacts\u003c/id\u003e\n      \u003cphase\u003epackage\u003c/phase\u003e\n    \u003c/execution\u003e\n  \u003c/executions\u003e\n\u003c/plugin\u003e\n```\n\n#### Output\n\n```\n[INFO] \n[INFO] --- cdap-maven-plugin:1.1.2-SNAPSHOT:package-artifacts-for-hub (move-artifacts) @ adhoc_sql ---\n[INFO] Creating artifact output dir at: /Users/user1/code/cdap-plugins/lsh/misc/adhoc_sql/target/../../../../packages/adhoc_sql/0.1.0\n[INFO] Copying adhoc_sql-0.1.0.jar to /Users/user1/code/cdap-plugins/lsh/misc/adhoc_sql/target/../../../../packages/adhoc_sql/0.1.0/adhoc_sql-0.1.0.jar\n[INFO] Copying adhoc_sql-0.1.0.json to /Users/user1/code/cdap-plugins/lsh/misc/adhoc_sql/target/../../../../packages/adhoc_sql/0.1.0/adhoc_sql-0.1.0.json\n[INFO] Copying spec.json to /Users/user1/code/cdap-plugins/lsh/misc/adhoc_sql/target/../../../../packages/adhoc_sql/0.1.0/spec.json\n```\n\nPackages moved to output directory:\n```\n- packages\n  - artifact-A\n    - 1.0.0\n      - artifact-A-1.0.0.jar \n      - artifact-A-1.0.0.json\n      - spec.json\n  - artifact-B\n    - 1.1.0\n      - artifact-B-1.1.0.jar \n      - artifact-B-1.1.0.json\n      - spec.json\n      - icon.json [Optional]\n```\n\n### Extract Configuration From Exported Pipelines\n\nMaven goal to extract and rename an exported Pipeline JSON so that it is able to be published and consumed by a HUB\n\nThe goal is `create-pipeline-json`\n\n#### Configuration\n| Configuration | Required | Default | Description |\n| :------------ | :------: | :----- | :---------- |\n| **pipelineJsonFile** | **Y** | \"\" | Specifies the exported Json file|\n\nNote: The pipelineJsonFile value needs to be the full path hence using `${project.baseDir}` will be needed.\n\nE.g: `${project.basedir}/exported_jsonFile.json`\n\nIf the path is not correct you will see a\n\n```\n[ERROR] exported_jsonFile.json\n```\n\n#### Example POM\n\n```\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003cproject xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://maven.apache.org/POM/4.0.0\"\n         xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\"\u003e\n\n  \u003cname\u003eTest Exported Pipeline\u003c/name\u003e\n  \u003cgroupId\u003eco.cask\u003c/groupId\u003e\n  \u003cartifactId\u003etest_exported_pipeline\u003c/artifactId\u003e\n  \u003cversion\u003e1.0.0\u003c/version\u003e\n  \u003cmodelVersion\u003e4.0.0\u003c/modelVersion\u003e\n\n  \u003cproperties\u003e\n    \u003cmain.basedir\u003e${project.basedir}\u003c/main.basedir\u003e\n    \u003c!-- properties for script build step that creates the config files for the artifacts --\u003e\n    \u003cproject.build.sourceEncoding\u003eUTF-8\u003c/project.build.sourceEncoding\u003e\n  \u003c/properties\u003e\n\n  \u003cbuild\u003e\n    \u003cplugins\u003e\n      \u003cplugin\u003e\n        \u003cgroupId\u003eco.cask\u003c/groupId\u003e\n        \u003cversion\u003e1.1.3\u003c/version\u003e\n        \u003cartifactId\u003ecdap-maven-plugin\u003c/artifactId\u003e\n        \u003cconfiguration\u003e\n          \u003cpipelineJsonFile\u003e${basedir}/../exported_pipeline.json\u003c/pipelineJsonFile\u003e\n        \u003c/configuration\u003e\n        \u003cexecutions\u003e\n          \u003cexecution\u003e\n            \u003cid\u003ecreate-artifact-config\u003c/id\u003e\n            \u003cphase\u003eprepare-package\u003c/phase\u003e\n            \u003cgoals\u003e\n              \u003cgoal\u003ecreate-pipeline-json\u003c/goal\u003e\n            \u003c/goals\u003e\n          \u003c/execution\u003e\n        \u003c/executions\u003e\n      \u003c/plugin\u003e\n    \u003c/plugins\u003e\n  \u003c/build\u003e\n\u003c/project\u003e\n```\n\n#### Output\n\nA `exported_pipeline.json` file should be created in the specified path in `pipelineJsonFile` property.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdapio%2Fcdap-maven-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcdapio%2Fcdap-maven-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdapio%2Fcdap-maven-plugin/lists"}