# maven-artifact-plugin **Repository Path**: livecsharp/maven-artifact-plugin ## Basic Information - **Project Name**: maven-artifact-plugin - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-05-06 - **Last Updated**: 2025-01-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Contributing to [Apache Maven Artifact Plugin](https://maven.apache.org/plugins/maven-artifact-plugin/) ====================== [![ASF Jira](https://img.shields.io/endpoint?url=https%3A%2F%2Fmaven.apache.org%2Fbadges%2Fasf_jira-MARTIFACT.json)][jira] [![Apache License, Version 2.0, January 2004](https://img.shields.io/github/license/apache/maven.svg?label=License)][license] [![Maven Central](https://img.shields.io/maven-central/v/org.apache.maven.plugins/maven-artifact-plugin.svg?label=Maven%20Central)](https://search.maven.org/artifact/org.apache.maven.plugins/maven-artifact-plugin) [![Reproducible Builds](https://img.shields.io/badge/Reproducible_Builds-ok-success?labelColor=1e5b96)](https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/apache/maven/plugins/maven-artifact-plugin/README.md) [![Jenkins Status](https://img.shields.io/jenkins/s/https/ci-maven.apache.org/job/Maven/job/maven-box/job/maven-artifact-plugin/job/master.svg?)][build] [![Jenkins tests](https://img.shields.io/jenkins/t/https/ci-maven.apache.org/job/Maven/job/maven-box/job/maven-artifact-plugin/job/master.svg?)][test-results] You have found a bug or you have an idea for a cool new feature? Contributing code is a great way to give something back to the open source community. Before you dig right into the code, there are a few guidelines that we need contributors to follow so that we can have a chance of keeping on top of things. This plugin contains `buildinfo` goal for [Reproducible Builds](https://reproducible-builds.org/) tooling, to ease reproducing Maven builds that are [expected to be reproducible](https://maven.apache.org/guides/mini/guide-reproducible-builds.html). The purpose of this goal is: - to generate a buildinfo file from a build, recording fingerprints of output files, as specified in [Reproducible Builds for the JVM](https://reproducible-builds.org/docs/jvm/) that will eventually be deployed to remote repository - help rebuilders to check that they local build produces the same Reproducible Build output than the reference build published to a remote repository To use this plugin, you'll need to build and install from source, or use SHAPSHOT from `https://repository.apache.org/content/repositories/snapshots` Generating buildinfo after a build -------------- ``` mvn verify artifact:buildinfo ``` Deploy to remote repository -------------- Configure the plugin with its ```buildinfo``` goal in your ```pom.xml``` Check local build against remote reference -------------- If reference build is available in a remote repository with predefined id, like ```central```: ``` mvn verify artifact:buildinfo -Dreference.repo=central ``` If reference build is available in a remote repository without predefined id, use its url instead: ``` mvn verify artifact:buildinfo -Dreference.repo=https://repository.apache.org/content/groups/maven-staging-group/ ``` Getting Started --------------- + Make sure you have a [JIRA account](https://issues.apache.org/jira/). + Make sure you have a [GitHub account](https://github.com/signup/free). + If you're planning to implement a new feature, it makes sense to discuss your changes on the [dev list][ml-list] first. This way you can make sure you're not wasting your time on something that isn't considered to be in Apache Maven's scope. + Submit a ticket for your issue, assuming one does not already exist. + Clearly describe the issue, including steps to reproduce when it is a bug. + Make sure you fill in the earliest version that you know has the issue. + Fork the repository on GitHub. Making and Submitting Changes -------------- We accept Pull Requests via GitHub. The [developer mailing list][ml-list] is the main channel of communication for contributors. There are some guidelines which will make applying PRs easier for us: + Create a topic branch from where you want to base your work (this is usually the master branch). Push your changes to a topic branch in your fork of the repository. + Make commits of logical units. + Respect the original code style: by using the same [codestyle][code-style], patches should only highlight the actual difference, not being disturbed by any formatting issues: + Only use spaces for indentation. + Create minimal diffs - disable on save actions like reformat source code or organize imports. If you feel the source code should be reformatted, create a separate PR for this change. + Check for unnecessary whitespace with `git diff --check` before committing. + Make sure your commit messages are in the proper format. Your commit message should contain the key of the JIRA issue. ``` [MARTIFACT-XXX] - Subject of the JIRA Ticket Optional supplemental description. ``` + Make sure you have added the necessary tests (JUnit/IT) for your changes. + Run all the tests with `mvn -Prun-its verify` to assure nothing else was accidentally broken. + Submit a pull request to the repository in the Apache organization. + Update your JIRA ticket and include a link to the pull request in the ticket. If you plan to contribute on a regular basis, please consider filing a [contributor license agreement][cla]. Making Trivial Changes ---------------------- For changes of a trivial nature to comments and documentation, it is not always necessary to create a new ticket in JIRA. In this case, it is appropriate to start the first line of a commit with '(doc)' instead of a ticket number. Additional Resources -------------------- + [Contributing patches](https://maven.apache.org/guides/development/guide-maven-development.html#Creating_and_submitting_a_patch) + [Apache Maven Artifact Plugin JIRA project page][jira] + [Contributor License Agreement][cla] + [General GitHub documentation](https://help.github.com/) + [GitHub pull request documentation](https://help.github.com/send-pull-requests/) + [Apache Maven Twitter Account](https://twitter.com/ASFMavenProject) + #Maven IRC channel on freenode.org [jira]: https://issues.apache.org/jira/projects/MARTIFACT/ [license]: https://www.apache.org/licenses/LICENSE-2.0 [ml-list]: https://maven.apache.org/mailing-lists.html [code-style]: https://maven.apache.org/developers/conventions/code.html [cla]: https://www.apache.org/licenses/#clas [maven-wiki]: https://cwiki.apache.org/confluence/display/MAVEN/Index [test-results]: https://ci-maven.apache.org/job/Maven/job/maven-box/job/maven-artifact-plugin/job/master/lastCompletedBuild/testReport/ [build]: https://ci-maven.apache.org/job/Maven/job/maven-box/job/maven-artifact-plugin/job/master/