@@ -75,19 +75,7 @@ remove_grpc_version() {
75
75
76
76
download_gapic_generator_pom_parent () {
77
77
local gapic_generator_version=$1
78
- if [ ! -f " gapic-generator-java-pom-parent-${gapic_generator_version} .pom" ]; then
79
- if [[ " ${gapic_generator_version} " == * " -SNAPSHOT" ]]; then
80
- # copy a SNAPSHOT version from maven local repository.
81
- copy_from " $HOME /.m2/repository/com/google/api/gapic-generator-java-pom-parent/${gapic_generator_version} /gapic-generator-java-pom-parent-${gapic_generator_version} .pom" \
82
- " gapic-generator-java-pom-parent-${gapic_generator_version} .pom"
83
- return
84
- fi
85
- # download gapic-generator-java-pom-parent from Google maven central mirror.
86
- download_from \
87
- " https://maven-central.storage-download.googleapis.com/maven2/com/google/api/gapic-generator-java-pom-parent/${gapic_generator_version} /gapic-generator-java-pom-parent-${gapic_generator_version} .pom" \
88
- " gapic-generator-java-pom-parent-${gapic_generator_version} .pom"
89
- fi
90
- # file exists, do not need to download again.
78
+ download_generator_artifact " ${gapic_generator_version} " " gapic-generator-java-pom-parent-${gapic_generator_version} .pom" " gapic-generator-java-pom-parent"
91
79
}
92
80
93
81
get_grpc_version () {
@@ -114,25 +102,31 @@ download_tools() {
114
102
local protobuf_version=$2
115
103
local grpc_version=$3
116
104
local os_architecture=$4
117
- download_generator " ${gapic_generator_version} "
105
+ download_generator_artifact " ${gapic_generator_version} " " gapic-generator-java- ${gapic_generator_version} .jar "
118
106
download_protobuf " ${protobuf_version} " " ${os_architecture} "
119
107
download_grpc_plugin " ${grpc_version} " " ${os_architecture} "
120
108
popd
121
109
}
122
110
123
- download_generator () {
111
+ download_generator_artifact () {
124
112
local gapic_generator_version=$1
113
+ local artifact=$2
114
+ local project=${3:- " gapic-generator-java" }
125
115
if [ ! -f " gapic-generator-java-${gapic_generator_version} .jar" ]; then
126
- if [[ " ${gapic_generator_version} " == * " -SNAPSHOT" ]]; then
127
- # copy a SNAPSHOT version from maven local repository.
128
- copy_from " $HOME /.m2/repository/com/google/api/gapic-generator-java/${gapic_generator_version} /gapic-generator-java-${gapic_generator_version} .jar" \
129
- " gapic-generator-java-${gapic_generator_version} .jar"
130
- return
116
+ # first, try to fetch the generator locally
117
+ local local_fetch_successful=$( copy_from " $HOME /.m2/repository/com/google/api/${project} /${gapic_generator_version} /${artifact} " \
118
+ " ${artifact} " )
119
+ if [[ " ${local_fetch_successful} " == " false" ]]; then
120
+ # download gapic-generator-java artifact from Google maven central mirror if not
121
+ # found locally
122
+ >&2 echo " ${artifact} not found locally. Attempting a download from Maven Central"
123
+ download_from \
124
+ " https://maven-central.storage-download.googleapis.com/maven2/com/google/api/${project} /${gapic_generator_version} /${artifact} " \
125
+ " ${artifact} "
126
+ >&2 echo " ${artifact} found and downloaded from Maven Central"
127
+ else
128
+ >&2 echo " ${artifact} found copied from local repository (~/.m2)"
131
129
fi
132
- # download gapic-generator-java from Google maven central mirror.
133
- download_from \
134
- " https://maven-central.storage-download.googleapis.com/maven2/com/google/api/gapic-generator-java/${gapic_generator_version} /gapic-generator-java-${gapic_generator_version} .jar" \
135
- " gapic-generator-java-${gapic_generator_version} .jar"
136
130
fi
137
131
}
138
132
@@ -174,17 +168,19 @@ download_from() {
174
168
curl -LJ -o " ${save_as} " --fail -m 30 --retry 2 " $url " || download_fail " ${save_as} " " ${repo} "
175
169
}
176
170
171
+ # copies the specified file in $1 to $2
172
+ # will return "true" if the copy was successful
177
173
copy_from () {
178
174
local local_repo=$1
179
175
local save_as=$2
180
- cp " ${local_repo} " " ${save_as} " || \
181
- download_fail " ${save_as} " " maven local "
176
+ copy_successful= $( cp " ${local_repo} " " ${save_as} " && echo " true " || echo " false " )
177
+ echo " ${copy_successful} "
182
178
}
183
179
184
180
download_fail () {
185
181
local artifact=$1
186
182
local repo=${2:- " maven central mirror" }
187
- >&2 echo " Fail to download ${artifact} from ${repo} repository. Please install ${artifact} first if you want to download a SNAPSHOT ."
183
+ >&2 echo " Fail to download ${artifact} from ${repo} repository. Please install ${artifact} first if you want to use a non-published artifact ."
188
184
exit 1
189
185
}
190
186
0 commit comments