Properties are set in the project's gradle.properties
file(s).
Publish operations to external URLs require credentials: these are supplied through envronment variables:
MAVEN_ACTOR
- usernameMAVEN_TOKEN
- the you-know-what
Also, sometimes an insecure registry is involved. See this link to understand that particular setting.
Publishes source and binary JAR files for "library" projects to a Maven repository. See also Kotlin Examples.
id("crackers.buildstuff.library-publish")
- Tasks
libraryDistribution
creates 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
- if the environment variable
- Requirements
- Java and/or Kotlin source files
group
,module
, andversion
properties are properly set
- Properties
library.publish.repoName
- the name of the "publish" repository to targetlibrary.publish.repoUrl
- the URL of the "publish" repositorylibrary.publish.insecure
- if "true" (default false), allows for use of an insecure registry (see above)
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)
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