GithubHelp home page GithubHelp logo

bbeck / parent-pom Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dropwizard-bundles/parent-pom

0.0 2.0 0.0 16 KB

Parent pom.xml for all dropwizard-bundles projects to share.

License: Apache License 2.0

parent-pom's Introduction

parent-pom

Parent pom.xml for all dropwizard-bundles projects to share.

Release process setup

1. Maven settings.xml

Make sure that you have a valid maven settings.xml file in your $HOME/.m2 directory. At a minimum this settings.xml needs to have a server definition with id oss.sonatype.org in it along with your username and password for OSS Sonatype. This is needed to allow you to push artifacts to Sonatype upon releasing.

NOTE: Your OSS Sonatype account must be associated with the io.dropwizard.bundles group. Please ask @bbeck or @nbauernfeind for help in getting that setup -- one of them will have to make a request on your behalf to get your account added to the group.

NOTE: It's heavily advised that you take advantage of maven password encryption described in the maven documentation. This will allow you to not store cleartext passwords locally on your machine.

Here is an example settings.xml with the oss.sonatype.org server defined:

<settings xmlns="http://maven.apache.org/Settings/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/Settings/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <servers>
    <server>
      <id>oss.sonatype.org</id>
      <username>... your username here ...</username>
      <password>{... my encrypted password here ...}</password>
    </server>
  </servers>
</settings>

2. GPG key

In order to push artifacts to OSS Sonatype and onto Maven Central the artifacts need to be GPG signed. This is to ensure that the artifacts that are published can be verified to be from the project developers. Follow the instructions on the Sonatype site describing how to setup GPG for signing on your machine.

NOTE: Depending on the version of GPG and maven you use, it might be easier for you to include your GPG phassphrase in your maven settings.xml file.

Here is an example settings.xml that includes an encrypted GPG key in it:

<settings xmlns="http://maven.apache.org/Settings/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/Settings/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <profiles>
    <profile>
      <id>release-profile</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <gpg.keyname>... your GPG key id here ...</gpg.keyname>
      </properties>
    </profile>
  </profiles>
  <servers>
    <server>
      <id>oss.sonatype.org</id>
      <username>... your username here ...</username>
      <password>{... your encrypted password here ...}</password>
    </server>
    <server>
      <id>gpg.passphrase</id>
      <passphrase>{... your encrypted passphrase here ...}</passphrase>
    </server>
  </servers>
</settings>

Releasing

Now that you have maven setup and able to connect to oss.sonatype.org you're ready to create a release build and push it to OSS Sonatype automatically.

For releasing we use the standard maven-release-plugin.

mvn release:clean release:prepare release:perform

Maven will ask you for several pieces of information as part of this process. In general the defaults are mostly correct, but make sure you read the prompts and change the version numbers where necessary.

What is the release version for "dropwizard-version-bundle"? (io.dropwizard-bundles:dropwizard-version-bundle) 1.0.5: :
What is SCM release tag or label for "dropwizard-version-bundle"? (io.dropwizard-bundles:dropwizard-version-bundle) v1.0.5: :
What is the new development version for "dropwizard-version-bundle"? (io.dropwizard-bundles:dropwizard-version-bundle) 1.0.6-SNAPSHOT: :

parent-pom's People

Contributors

bbeck avatar zachschultz avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.