# 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: - `-.jar` - `--sources.jar` - `--javadoc.jar` - `ivy.xml` - Gradle module metadata ## Current Coordinates ```text org.implab.gradle:common:0.1.0 org.implab.gradle:variants:0.1.0 ```