Building¶
Root Ackpine
project has the following Gradle tasks:
:buildAckpine
: a lifecycle task which builds release AARs of all Ackpine library projects;:buildSamples
: a lifecycle task which builds and gathers release versions of all Ackpine sample app APKs and R8 mappings intorelease
directory;:releaseChangelog
: an actionable task which extracts changelog for the last release fromdocs/changelog.md
file tochangelog.txt
.
Other useful tasks provided by third-party Gradle plugins:
:api-documentation:dokkaGenerate
: generates API documentation for the library projects and places it intodocs/api
directory;apiCheck
: validates public API surface of the library projects against dumps;apiDump
: dumps public API surface of the library projects;publishAndReleaseToMavenCentral
: publishes the library projects to Maven Central repository. For further information see plugin's documentation.
Projects are added to :buildAckpine
and :buildSamples
tasks through dependencies
block in root build.gradle.kts
.
Projects are added to :api-documentation:dokkaGenerate
task through dependencies
block in build.gradle.kts
of api-documentation
project.
To serve documentation website on localhost, execute this command (requires Python 3 and Material for MkDocs to be installed):
mkdocs serve
To build release versions of sample apps you'll need to provide a keystore. For this, create a keystore.properties
file in the root directory with the following contents:
APP_SIGNING_KEY_ALIAS=YOUR_KEY_ALIAS
APP_SIGNING_KEY_PASSWORD=YOUR_KEY_PASSWORD
APP_SIGNING_KEY_STORE_PASSWORD=YOUR_KEYSTORE_PASSWORD
APP_SIGNING_KEY_STORE_PATH=PATH_TO_YOUR_KEYSTORE_FILE
keystore.properties
file takes precedence over environment variables.