How to bump up Zipkin Lens dependency
Because SkyWalking embeds Zipkin Lens UI as a part of the SkyWalking UI, and Zipkin Lens UI contains a lot of other front-end dependencies that we also distribute in SkyWalking binary tars, so we have to take care of the dependencies' licenses when we bump up the Zipkin Lens dependency.
Make sure to do the following steps when you bump up the Zipkin Lens dependency:
- Clone the Zipkin project into a directory.
ZIPKIN_VERSION=<the Zipkin version you want to bump to>
git clone https://github.com/openzipkin/zipkin && cd zipkin
git checkout $ZIPKIN_VERSION
cd zipkin-lens
- Create
.licenserc.yaml
with the following content.
cat > .licenserc.yaml << EOF
header:
license:
spdx-id: Apache-2.0
copyright-owner: Apache Software Foundation
dependency:
files:
- package.json
licenses:
- name: cli-table
version: 0.3.1
license: MIT
- name: domutils
version: 1.5.1
license: BSD-2-Clause
- name: rework
version: 1.0.1
license: MIT
EOF
- Create license template
LICENSE.tpl
with the following content.
{{ range .Groups }}
========================================================================
{{ .LicenseID }} licenses
========================================================================
The following components are provided under the {{ .LicenseID }} License. See project link for details.
{{- if eq .LicenseID "Apache-2.0" }}
The text of each license is the standard Apache 2.0 license.
{{- else }}
The text of each license is also included in licenses/LICENSE-[project].txt.
{{ end }}
{{- range .Deps }}
https://npmjs.com/package/{{ .Name }}/v/{{ .Version }} {{ .Version }} {{ .LicenseID }}
{{- end }}
{{ end }}
- Make sure you’re using the supported NodeJS version and NPM version.
node -v
# should be v14.x.x
npm -v
# should be 6.x.x
- Run the following command to generate the license file.
license-eye dependency resolve --summary LICENSE.tpl
- Copy the generated file
LICENSE
to replace thezipkin-LICENSE
in SkyWalking repo.
Note: if there are dependencies that license-eye failed to identify the license, you should manually
identify the license and add it to the step above in .licenserc.yaml
.