From 389f5d84499d362764cd33e6040ccc08d5249081 Mon Sep 17 00:00:00 2001 From: Juan Manuel Leflet Estrada Date: Thu, 18 Jul 2024 16:44:14 +0200 Subject: [PATCH] :bug: Prevent gradle logic from decompressing jars all the time (#663) The gradle analysis was uncompressing jars every time because of a lack of a check for the existence of the already decompressed directory. - Related to https://github.com/konveyor/tackle2-hub/issues/667 - Partly fixes https://github.com/konveyor/analyzer-lsp/issues/662 Signed-off-by: Juan Manuel Leflet Estrada --- .../pkg/java_external_provider/filter.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/external-providers/java-external-provider/pkg/java_external_provider/filter.go b/external-providers/java-external-provider/pkg/java_external_provider/filter.go index 3e33d14d..3d0d690d 100644 --- a/external-providers/java-external-provider/pkg/java_external_provider/filter.go +++ b/external-providers/java-external-provider/pkg/java_external_provider/filter.go @@ -318,12 +318,14 @@ func (p *javaServiceClient) getURI(refURI string) (string, uri.URI, error) { } javaFileAbsolutePath = filepath.Join(filepath.Dir(sourcesFile), filepath.Dir(path), javaFileName) - cmd := exec.Command("jar", "xf", filepath.Base(sourcesFile)) - cmd.Dir = filepath.Dir(sourcesFile) - err = cmd.Run() - if err != nil { - fmt.Printf("\n java error%v", err) - return "", "", err + if _, err := os.Stat(filepath.Dir(javaFileAbsolutePath)); err != nil { + cmd := exec.Command("jar", "xf", filepath.Base(sourcesFile)) + cmd.Dir = filepath.Dir(sourcesFile) + err = cmd.Run() + if err != nil { + fmt.Printf("\n java error%v", err) + return "", "", err + } } }