Android base project and lib center.
After creating new module, also create property files below;
Create new properties file for library details called library.properties in library module. Then copy, paste and fill variables below;
artifact=
libraryName=
libraryVersion=
libraryDescription=
- artifact: Second part of implementation Ex: com.hipo.macaron:[ARTIFACT]:1.0.0. Usually same as library name.
- libraryName: Module name of the library.
- libraryVersion: Library version, ex: 1.0.0
- libraryDescription: Library description that will be shown in GitHub Packages
To publish manually, add GitHub username and GitHub Personal Access Token which permissions have read:packages and write:packages to local.properties as shown below;
gpr.usr=
gpr.key=
OR
Add GPR_USER and GPR_API_KEY secret variables to Bitrise if they are not already added and let the Bitrise handle publishing.
Add snippet below at the end of the build.gradle file in library module.
apply from: 'https://raw.githubusercontent.com/Hipo/macaron/master/publish/publish.gradle'
publish.gradle contains everything to check, build and publish to GitHub Packages easily. It uses properties defined in library.properties, macaron.properties, license.properties and local.properties
To publish on GitHub Packages, push a tag to master as [VERSION]-[MODULE_NAME]
Example; 1.0.0-alpha03-biometricutils will publish biometricutils module.
Last part of the tag must be the module name
Bitrise will run commands below based on the module name at the end of the tag;
./gradlew [MODULE_NAME]:checkProperties: Checks if there is any missing property in created property files../gradlew [MODULE_NAME]:build: Generatesaar,pomfiles../gradlew [MODULE_NAME]:publish: Uploads generated files to GitHub Packages.
Project
...
|
+-- library_module_1
| |
| \-- library.properties
|
+-- library_module_2
| |
| \-- library.properties
|
+-- publish
| |
| |-- github-packages-publish-script.sh
| |-- license.properties
| |-- macaron.properties
| \-- publish.gradle
|
+-- local.properties
...
To install one of these libraries, you must add this snippet below before module level build.gradle.
apply from: 'https://raw.githubusercontent.com/Hipo/macaron/master/packages.gradle'
Example implementation:
implementation com.hipo.macaron:[ARTIFACT]:<version>
publish.gradle contains required gprReadApiKey to need to able to be used these libraries.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.