diff --git a/build.gradle b/build.gradle index c8e3fee6..63d47e57 100644 --- a/build.gradle +++ b/build.gradle @@ -5,8 +5,8 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:3.4.1' - classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' + classpath 'com.android.tools.build:gradle:3.4.2' + classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' } } diff --git a/cameraview/build.gradle b/cameraview/build.gradle index e7251d6d..dded5546 100644 --- a/cameraview/build.gradle +++ b/cameraview/build.gradle @@ -56,35 +56,51 @@ dependencies { //region bintray +// install is a task defined by the Gradle Maven plugin, which is used to +// publish a maven repo to a local repository. (we actually use the android version of the plugin, +// com.github.dcendents.android-maven, to support AARs) +// https://docs.gradle.org/current/userguide/maven_plugin.html#sec:maven_tasks install { - repositories.mavenInstaller { - pom.project { - name 'CameraView' - description 'A well documented, high-level Android interface that makes capturing pictures ' + - 'and videos easy, addressing most of the common issues and needs.' - url 'https://github.com/natario1/CameraView' - - packaging 'aar' - groupId project.group - artifactId 'cameraview' - version project.version - - licenses { - license { - name 'The Apache Software License, Version 2.0' - url 'http://www.apache.org/licenses/LICENSE-2.0.txt' - } - } - scm { - connection 'https://github.com/natario1/CameraView.git' - developerConnection 'https://github.com/natario1/CameraView.git' - url 'https://github.com/natario1/CameraView' - - } - developers { - developer { - id = 'natario' - name 'Natario' + // The repositories property is common to all tasks of type Upload and returns the repositories + // into which we will upload data. https://docs.gradle.org/current/dsl/org.gradle.api.tasks.Upload.html#org.gradle.api.tasks.Upload:repositories + // It returns a RepositoryHandler: https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.dsl.RepositoryHandler.html + repositories { + // The maven plugin adds a mavenInstaller property to the RepositoryHandler which can be used to + // add and configure a local maven repository cache. + // https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.dsl.RepositoryHandler.html#N11785 + mavenInstaller { + // The object here extends PomFilterContainer so we can configure the pom file here. + // https://docs.gradle.org/current/javadoc/org/gradle/api/artifacts/maven/PomFilterContainer.html#pom-groovy.lang.Closure- + pom { + // Now we are inside a MavenPom object that can be configured. We get the project and configure. + // https://docs.gradle.org/current/javadoc/org/gradle/api/artifacts/maven/MavenPom.html + project { + name 'CameraView' + description 'A well documented, high-level Android interface that makes capturing pictures ' + + 'and videos easy, addressing most of the common issues and needs.' + url 'https://github.com/natario1/CameraView' + packaging 'aar' + groupId project.group + artifactId 'cameraview' + version project.version + licenses { + license { + name 'The Apache Software License, Version 2.0' + url 'http://www.apache.org/licenses/LICENSE-2.0.txt' + } + } + scm { + connection 'https://github.com/natario1/CameraView.git' + developerConnection 'https://github.com/natario1/CameraView.git' + url 'https://github.com/natario1/CameraView' + + } + developers { + developer { + id = 'natario' + name 'Mattia Iavarone' + } + } } } }