4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
20 NEXUS_REPOSITORY_BASE_PATH=$3
22 NEXUS_REPOSITORY_SEARCH_PATTERNS=$@
31 [ -n "$1" ] && params+="&group=$1"
32 [ -n "${2:-}" ] && params+="&name=$2"
33 curl "${NEXUS_URL}/service/rest/v1/search?repository=${NEXUS_REPOSITORY}${params}"
36 for pat in $NEXUS_REPOSITORY_SEARCH_PATTERNS; do
37 search_group="/$NEXUS_REPOSITORY_BASE_PATH/$(echo $pat | cut -d':' -f1)"
39 if echo $pat | grep ':'; then
40 search_name="$(echo $pat | cut -d':' -f2)"
42 resp=$(_search_group $search_group $search_name)
43 if [ "$(echo $resp | jq -r '.continuationToken')" != "null" ]; then
44 _abort "Pagination not implemented"
46 for url in $(echo $resp | jq -r '.items[].assets[].downloadUrl'); do
47 to=${url#$NEXUS_URL/repository/$NEXUS_REPOSITORY/$NEXUS_REPOSITORY_BASE_PATH/}
48 mkdir -p $(dirname $to)