@@ -32,7 +32,6 @@ type Calculator struct {
3232 Logger bard.Logger
3333 // MemoryLimitPath 一般情境不需要調整, 開出來是讓 test 時可以設定細節
3434 MemoryLimitPath * MemoryLimitPath
35- //
3635
3736 JVMOptions * JVMOptions
3837 HeadRoom * HeadRoom
@@ -120,56 +119,38 @@ func (c *Calculator) Execute() (*JavaToolOptions, error) {
120119// https://github.com/paketo-buildpacks/libjvm/blob/main/cmd/helper/main.go
121120// https://github.com/paketo-buildpacks/libjvm/blob/main/build.go#L274
122121func (c * Calculator ) buildHelpers () (h map [string ]sherpa.ExecD , err error ) {
123- var (
124- l = c .Logger
125- cl = libjvm .NewCertificateLoader ()
126-
127- a = helper.ActiveProcessorCount {Logger : l }
128- spc = helper.SecurityProvidersConfigurer {Logger : l }
129- d = helper.LinkLocalDNS {Logger : l }
130- j = helper.JavaOpts {Logger : l }
131- jh = helper.JVMHeapDump {Logger : l }
132- m = helper.MemoryCalculator {
133- Logger : l ,
134- MemoryLimitPathV1 : c .MemoryLimitPath .V1 ,
135- MemoryLimitPathV2 : c .MemoryLimitPath .V2 ,
136- MemoryInfoPath : helper .DefaultMemoryInfoPath ,
137- }
138- o = helper.OpenSSLCertificateLoader {CertificateLoader : cl , Logger : l }
139- s9 = helper.SecurityProvidersClasspath9 {Logger : l }
140- d9 = helper.Debug9 {Logger : l }
141- jm = helper.JMX {Logger : l }
142- n = helper.NMT {Logger : l }
143- jf = helper.JFR {Logger : l }
144- )
122+ l := c .Logger
145123
146- file := "/etc/resolv.conf"
147- d .Config , err = dns .ClientConfigFromFile (file )
124+ d := helper. LinkLocalDNS { Logger : l }
125+ d .Config , err = dns .ClientConfigFromFile ("/etc/resolv.conf" )
148126 if err != nil {
149- return nil , fmt .Errorf ("unable to read DNS client configuration from %s\n %w" , file , err )
127+ return nil , fmt .Errorf ("unable to read DNS client configuration from %s\n %w" , "/etc/resolv.conf" , err )
150128 }
151129
152130 h = map [string ]sherpa.ExecD {
153- helperActiveProcessorCount : a ,
154- helperJavaOpts : j ,
155- helperJvmHeap : jh ,
131+ helperActiveProcessorCount : helper. ActiveProcessorCount { Logger : l } ,
132+ helperJavaOpts : helper. JavaOpts { Logger : l } ,
133+ helperJvmHeap : helper. JVMHeapDump { Logger : l } ,
156134 helperLinkLocalDns : d ,
157- helperMemoryCalculator : m ,
158- helperOpensslCertificateLoader : o ,
159- helperSecurityProvidersClasspath9 : s9 ,
160- helperSecurityProvidersConfigurer : spc ,
161- helperDebug9 : d9 ,
162- helperJmx : jm ,
163- helperNmt : n ,
164- helperJfr : jf ,
135+ helperMemoryCalculator : helper.MemoryCalculator {
136+ Logger : l ,
137+ MemoryLimitPathV1 : c .MemoryLimitPath .V1 ,
138+ MemoryLimitPathV2 : c .MemoryLimitPath .V2 ,
139+ MemoryInfoPath : helper .DefaultMemoryInfoPath ,
140+ },
141+ helperSecurityProvidersClasspath9 : helper.SecurityProvidersClasspath9 {Logger : l },
142+ helperSecurityProvidersConfigurer : helper.SecurityProvidersConfigurer {Logger : l },
143+ helperDebug9 : helper.Debug9 {Logger : l },
144+ helperJmx : helper.JMX {Logger : l },
145+ helperJfr : helper.JFR {Logger : l },
165146 }
166147 // 底層的實作中要求若開啟 jvm-cacert 則必須要設定相關的系統參數, 否則會報錯, 所以針對這個改成沒設定就不要跑了
167- if * c .JVMCacerts = = "" {
168- delete ( h , helperOpensslCertificateLoader )
148+ if * c .JVMCacerts ! = "" {
149+ h [ helperOpensslCertificateLoader ] = helper. OpenSSLCertificateLoader { CertificateLoader : libjvm . NewCertificateLoader (), Logger : l }
169150 }
170151 // 由於關閉 nmt 底層會印出一些關閉的 log, 我不想要看到那些, 所以針對這個改成沒開啟就不要跑了
171- if ! * c .EnableNmt {
172- delete ( h , helperNmt )
152+ if * c .EnableNmt {
153+ h [ helperNmt ] = helper. NMT { Logger : l }
173154 }
174155 return h , nil
175156}
0 commit comments