##// 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

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:

${user.home}/ivy-repo

This is defined in:

  • common/build.gradle
  • variants/build.gradle

Verify Before Publishing

Run a full clean verification:

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

Optional configuration-cache smoke check:

./gradlew check --configuration-cache

Publish

Publish all modules:

./gradlew publish

Publish modules explicitly:

./gradlew :common:publishIvyPublicationToIvyRepository \
          :variants:publishIvyPublicationToIvyRepository

Safe smoke publish into a temporary repository:

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

Consume Locally

Use buildscript classpath for now:

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

org.implab.gradle:common:0.1.0
org.implab.gradle:variants:0.1.0