maven-oss-parent

Maven oss parent pom helps open source projects to deploy and release Maven repositories to maven central (https://central.sonatype.org)

License

License

Categories

Categories

Maven Build Tools
GroupId

GroupId

berlin.yuna
ArtifactId

ArtifactId

maven-oss-parent
Last Version

Last Version

0.2.0
Release Date

Release Date

Type

Type

pom
Description

Description

maven-oss-parent
Maven oss parent pom helps open source projects to deploy and release Maven repositories to maven central (https://central.sonatype.org)
Project URL

Project URL

https://github.com/YunaBraska/maven-oss-parent
Source Code Management

Source Code Management

https://github.com/YunaBraska/maven-oss-parent.git

Download maven-oss-parent

How to add to project

<!-- https://jarcasting.com/artifacts/berlin.yuna/maven-oss-parent/ -->
<dependency>
    <groupId>berlin.yuna</groupId>
    <artifactId>maven-oss-parent</artifactId>
    <version>0.2.0</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/berlin.yuna/maven-oss-parent/
implementation 'berlin.yuna:maven-oss-parent:0.2.0'
// https://jarcasting.com/artifacts/berlin.yuna/maven-oss-parent/
implementation ("berlin.yuna:maven-oss-parent:0.2.0")
'berlin.yuna:maven-oss-parent:pom:0.2.0'
<dependency org="berlin.yuna" name="maven-oss-parent" rev="0.2.0">
  <artifact name="maven-oss-parent" type="pom" />
</dependency>
@Grapes(
@Grab(group='berlin.yuna', module='maven-oss-parent', version='0.2.0')
)
libraryDependencies += "berlin.yuna" % "maven-oss-parent" % "0.2.0"
[berlin.yuna/maven-oss-parent "0.2.0"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

maven-oss-parent NOT MAINTAINED ANYMORE

Know how to upload to maven central

Build Maintainable Coverage Issues Commit Dependencies License Central Tag Javadoc Size Label

Description

Maven oss parent pom helps open source projects to deploy and release Maven repositories to maven central (https://central.sonatype.org) Since the official support is from oss-parent is deprecated. This pom creates a release profile which will:

  • compile (optional - default=on)
  • find duplicate imports (optional - default=on)
  • generate test report (jacoco - optional - default=on)
  • generate sources
  • generate javadocs
  • generate gpg signed files
  • tag project version
  • upload to sonatype nexus
  • deploy to sonatype nexus
  • release to sonatype nexus

Attention

You should read Maven Central Terms before using this repository and deploy anything. You wont be able to rename or delete any pushed repository.

Usage

  • Call mvn clean deploy -P release after setup the parent to deploy and release your project to maven central
  • The repository will be uploaded, deployed, released and central sync activated on Sonatype Nexus
  • The repository will be published to Maven Central, typically within 10 minutes, though updates to Maven Central can take up to two hours.
  • There is no formal relationship between Maven Central and MVN-Repository, there is no know how for frequency or accuracy of their updates. (I will update this after MVN-Repository respond in the next century)

General setup

Project requirements
	gpg --gen-key
	gpg --list-secret-keys
	gpg --keyserver hkp://pool.sks-keyservers.net --send-keys [your secret id]
<settings>
    <servers>
        <server>
            <id>ossrh</id>
            <username>[Sonatype Jira username]</username>
            <password>[Sonatype Jira password]</password>
        </server>
    </servers>
    <profiles>
    <profile>
      <id>ossrh</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <gpg.executable>gpg</gpg.executable>
        <gpg.passphrase>[gpg passphrase]</gpg.passphrase>
      </properties>
    </profile>
  </profiles>
</settings>
POM requirements Example pom
  • POM setup parent
 <parent>
     <groupId>berlin.yuna</groupId>
     <artifactId>maven-oss-parent</artifactId>
     <version>0.0.1</version>
 </parent>
  • POM Project <name>, <description>, <url>, tag -like:
    <name>${project.artifactId}</name>
    <description>[some description...]</description>
    <url>https://github.com/YunaBraska/maven-oss-parent</url>

    <developers>
        <developer>
            <name>Yuna Morgenstern</name>
            <email>[email protected]</email>
        </developer>
    </developers>
  • POM name and mail is needed - like:
    <developers>
        <developer>
            <name>Yuna Morgenstern</name>
            <email>[email protected]</email>
        </developer>
    </developers>
  • POM tag for public open source licenses - like:
    <licenses>
        <license>
            <name>The Apache License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
    </licenses>
  • POM tag for public sources - like:
    <scm>
        <connection>scm:git:https://github.com/YunaBraska/maven-oss-parent</connection>
        <developerConnection>scm:git:https://github.com/YunaBraska/maven-oss-parent</developerConnection>
        <url>https://github.com/YunaBraska/maven-oss-parent.git</url>
    </scm>

Versions

Version
0.2.0
0.0.1