{"id":21923771,"url":"https://github.com/soujava/pom-editor-maven-plugin","last_synced_at":"2025-08-20T10:32:22.511Z","repository":{"id":143587445,"uuid":"615824671","full_name":"soujava/pom-editor-maven-plugin","owner":"soujava","description":"It's a Maven Plugin to allowing POM editions","archived":false,"fork":false,"pushed_at":"2024-07-01T06:57:53.000Z","size":645,"stargazers_count":50,"open_issues_count":5,"forks_count":9,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-12-12T06:23:52.751Z","etag":null,"topics":[],"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/soujava.png","metadata":{"files":{"readme":"README.adoc","changelog":"CHANGELOG.adoc","contributing":"CONTRIBUTING.adoc","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.adoc","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":"2023-03-18T19:33:25.000Z","updated_at":"2024-08-24T18:58:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"2769a125-d2c2-410b-9cde-19f9232f768b","html_url":"https://github.com/soujava/pom-editor-maven-plugin","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soujava%2Fpom-editor-maven-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soujava%2Fpom-editor-maven-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soujava%2Fpom-editor-maven-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soujava%2Fpom-editor-maven-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/soujava","download_url":"https://codeload.github.com/soujava/pom-editor-maven-plugin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230415318,"owners_count":18222158,"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":[],"created_at":"2024-11-28T21:12:45.828Z","updated_at":"2025-08-20T10:32:22.504Z","avatar_url":"https://github.com/soujava.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n= POM Editor Maven Plugin\n:toc: auto\n\nimage:https://img.shields.io/badge/1.0.0--SNAPTHOT-HTML%20--%20Plugin%20Documentation-blue[Documentation,link=https://soujava.github.io/pom-editor-maven-plugin/plugin-info.html, window=_blank, target=_blank]\n\nimage:https://img.shields.io/maven-central/v/br.org.soujava/pom-editor-maven-plugin?style=flat-square[Maven Central, link=https://central.sonatype.com/search?smo=true\u0026namespace=br.org.soujava\u0026q=br.org.soujava, window=_blank, target=_blank] image:https://img.shields.io/maven-metadata/v?label=s01.oss.sonatype.org\u0026metadataUrl=https%3A%2F%2Fs01.oss.sonatype.org%2Fcontent%2Frepositories%2Fsnapshots%2Fbr%2Forg%2Fsoujava%2Fpom-editor-maven-plugin%2Fmaven-metadata.xml\u0026style=flat-square[Maven SNAPSHOT Repo,link=https://bit.ly/3oxRi0X, window=_blank, target=_blank]\n\nimage:https://github.com/soujava/pom-editor-maven-plugin/actions/workflows/java-11.yml/badge.svg[ link=https://github.com/soujava/pom-editor-maven-plugin/actions/workflows/java-11.yml, window=_blank, target=_blank] image:https://github.com/soujava/pom-editor-maven-plugin/actions/workflows/java-17.yml/badge.svg[ link=https://github.com/soujava/pom-editor-maven-plugin/actions/workflows/java-17.yml, window=_blank, target=_blank] image:https://github.com/soujava/pom-editor-maven-plugin/actions/workflows/java-21.yml/badge.svg[ link=https://github.com/soujava/pom-editor-maven-plugin/actions/workflows/java-21.yml, window=_blank, target=_blank]\n\nimage:https://github.com/soujava/pom-editor-maven-plugin/blob/coverage/jacoco_java-17.svg[ link=https://soujava.github.io/pom-editor-maven-plugin/jacoco/index.html, window=_blank, target=_blank] image:https://github.com/soujava/pom-editor-maven-plugin/blob/coverage/branches_java-17.svg[ link=https://soujava.github.io/pom-editor-maven-plugin/jacoco/index.html, window=_blank, target=_blank]\n\n== Introduction\n\nFacilitate manipulation such as managing POM dependencies through CLI (command line interface)\n\n== How to use it\n\n[TIP]\n===============================\nIn order to make easier the plugin utilization we can register the groupId into the `settings.xml` like the snipped code below:\n[source,xml]\n----\n\u003csettings \u003e\n    \u003c!-- snipped --\u003e\n    \u003cpluginGroups\u003e\n      \u003cpluginGroup\u003ebr.org.soujava\u003c/pluginGroup\u003e\n    \u003c/pluginGroups\u003e\n    \u003c!-- snipped --\u003e\n\u003c/settings\u003e\n----\nWith that, we will be able to perform the plugin by using its prefix.\nSo, instead of to perform the plugin by the following command:\n[source, sh]\n----\nmvn br.org.soujava:pom-editor-maven-plugin:\u003cGOAL\u003e\n----\nWe may perform it just providing its prefix like below:\n[source, sh]\n----\nmvn pom-editor:\u003cGOAL\u003e\n----\nIn the documentation, we'll assume that you have done this configuration.\n===============================\n\n=== Add/Change a dependency\n\nLet's suppose that you need to add JUnit Jupiter version 5.9.2 into your POM in the test scope, you could perform the following command inside on the target maven project:\n\n[source, sh]\n----\nmvn pom-editor:add-dep -Dgav='org.junit.jupiter:junit-jupiter:5.9.2' -Dscope=test\n----\n\n.add-dep supported parameters\n[cols=\"add-dep params\"]\n|===\n|Parameter | Description | Required | Default\n\n| gav\n| Dependency coordinates. Supported format: `groupId:artifactId:version`\n| Yes\n|\n\n| pom\n| Target POM file.\n| No\n| pom.xml\n\n| scope\n| The scope of the dependency - compile, runtime, test, system, and provided\n| No\n|\n\n| type\n| The type of dependency, that will be mapped to a file extension, an optional classifier and a few other attributes\n| No\n|\n\n| classifier\n| The classifier of the dependency. It is appended to the filename after the version.\n| No\n|\n\n|===\n\n=== Add/Change/Remove a property\n\nLet's suppose that you need to add a property to your pom file.\n\n[source, sh]\n----\nmvn pom-editor:change-prop -Dproperty='custom-property' -Dvalue='Caesar'\n----\n\n.change-prop supported parameters\n[cols=\"change-prop params\"]\n|===\n|Parameter | Description | Required | Default\n\n| pom\n| Target POM file.\n| No\n| pom.xml\n\n| property\n| The name of the property\n| Yes\n|\n\n| value\n| The value of the property, if not specified, the request is to delete the property if it exists.\n| No\n|\n\n|===\n\n=== Confirm the changes\n\nWhen you perform the goal add-dep with the command below:\n\n[source,sh]\n$ mvn pom-editor:add-dep -Dgav='junit:junit:4.13'\n\nThe plugin will create a backup POM file based on the target POM if such one doesn't exist.\n\n[source,sh]\n$ tree .\n.\n├── pom.xml\n└── pom.xml.backup\n\nYou could perform multiple times the add-dep goal as you need.\n\nThen, when you're done, if there's no problem with the changed POM, you could confirm the changes by performing the commit goal.\n\n[source,sh]\n$ mvn pom-editor:commit\n\n=== Revert the changes\n\nYou could also perform the rollback goal:\n\n[source,sh]\n$ mvn pom-editor:rollback\n\nThis goal will revert the changes, replacing the changed POM file to the backup POM file.\n\n== Goals\n\nIt covers the following goals:\n\n* Add/Change dependencies at POM.xml\n* Rollback/Commit changes at POM.xml\n\n== Code of Conduct\n\nTake a look at link:CODE_OF_CONDUCT.adoc[here] for more information.\n\nThe Code of Conduct of this project is adapted from the link:https://www.contributor-covenant.org[**Contributor Covenant**], version 1.4, available at link:http://contributor-covenant.org/version/1/4[here].\n\n\n== Contributing\n\nWe are very happy you are interested in helping us and there are plenty ways you can do so.\n\n- https://github.com/soujava/pom-editor-maven-plugin/issues[**Open an Issue:**]  Recommend improvements, changes and report bugs\n\n- **Open a Pull Request:** If you feel like you can even make changes to our source code and suggest them, just check out our link:CONTRIBUTING.adoc[contributing guide] to learn about the development process, how to suggest bugfixes and improvements.\n\n== Contact\n\nJoin the link:https://discord.gg/eAARnH7yrG[SouJava Discord server] and say hello at `#pom-editor-maven-plugin` channel!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoujava%2Fpom-editor-maven-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoujava%2Fpom-editor-maven-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoujava%2Fpom-editor-maven-plugin/lists"}