Allow specifying an extension for artifacts
This is useful if you need to download an AAR. For example:
./import-maven-artifacts.sh \
com.google.android.exoplayer:exoplayer-core:2.8.1@aar
Bug: 80234218
Test: Ran with each combination of classifier/extension
Change-Id: I22e1624419c4bc9cc0ba2a5a5ef31a11edd03aba
diff --git a/import-maven-artifacts.sh b/import-maven-artifacts.sh
index 18e6a0f..9d949d5 100755
--- a/import-maven-artifacts.sh
+++ b/import-maven-artifacts.sh
@@ -8,7 +8,7 @@
cd $tempDir
function usage() {
- echo "Usage: $0 group:artifact:version[:classifier] [group:artifact:version[:classifier]...]
+ echo "Usage: $0 group:artifact:version[:classifier][@extension] [group:artifact:version[:classifier][@extension]...]
This script downloads the specified artifacts copies them into the appropriate subdirectory of $destRepo/prebuilts/"
exit 1
@@ -76,14 +76,16 @@
while [ "$1" != "" ]; do
echo importing $1
- # determine whether a classifier is present
- if echo "$1" | grep ":.*:.*:" > /dev/null; then
- # classifier is present
- dependencyText="$(echo $1 | sed 's|\([^:]*\):\([^:]*\):\([^:]*\):\([^:]*\)|\n <dependency>\n <groupId>\1</groupId>\n <artifactId>\2</artifactId>\n <version>\3</version>\n <classifier>\4</classifier>\n </dependency>|')"
- else
- # classifier is not present
- dependencyText="$(echo $1 | sed 's|\([^:]*\):\([^:]*\):\([^:]*\)|\n <dependency>\n <groupId>\1</groupId>\n <artifactId>\2</artifactId>\n <version>\3</version>\n </dependency>|')"
- fi
+ IFS=@ read -r dependency extension <<< $1
+ IFS=: read -ra FIELDS <<< ${dependency}
+ groupId="${FIELDS[0]}"
+ artifactId="${FIELDS[1]}"
+ version="${FIELDS[2]}"
+ classifier="${FIELDS[3]}"
+ dependencyText=$(echo -e "\n <dependency>\n <groupId>${groupId}</groupId>\n <artifactId>${artifactId}</artifactId>\n <version>${version}</version>")
+ [ $classifier ] && dependencyText+=$(echo -e "\n <classifier>${classifier}</classifier>")
+ [ $extension ] && dependencyText+=$(echo -e "\n <type>${extension}</type>")
+ dependencyText+=$(echo -e "\n </dependency>")
pomDependencies="${pomDependencies}${dependencyText}"
shift
done