shipkit-demo-api

Demo project showcasing automated publications with Shipkit Gradle plugins

Лицензия

Лицензия

MIT
Группа

Группа

org.shipkit.shipkit-demo
Идентификатор

Идентификатор

shipkit-demo-api
Последняя версия

Последняя версия

0.19.0
Дата

Дата

Тип

Тип

pom.sha512
Описание

Описание

shipkit-demo-api
Demo project showcasing automated publications with Shipkit Gradle plugins
Ссылка на сайт

Ссылка на сайт

https://github.com/shipkit/shipkit-demo
Система контроля версий

Система контроля версий

https://github.com/shipkit/shipkit-demo.git

Скачать shipkit-demo-api

Зависимости

Библиотека не имеет зависимостей. Это самодостаточное приложение, которое не зависит ни от каких других библиотек.

Модули Проекта

Данный проект не имеет модулей.

Shipkit demo

CI Maven Central

This is a demo project that showcases release automation with Shipkit plugins. Use it as a reference to automate your project!

Overview

This project represents a development model where every change on the main development branch will produce a new release via the CI system. The release is a Maven publication (jars, poms) that get uploaded to a free public repository (Maven Central) via a free CI system (Travis). We chose Maven Central and Travis CI as examples - you can use any system of your choice (for example: JFrog Artifactory + GH Actions). The Gradle plugins we chose for this use case represent the minimum set of Gradle plugins to conveniently automate the releases.

  • the Maven publication (jars, poms) is configured using Gradle's built-in maven-publish plugin.
  • the publication to a public repository (Maven Central) is configured using gradle-nexus/publish-plugin plugin. Published versions and artifacts can be viewed in Maven Central. If you want to publish to a different repository than Maven Central, you would use a different plugin for that. For example, if you want to publish to JFrog Artifactory, you can use com.jfrog.artifactory plugin.
  • the next version for the release is deducted automatically by shipkit-auto-version plugin. This plugin is minimalistic, written for sole purpose of automated deduction of version before the release.
  • the GitHub release is performed via GH REST API by shipkit-auto-version plugin. This plugin is minimalistic, written for sole purpose of generating changelog (release notes) and performing a GH release. The releases and changelog can be viewed on GH releases page.

Implementation reference

  • Java publication (javadoc/sources jar, pom customization, signing): gradle/java-publication.gradle. Note that PGP_KEY and PGP_PWD environment variables are required for successful publications.
  • Release automation (deducting version, generating changelog, creating GitHub release via GH REST API, Sonatype/Maven Central settings): gradle/release.gradle. Note that GITHUB_TOKEN env variable is required to perform GitHub release. SONATYPE_USER and SONATYPE_PWD are required for publications to Sonatype Nexus (Maven Central).
  • CI/CD configuration: .github/workflows/ci.yml. Note that you can use any CI system.
org.shipkit.shipkit-demo

Shipkit

Shipkit libraries for shipping software components

Версии библиотеки

Версия
0.19.0
0.18.0
0.17.2
0.17.1
0.17.0