Skip to content

Latest commit

 

History

History
268 lines (200 loc) · 18.4 KB

CHANGELOG.md

File metadata and controls

268 lines (200 loc) · 18.4 KB

Change Log

Version 0.20.0 (2022-06-02)

Upcoming behavior change

In the next release after this the com.vanniktech.maven.publish will stop adding Maven Central (Sonatype OSS) as a publishing target and will not enable GPG signing by default. If you are curretly relying on this behavior the plugin will print a warning during configuration phase. To continue publishing to maven central and signing artifacts either add this to your build files:

mavenPublishing {
  publishToMavenCentral() // use publishToMavenCentral("S01") for publishing through s01.sonatype.org
  enableReleaseSigning()
}

or the following to your gradle.properties:

SONATYPE_HOST=DEFAULT
# SONATYPE_HOST=S01 for publishing through s01.sonatype.org
RELEASE_SIGNING_ENABLED=true

The base plugin is unaffected by these changes because it already has this behavior.

Deprecation

The old mavenPublish extension has been deprecated.

If you were using it to set sonatypeHost to S01 use

mavenPublishing {
  publishToMavenCentral("S01")
}

instead or add SONATYPE_HOST=S01 to your gradle.properties.

If sonatypeHost was used to disable adding Maven Central as a publishing target add SONATYPE_HOST= until 0.21.0 is out and this becomes the default behavior.

If you set releaseSigningEnabled to false add RELEASE_SIGNING_ENABLED=false to your gradle.properties until 0.21.0 is out and this becomes the default behavior.

New

Added support to set the following pom values through properties (thanks to @jaredsburrows for the contribution)

  • POM_ISSUE_SYSTEM sets issueManagement.system
  • POM_ISSUE_URL sets issueManagement.url
  • POM_DEVELOPER_EMAIL sets developer.email

Fixed

  • resolved an issue in Kotlin Multiplatform projects that apply com.android.library that caused no sources jars to be published
  • resolved an issue in Kotlin Multiplatform projects that apply com.android.library using AGP versions before 7.1.2 that caused the project to be published as a pure Android library
  • fixed and improved error messages for closeAndReleaseRepository

Version 0.19.0 (2022-02-26)

  • Behavior Change: When using version 7.1.0 or newer of the Android Gradle Plugin we will now publish all variants of a library unless androidVariantToPublish was set in the DSL. This means that for example both debug and release or all flavors.
  • Deprecated androidVariantToPublish. In the future the main plugin will always publish all variants of an Android library. If you need to publish only one variant or a subset take a look at the base plugin APIs.
  • Base plugin: Added AndroidSingleVariantLibrary and AndroidMultiVariantLibrary options that use the new AGP 7.1 APIs under the hood.
  • Base plugin: Deprecated AndroidLibrary option in favor of the above
  • The integration with Sonatype Nexus has been extracted into it's own artifact and is available as com.vanniktech:nexus:<version>

Version 0.18.0 (2021-09-13)

  • The minimum supported Kotlin version is now 1.4.30
  • It's now possible to specify SONATYPE_HOST as a Gradle property, e.g.
    • SONATYPE_HOST=S01 for s01.sonatype.org
    • SONATYPE_HOST= to not add any repository by default
  • Fixed an issue when publishing Kotlin MPP projects with the base plugin
  • Removed checks for presence of properties that aren't used by this plugin anymore

Version 0.17.0 (2021-07-04)

  • Removed the deprecated uploadArchives and installArchives tasks. Use publish and publishToMavenLocal instead.

Version 0.16.0 (2021-06-20)

  • Add pomFromGradleProperties API to base plugin. This configures the pom in the same way the regular plugin does.
  • Add the ability to remove the default mavenCentral repository, by setting sonatypeHost to null
  • Support POM_LICENSE_NAME, POM_LICENSE_URL and POM_LICENSE_DIST properties in addition to LICENCE based properties.
  • Fixes an issue in the base plugin that caused an error during configuration of Android projects.
  • Fixes an issue with javadoc tasks when using Java toolchains.
  • The deprecated nexusOptions and nexus {} methods were removed. closeAndReleaseRepository is automatically configured.

