Skip to content

Latest commit

 

History

History
71 lines (51 loc) · 2.9 KB

Plugin List.md

File metadata and controls

71 lines (51 loc) · 2.9 KB

Gradle Script Plugins

Properties are set in the project's gradle.properties file(s).

About Maven Credentials

Publish operations to external URLs require credentials: these are supplied through envronment variables:

  • MAVEN_ACTOR - username
  • MAVEN_TOKEN - the you-know-what

Also, sometimes an insecure registry is involved. See this link to understand that particular setting.

List of Tasks

Publish Java Library

Publishes source and binary JAR files for "library" projects to a Maven repository. See also Kotlin Examples.

Usage

id("crackers.buildstuff.library-publish")
  • Tasks
    • libraryDistributioncreates and publishes the binary and source JARs
      • if the environment variable PUBLISH_LIBRARY is true, the artifacts are pushed to the designated repository
      • otherwise they are published "locally"
      • the project's -javadoc.jar is automatically generated from artifacts labelled as "javadoc"
        • if no Javadoc is generated, an "empty" JAR is produced
  • Requirements
    • Java and/or Kotlin source files
    • group, module, and version properties are properly set
  • Properties
    • library.publish.repoName - the name of the "publish" repository to target
    • library.publish.repoUrl - the URL of the "publish" repository
    • library.publish.insecure - if "true" (default false), allows for use of an insecure registry (see above)

Generate Java and Kotlin protobuf implementations

Generates protobuf libraries.

This plugin:

  • sets up IDEA "source directories" so generated source is available to projects
  • creates artifacts with the project version
    • message classes are compiled to Java
    • service classes are compiled to both Java and Kotln client/server stubs
    • stub dependencies included transitively (including the runtime-libraries)

Usage

id("crackers.buildstuff.generate-protobuf")

This is simply just the "typical" protobuf generate setup as documented, nothing "fancy" added: just the Java and Kotlin generation parts. This should be completely transparent when used and all other options available should be available.

  • Properties
    • protobuf.javaVersion - sets the version of Java to use; defaults to 17