13
13
# See the License for the specific language governing permissions and
14
14
# limitations under the License.
15
15
16
- # Update the Godeps/LICENSES document.
16
+ # Update the vendor/ALL_LICENSES document.
17
17
# Generates a table of Godep dependencies and their license.
18
18
#
19
19
# Usage:
24
24
# additionally created files into the vendor auto-generated tree.
25
25
#
26
26
# Run every time a license file is added/modified within /vendor to
27
- # update /Godeps/LICENSES
27
+ # update /vendor/ALL_LICENSES
28
28
29
29
set -o errexit
30
30
set -o nounset
31
31
set -o pipefail
32
32
33
+ KUBE_ROOT=$( dirname " ${BASH_SOURCE[0]} " ) /..
34
+ source " ${KUBE_ROOT} /hack/lib/init.sh"
35
+
33
36
export LANG=C
34
37
export LC_ALL=C
35
38
@@ -130,8 +133,6 @@ process_content () {
130
133
# ############################################################################
131
134
# MAIN
132
135
# ############################################################################
133
- KUBE_ROOT=$( dirname " ${BASH_SOURCE[0]} " ) /..
134
- source " ${KUBE_ROOT} /hack/lib/init.sh"
135
136
136
137
export GO111MODULE=on
137
138
153
154
LICENSE_ROOT=" ${LICENSE_ROOT:- ${KUBE_ROOT} } "
154
155
cd " ${LICENSE_ROOT} "
155
156
156
- VENDOR_LICENSE_FILE=" Godeps/LICENSES"
157
- TMP_LICENSE_FILE=" /tmp/Godeps.LICENSES.$$ "
157
+ kube::util::ensure-temp-dir
158
+
159
+ # Save the genreated LICENSE file for each package temporarily
160
+ TMP_LICENSE_FILE=" ${KUBE_TEMP} /vendor.LICENSES.$$ "
161
+
162
+ # The directory to save all the LICENSE files
163
+ VENDOR_LICENSE_DIR=" ${LICENSE_ROOT} /vendor/ALL_LICENSES"
164
+
165
+ # The tmp directory to save all the LICENSE files, will move to VENDOR_LICENSE_DIR
166
+ TMP_VENDOR_LICENSE_DIR=" ${KUBE_TEMP} /vendor.LICENSES.DIR.$$ "
167
+
168
+ mkdir -p " ${TMP_VENDOR_LICENSE_DIR} "
169
+
158
170
DEPS_DIR=" vendor"
159
171
declare -Ag CONTENT
160
172
@@ -167,7 +179,8 @@ cat "${LICENSE_ROOT}/LICENSE"
167
179
echo
168
180
echo " = LICENSE $( kube::util::md5 " ${LICENSE_ROOT} /LICENSE" ) "
169
181
echo " ================================================================================"
170
- ) > ${TMP_LICENSE_FILE}
182
+ ) > " ${TMP_LICENSE_FILE} "
183
+ mv " ${TMP_LICENSE_FILE} " " ${TMP_VENDOR_LICENSE_DIR} /LICENSE"
171
184
172
185
# Loop through every vendored package
173
186
for PACKAGE in $( go list -m -json all | jq -r .Path | sort -f) ; do
@@ -184,11 +197,10 @@ for PACKAGE in $(go list -m -json all | jq -r .Path | sort -f); do
184
197
process_content " ${PACKAGE} " COPYRIGHT
185
198
process_content " ${PACKAGE} " COPYING
186
199
187
- # display content
188
- echo
189
- echo " ================================================================================"
190
- echo " = ${DEPS_DIR} /${PACKAGE} licensed under: ="
191
- echo
200
+ # copy content and throw error message
201
+ {
202
+ echo " = ${DEPS_DIR} /${PACKAGE} licensed under: ="
203
+ echo
192
204
193
205
file=" "
194
206
if [[ -n " ${CONTENT[${PACKAGE}-LICENSE]-} " ]]; then
@@ -211,12 +223,20 @@ Options:
211
223
__EOF__
212
224
exit 9
213
225
fi
214
- cat " ${file} "
226
+
227
+ cat " ${file} "
228
+ echo
229
+ echo " = ${file} $( kube::util::md5 " ${file} " ) "
230
+ } >> " ${TMP_LICENSE_FILE} "
215
231
216
- echo
217
- echo " = ${file} $( kube::util::md5 " ${file} " ) "
218
- echo " ================================================================================"
219
- echo
220
- done >> ${TMP_LICENSE_FILE}
221
232
222
- cat ${TMP_LICENSE_FILE} > ${VENDOR_LICENSE_FILE}
233
+ dest_dir=" ${TMP_VENDOR_LICENSE_DIR} /${PACKAGE} "
234
+ mkdir -p " ${dest_dir} "
235
+ mv " ${TMP_LICENSE_FILE} " " ${dest_dir} /LICENSE"
236
+ done
237
+
238
+ if [[ -d " ${VENDOR_LICENSE_DIR} " ]]; then
239
+ rm -r " ${VENDOR_LICENSE_DIR} "
240
+ fi
241
+ mv " ${TMP_VENDOR_LICENSE_DIR} " " ${VENDOR_LICENSE_DIR} "
242
+
0 commit comments