- Restructured info.go with extracted helper functions for better readability - Enhanced updateassets.go with cleaner asset processing logic and better error handling - Improved client.go formatting and logging consistency - Added logs.go for centralized logging functionality - Updated dependencies in go.mod to include tint as direct dependency - Cleaned up README.md with simplified installation instructions and structure - Added comprehensive assets/ directory with build configuration 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
53 lines
No EOL
1.9 KiB
Makefile
53 lines
No EOL
1.9 KiB
Makefile
# ====================================================================================
|
|
# Development and Debugging
|
|
# ====================================================================================
|
|
|
|
## Setup dlv for attaching, identifying the plugin PID for other targets.
|
|
.PHONY: setup-attach
|
|
setup-attach:
|
|
$(eval PLUGIN_PID := $(shell ps aux | grep "plugins/${PLUGIN_ID}" | grep -v "grep" | awk -F " " '{print $$2}'))
|
|
$(eval NUM_PID := $(shell echo -n ${PLUGIN_PID} | wc -w))
|
|
|
|
@if [ ${NUM_PID} -gt 2 ]; then \
|
|
echo "** There is more than 1 plugin process running. Run 'make kill reset' to restart just one."; \
|
|
exit 1; \
|
|
fi
|
|
|
|
## Check if setup-attach succeeded.
|
|
.PHONY: check-attach
|
|
check-attach:
|
|
@if [ -z ${PLUGIN_PID} ]; then \
|
|
echo "Could not find plugin PID; the plugin is not running. Exiting."; \
|
|
exit 1; \
|
|
else \
|
|
echo "Located Plugin running with PID: ${PLUGIN_PID}"; \
|
|
fi
|
|
|
|
## Attach dlv to an existing plugin instance.
|
|
.PHONY: attach
|
|
attach: setup-attach check-attach
|
|
dlv attach ${PLUGIN_PID}
|
|
|
|
## Attach dlv to an existing plugin instance, exposing a headless instance on $DLV_DEBUG_PORT.
|
|
.PHONY: attach-headless
|
|
attach-headless: setup-attach check-attach
|
|
dlv attach ${PLUGIN_PID} --listen :$(DLV_DEBUG_PORT) --headless=true --api-version=2 --accept-multiclient
|
|
|
|
## Detach dlv from an existing plugin instance, if previously attached.
|
|
.PHONY: detach
|
|
detach: setup-attach
|
|
@DELVE_PID=$(shell ps aux | grep "dlv attach ${PLUGIN_PID}" | grep -v "grep" | awk -F " " '{print $$2}') && \
|
|
if [ "$$DELVE_PID" -gt 0 ] > /dev/null 2>&1 ; then \
|
|
echo "Located existing delve process running with PID: $$DELVE_PID. Killing." ; \
|
|
kill -9 $$DELVE_PID ; \
|
|
fi
|
|
|
|
## Kill all instances of the plugin, detaching any existing dlv instance.
|
|
.PHONY: kill
|
|
kill: detach
|
|
$(eval PLUGIN_PID := $(shell ps aux | grep "plugins/${PLUGIN_ID}" | grep -v "grep" | awk -F " " '{print $$2}'))
|
|
|
|
@for PID in ${PLUGIN_PID}; do \
|
|
echo "Killing plugin pid $$PID"; \
|
|
kill -9 $$PID; \
|
|
done; \
|