Эх сурвалжийг харах

Merge pull request #229 from infosiftr/build-url

Add support for direct building of a URL
yosifkit 11 жил өмнө
parent
commit
8633d97cd5
1 өөрчлөгдсөн 26 нэмэгдсэн , 8 устгасан
  1. 26 8
      bashbrew/build.sh

+ 26 - 8
bashbrew/build.sh

@@ -112,17 +112,35 @@ for repoTag in "${repos[@]}"; do
 	tag="${repoTag#*:}"
 	[ "$repo" != "$tag" ] || tag=
 	
-	if [ -f "$repo" ]; then
-		repoFile="$repo"
-		repo="$(basename "$repoFile")"
+	if [ "$repo" = 'http' -o "$repo" = 'https' ] && [[ "$tag" == //* ]]; then
+		# IT'S A URL!
+		repoUrl="$repo:${tag%:*}"
+		repo="$(basename "$repoUrl")"
+		if [ "${tag##*:}" != "$tag" ]; then
+			tag="${tag##*:}"
+		else
+			tag=
+		fi
 		repoTag="${repo}${tag:+:$tag}"
+		
+		echo "$repoTag ($repoUrl)" >> "$logDir/repos.txt"
+		
+		cmd=( curl -sSL --compressed "$repoUrl" )
 	else
-		repoFile="$library/$repo"
+		if [ -f "$repo" ]; then
+			repoFile="$repo"
+			repo="$(basename "$repoFile")"
+			repoTag="${repo}${tag:+:$tag}"
+		else
+			repoFile="$library/$repo"
+		fi
+		
+		repoFile="$(readlink -f "$repoFile")"
+		echo "$repoTag ($repoFile)" >> "$logDir/repos.txt"
+		
+		cmd=( cat "$repoFile" )
 	fi
 	
-	repoFile="$(readlink -f "$repoFile")"
-	echo "$repoTag ($repoFile)" >> "$logDir/repos.txt"
-	
 	if [ "${repoGitRepo[$repoTag]}" ]; then
 		queue+=( "$repoTag" )
 		continue
@@ -130,7 +148,7 @@ for repoTag in "${repos[@]}"; do
 	
 	# parse the repo library file
 	IFS=$'\n'
-	repoTagLines=( $(cat "$repoFile" | grep -vE '^#|^\s*$') )
+	repoTagLines=( $("${cmd[@]}" | grep -vE '^#|^\s*$') )
 	unset IFS
 	
 	tags=()