##// END OF EJS Templates
Add minimum Gradle compatibility functional test
Add minimum Gradle compatibility functional test

File last commit:

r60:e376d0cab00e default
r63:79fd940a7856 tip default
Show More
RELEASE_CHECKLIST.md
63 lines | 1.8 KiB | text/x-minidsrc | MarkdownLexer
/ RELEASE_CHECKLIST.md
cin
Set the project version to 0.1.0, add publication descriptions/license metadata, and keep module-level docs as compatibility pointers to the root documentation.
r60 # 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
```
3. Optionally run:
```bash
./gradlew check --configuration-cache
```
4. Publish locally:
```bash
./gradlew publish
```
5. Optionally smoke-publish into `/tmp` first:
```bash
./gradlew -Duser.home=/tmp/gradle-common-ivy-smoke \
:common:publishIvyPublicationToIvyRepository \
:variants:publishIvyPublicationToIvyRepository \
--rerun-tasks
```
6. 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.