| commit | 098137bbced8793a5029855946a045430e4942b1 | [log] [tgz] |
|---|---|---|
| author | Joey Armstrong <joey@opennetworking.org> | Sat Mar 02 09:04:39 2024 -0500 |
| committer | Joey Armstrong <joey@opennetworking.org> | Wed Mar 06 14:55:12 2024 -0500 |
| tree | 3a01d6eec03f46885ad86c615dc80d37b4a3caf7 | |
| parent | c579d4bbafb2fd61bb64c8cd02cba978e836c503 [diff] |
Misc cleanups
Makefile
o Update license to ONF v1.1 and add SPDX tokens.
o Fix local-protos & local-lib-go var handling. Ifdef var check
becomes a nop when undef, instead complain var(s) are not defined.
o Replace cp with rsync --checksum.
o Replace hardcoded paths with variables to shorten and remove dups.
o Move inlined ('##') help text into the help target:
Display extraction logic breaks when make targets are changed
into double-colon rules (target : dep => target :: dep).
o Added target 'view' for rendering README.md.
[HOWTO: test]
% make view
% make help | grep -e 'view' -e 'local-'
% make local-protos
% make local-protos LOCAL_PROTOS=/dev/null
Change-Id: Ide710cdcdeaf239a745c4cb285ce857e9ac66df1
The OpenOLT adapter connects the VOLTHA core to an OLT device running the OpenOLT agent.
make targetsThe Makefile contains many commands that are useful in development:
% make help build : Alias for 'docker build' clean : Removes any local filesystem artifacts generated by a build distclean : Removes any local filesystem artifacts generated by a build or test run docker-build-profile : Build openolt adapter docker image with profiling enabled docker-build : Build openolt adapter docker image docker-kind-load : Load docker images into a KinD cluster docker-push : Push the docker images to an external repository help : Print help for each Makefile target lint-dockerfile : Perform static analysis on Dockerfile lint-mod : Verify the Go dependencies lint : Run all lint targets local-lib-go : Copies a local version of the voltha-lib-go dependency into the vendor directory local-protos : Copies a local version of the voltha-protos dependency into the vendor directory mod-update : Update go mod files sca : Runs static code analysis with the golangci-lint tool test : Run unit tests
Some highlights:
It's recommended that you run the lint, sca, and test targets before submitting code changes.
The docker-* targets for building and pushing Docker images depend on the variables DOCKER_REGISTRY, DOCKER_REPOSITORY, and DOCKER_TAG as described in the CORD documentation
If you make changes the dependencies in the go.mod file, you will need to run make mod-update to update the go.sum and vendor directory.
voltha-protos or voltha-lib-goIf you want to build/test using a local copy of the voltha-protos or voltha-lib-go libraries this can be accomplished by using the environment variables LOCAL_PROTOS and LOCAL_LIB_GO. These environment variables should be set to the filesystem path where the local source is located, e.g.:
export LOCAL_PROTOS=/path/to/voltha-protos export LOCAL_LIB_GO=/path/to/voltha-lib-go
Then run make local-protos and/or make local-lib-go as is appropriate to copy them into the vendor directory.
NOTE: That the files in the
vendordirectory are no longer what is in the most recent commit, and it will take manualgitintervention to put the original files back.