##// END OF EJS Templates
Keep contribution-based assemblies on managed Sync tasks, register direct producers through ArtifactAssemblyRegistry, wire builtBy on outgoing artifacts, and cover the behavior with functional tests.
Keep contribution-based assemblies on managed Sync tasks, register direct producers through ArtifactAssemblyRegistry, wire builtBy on outgoing artifacts, and cover the behavior with functional tests.

File last commit:

r60:e376d0cab00e default
r61:9b11838beca6 default
Show More
RELEASE_CHECKLIST.md
63 lines | 1.8 KiB | text/x-minidsrc | MarkdownLexer
/ RELEASE_CHECKLIST.md

Release Checklist

This checklist tracks what should be true before publishing outside the local Ivy repository.

Current Scope

For now the project is prepared for local Ivy publication only.

Required Before External Publication

  • Add Maven publication (maven-publish) if publishing to Maven repositories.
  • Add signing for Maven Central or any repository that requires signed artifacts.
  • Add complete POM metadata: project name, description, URL, license, developers, and SCM coordinates.
  • Keep Java 21 as the public baseline and document it for consumers.
  • Decide whether variants artifact APIs are published as experimental or split into a later module.
  • Add Gradle plugin marker artifact generation if plugins { id(...) version(...) } must work.
  • Add a published-consumption smoke test that resolves artifacts from a temporary local repository.

Local Ivy Release Steps

  1. Ensure the Mercurial working tree is clean.
  2. Run:

bash ./gradlew clean check javadoc jar sourcesJar javadocJar --rerun-tasks

  1. Optionally run:

bash ./gradlew check --configuration-cache

  1. Publish locally:

bash ./gradlew publish

  1. Optionally smoke-publish into /tmp first:

bash ./gradlew -Duser.home=/tmp/gradle-common-ivy-smoke \ :common:publishIvyPublicationToIvyRepository \ :variants:publishIvyPublicationToIvyRepository \ --rerun-tasks

  1. Verify ${user.home}/ivy-repo/org.implab.gradle contains common and variants for the expected version.

API Status

  • common is intended to be a shared utility library.
  • variants core and source APIs are pre-1.0 and should be treated as evolving.
  • variantArtifacts is experimental and may change more aggressively.