@@ -272,7 +272,8 @@ func (p *javaProvider) Init(ctx context.Context, log logr.Logger, config provide
272272 log .Info ("downloading maven artifact" , "artifact" , mvnCoordinates , "options" , mvnOptions )
273273 cmd := exec .CommandContext (ctx , "mvn" , mvnOptions ... )
274274 cmd .Dir = outputDir
275- if err := cmd .Run (); err != nil {
275+ mvnOutput , err := cmd .CombinedOutput ()
276+ if err != nil {
276277 cancelFunc ()
277278 return nil , additionalBuiltinConfig , fmt .Errorf ("error downloading java artifact %s - %w" , mvnUri , err )
278279 }
@@ -282,6 +283,15 @@ func (p *javaProvider) Init(ctx context.Context, log logr.Logger, config provide
282283 downloadedPath = filepath .Join (outputDir ,
283284 fmt .Sprintf ("%s.%s" , strings .Join (mvnCoordinatesParts [1 :3 ], "-" ), strings .ToLower (mvnCoordinatesParts [3 ])))
284285 }
286+ outputLinePattern := regexp .MustCompile (`.*?Copying.*?to (.*)` )
287+ for _ , line := range strings .Split (string (mvnOutput ), "\n " ) {
288+ if outputLinePattern .MatchString (line ) {
289+ match := outputLinePattern .FindStringSubmatch (line )
290+ if match != nil {
291+ downloadedPath = match [1 ]
292+ }
293+ }
294+ }
285295 if _ , err := os .Stat (downloadedPath ); err != nil {
286296 cancelFunc ()
287297 return nil , additionalBuiltinConfig , fmt .Errorf ("failed to download maven artifact to path %s - %w" , downloadedPath , err )
0 commit comments