This is a small "plugin" to simplify the use of maven-publish Gradle plugin. You can use this plugin for Java Library and Android Library.
In order to use GradleMavenizer you have to add the line
apply from: 'https://raw.githubusercontent.com/sky-uk/gradle-maven-plugin/master/gradle-mavenizer.gradle'
at the very bottom of the build.gradle file.
GradleMavenizer is highly customizable.
You can customize it adding some properties to the root project build.gradle or to the module build.gradle file.
Attention: If you add the same property to the root project file and to the module file, in order of priority, the module file property will override the root project property.
- mavProjectName -> String property -> Identify the project name (can be different from the artifactId)
- mavLibraryDescription -> String property -> A simple description for the library
- mavVersion -> String property -> The version of the library
- mavDevelopers -> Map property -> A map with the ids and the developer name of the library
- mavLibraryLicenses -> Map property -> A map with the name and the urls of the library licenses
- mavSiteUrl -> String property -> Identify the url of the project website
- mavGitUrl -> String property ->Identify the url of the project github page
-
Remote repository:
- mavPublishToRemoteRepo -> Boolean property -> Allow the script to load your library to a remote repo
- mavRemoteRepoUser -> String property -> Username to grant access to the remote repo
- mavRemoteRepoPassword -> String property -> Password to grant access to the remote repo
- mavRepoRemoteUrl -> String property -> Identify the url of the remote repo
-
Internal repository:
- mavPublishToInternalRepo -> Boolean property -> Allow the script to load your library to an internal repo
- mavRepoInternalUrl -> String property -> Identify the url of the internal repo
-
MavenLocal repository:
- mavPublishToMavenLocal -> Boolean property -> Allow the script to load your library to MavenLocal folder
Attention: If you won't set any repository automatically the script will use MavenLocal as default repo
project.ext {
mavDevelopers = ["Fe":"Federico"]
mavSiteUrl = "https://github.com/sky-uk/gradle-maven-plugin"
mavGitUrl = mavSiteUrl + '.git'
mavProjectName = 'GradleMavenizer'
mavPublishToInternalRepo = true
mavRepoInternalUrl = "path/to/internal/repo"
mavLibraryLicenses = ["Apache-2.0":'http://www.apache.org/licenses/LICENSE-2.0.txt']
mavLibraryDescription = "A simple description of the project"
mavVersion = "1.0"
}
To finally publish you library you can use the command ./gradlew publish
directly from your project root folder.
You can also pass some properties directly from command line using the command -P
(every property must have -P
before), for example:
./gradlew publish -PmavPublishToMavenLocal=true