| repository/ is a maven repository with libraries used to perform |
| certain tasks without accessing an external repository. e.g: |
| - Compile tools/base, tools/swt and tools/buildSrc using Gradle |
| - Convert artifacts from a maven repository to a p2 repository |
| using the p2-maven plugin |
| |
| Certain dependencies are using only during the build process, |
| but others are runtime dependencies that get shipped with the |
| SDK Tools. Such runtime dependencies must include a NOTICE file |
| next to the artifact or the build will fail. |
| |
| There are a few different ways to add artifacts to these repositories: |
| |
| 1. Add a dependency to an existing project in tools/base, say ddmlib, |
| and then run the cloneArtifacts task from the tools folder. |
| |
| 2. Invoke the maven-install-plugin from the command line. For example, |
| the following command was used to install the protobuf jar into |
| the repository: |
| $ mvn org.apache.maven.plugins:maven-install-plugin:2.5.1:install-file \ |
| -Dfile=$OUT/host-libprotobuf-java-2.3.0-lite.jar \ |
| -DgroupId=com.android.tools.external \ |
| -DartifactId=libprotobuf-java-lite \ |
| -Dversion=2.3.0 \ |
| -Dpackaging=jar \ |
| -DgeneratePom=true \ |
| -DlocalRepositoryPath=repo \ |
| -DcreateChecksum=true |
| |
| 3. Adding all the dependencies for a maven plugin can be accomplished |
| as follows: |
| - Create a maven settings.xml file with a pointer to an empty |
| folder as the localRepository. |
| - Run the maven task using that settings.xml |
| - When the task runs, all the necessary artifacts will be downloaded |
| into that local repository. |
| - Copy over the contents of that repository into this folder. |