文本文件  |  38行  |  1.64 KB

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.