##// 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
PUBLISHING.md
99 lines | 1.9 KiB | text/x-minidsrc | MarkdownLexer
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 # Local Ivy Publishing
This project currently publishes only to a local Ivy repository. Maven Central,
signing, and Gradle Plugin Portal publication are intentionally out of scope for
the current preparation step.
Published Ivy descriptors include the BSD-2-Clause license metadata.
## Repository
The configured Ivy repository is:
```text
${user.home}/ivy-repo
```
This is defined in:
- `common/build.gradle`
- `variants/build.gradle`
## Verify Before Publishing
Run a full clean verification:
```bash
./gradlew clean check javadoc jar sourcesJar javadocJar --rerun-tasks
```
Optional configuration-cache smoke check:
```bash
./gradlew check --configuration-cache
```
## Publish
Publish all modules:
```bash
./gradlew publish
```
Publish modules explicitly:
```bash
./gradlew :common:publishIvyPublicationToIvyRepository \
:variants:publishIvyPublicationToIvyRepository
```
Safe smoke publish into a temporary repository:
```bash
./gradlew -Duser.home=/tmp/gradle-common-ivy-smoke \
:common:publishIvyPublicationToIvyRepository \
:variants:publishIvyPublicationToIvyRepository \
--rerun-tasks
```
## Consume Locally
Use `buildscript` classpath for now:
```groovy
buildscript {
repositories {
ivy {
url "${System.properties['user.home']}/ivy-repo"
}
mavenCentral()
}
dependencies {
classpath 'org.implab.gradle:variants:0.1.0'
}
}
apply plugin: 'org.implab.gradle-variants'
apply plugin: 'org.implab.gradle-variants-sources'
```
The `plugins {}` DSL needs generated plugin marker artifacts and is not part of
the current local Ivy contract.
## Published Artifacts
Each module publishes:
- `<module>-<version>.jar`
- `<module>-<version>-sources.jar`
- `<module>-<version>-javadoc.jar`
- `ivy.xml`
- Gradle module metadata
## Current Coordinates
```text
org.implab.gradle:common:0.1.0
org.implab.gradle:variants:0.1.0
```