Version 0.15.1 (2021-05-02)

  • The closeAndReleaseRepository task was mistakenly expecting the wrong Gradle properties. The README and changelog also mentioned the wrong properties. The correct ones are mavenCentralUsername and mavenCentralPassword or for environment variables: ORG_GRADLE_PROJECT_mavenCentralUsername and ORG_GRADLE_PROJECT_mavenCentralPassword.
  • Fix signing not being configurable until afterEvaluate
  • Use empty string as in memory signing password when no password is specified
  • Fix statingProfile in nexusOptions not being optional which causes an error when running closeAndReleaseRepository

Version 0.15.0 (2021-04-24)

  • BREAKING: Removed support for deprecated RELEASE_REPOSITORY_URL, SNAPSHOT_REPOSITORY_URL, SONATYPE_NEXUS_USERNAME, SONATYPE_NEXUS_PASSWORD environment variables and properties. For safety reasons the project will fail when finding these. Use mavenCentralUsername and mavenCentralPassword Gradle properties or ORG_GRADLE_PROJECT_mavenCentralUsername and ORG_GRADLE_PROJECT_mavenCentralPassword environment variables instead.
  • BREAKING: Removed deprecated targets API. See README for alternative ways of adding targets.
  • Behavior change: The dokka plugin is not applied by default anymore for Kotlin projects. When it is applied we will still use the dokka tasks to create the javadoc jar.
  • Support for s01.oss.sonatype.org by setting sonatypeHost = "S01".
  • Introduce com.vanniktech.maven.publish.base plugin. This plugin contains all the functionality of the main plugin, but does not configure anything automatically. Instead, it offers a public API, which is also used by the main plugin to do so yourself. This allows for more flexibility and to publish different project types. The API is not final yet, but we're happy to receive feedback.

Version 0.14.2 (2021-02-14)

  • fix artifact id in Kotlin Multiplatform projects being incorrect
  • fix closeAndReleaseRepository requiring callers to pass --repository

Version 0.14.1 (2021-02-11)

  • fix false positive deprecation warnings
  • fix typos in deprecation warnings

Version 0.14.0 (2021-02-10)

  • enable publishing Kotlin/JS projects
  • fixed compatibility with Kotlin Multiplatform projects using Kotlin 1.4.30
  • fixed compatibility with Gradle plugin projects using Gradle 6.8
  • make closeAndReleaseRepository more flexible in choosing a repository
  • deprecated the targets API, check out the README on how to add more repositories
  • minimum supported Gradle version is now 6.6

Version 0.13.0 (2020-09-07)

Version 0.12.0 (2020-07-07)

Kudos to gabrielittner.

Version 0.11.1 (2020-03-30)

  • Pom packaging is not written #82

Version 0.11.0 (2020-03-30)

  • Actually the same as 0.10.0 since I forgot to pull master before building :/

Version 0.10.0 (2020-03-22)

Again, huge thanks to gabrielittner for all of his work in this release.

Version 0.9.0 (2020-02-08)

Huge thanks to gabrielittner for all of his work in this release.

Version 0.8.0 (2019-02-18)

  • Change docs format for Kotlin project docs #45 (Ilya-Gh)
  • Add missing backticks in README.md #43 (Egorand)
  • Generate javadocs for Kotlin project with Dokka #37 (Ilya-Gh)

Version 0.7.0 (2018-01-15)

Thanks to @gabrielittner @marcphilipp @budius & @WellingtonCosta for their contributions.

Version 0.6.0 (2018-09-11)

Version 0.5.0 (2018-08-16)

Version 0.4.0 (2018-06-30)

Version 0.3.0 (2018-06-29)

  • Make it possible to specify the release URL as a project property. #9 (swankjesse)
  • Package up the groovy doc in case the groovy plugin is applied. For Java plugins also add the jar archive. #4 (vanniktech)
  • Unify setup, improve a few things and bump versions. #3 (vanniktech)

Version 0.2.0 (2018-05-26)

  • Throw exception when missing username or password only when executing the task. #2 (vanniktech)

Version 0.1.0 (2018-05-25)

  • Initial release