@@ -35,6 +35,7 @@ HELM_INDEX := $(HELM_OUTPUT_DIR)/index.yaml
3535
3636# helm home
3737HELM_HOME := $(abspath $(WORK_DIR ) /helm)
38+ HELM_CHARTS_WORK_DIR := $(abspath $(WORK_DIR ) /charts)
3839export HELM_HOME
3940
4041# remove the leading `v` for helm chart versions
@@ -56,11 +57,27 @@ $(HELM_HOME): $(HELM)
5657$(HELM_OUTPUT_DIR ) :
5758 @mkdir -p $(HELM_OUTPUT_DIR )
5859
60+ $(HELM_CHARTS_WORK_DIR ) :
61+ @mkdir -p $(HELM_CHARTS_WORK_DIR )
62+
5963define helm.chart
60- $(HELM_OUTPUT_DIR ) /$(1 ) -$(HELM_CHART_VERSION ) .tgz: $(HELM_HOME ) $(HELM_OUTPUT_DIR ) $(shell find $(HELM_CHARTS_DIR ) /$(1 ) -type f)
64+
65+ .helm.package.init.$(1 ) : $(HELM_CHARTS_WORK_DIR )
66+ @rm -rf $(HELM_CHARTS_WORK_DIR ) /$(1 )
67+ @cp -a $(abspath $(HELM_CHARTS_DIR ) /$(1 ) ) $(HELM_CHARTS_WORK_DIR ) /$(1 )
68+ .helm.package.run.$(1 ) : $(HELM_OUTPUT_DIR ) $(HELM_HOME )
6169 @$(INFO ) helm package $(1 ) $(HELM_CHART_VERSION )
62- @$(HELM ) package --version $(HELM_CHART_VERSION ) --app-version $(HELM_CHART_VERSION ) -d $(HELM_OUTPUT_DIR ) $(abspath $( HELM_CHARTS_DIR ) /$(1 ) )
70+ @$(HELM ) package --version $(HELM_CHART_VERSION ) --app-version $(HELM_CHART_VERSION ) -d $(HELM_OUTPUT_DIR ) $(HELM_CHARTS_WORK_DIR ) /$(1 )
6371 @$(OK ) helm package $(1 ) $(HELM_CHART_VERSION )
72+ .helm.package.done.$(1 ) : ; @:
73+ .helm.package.$(1 ) :
74+ @$(MAKE ) .helm.package.init.$(1 )
75+ @$(MAKE ) .helm.package.run.$(1 )
76+ @$(MAKE ) .helm.package.done.$(1 )
77+
78+ .PHONY: .helm.package.init.$(1 ) .helm.package.run.$(1 ) .helm.package.done.$(1 ) .helm.package.$(1 )
79+
80+ $(HELM_OUTPUT_DIR ) /$(1 ) -$(HELM_CHART_VERSION ) .tgz: $(HELM_HOME ) $(HELM_OUTPUT_DIR ) $(shell find $(HELM_CHARTS_DIR ) /$(1 ) -type f)
6481
6582.PHONY: .helm.lint.$(1 )
6683.helm.lint.$(1 ) : $(HELM_HOME )
@@ -79,7 +96,7 @@ helm.lint: .helm.lint.$(1)
7996
8097helm.dep: .helm.dep.$(1 )
8198
82- $(HELM_INDEX ) : $( HELM_OUTPUT_DIR ) / $( 1 ) - $( HELM_CHART_VERSION ) .tgz
99+ $(HELM_INDEX ) : .helm.package. $( 1 )
83100endef
84101$(foreach p,$(HELM_CHARTS),$(eval $(call helm.chart,$(p))))
85102
0 commit comments