This is an automated email from the ASF dual-hosted git repository. kezhenxu94 pushed a commit to branch deps/maven/deps in repository https://gitbox.apache.org/repos/asf/skywalking-eyes.git
commit 57a25cb652e498ac452b450c9fa3b4023af54d7e Author: kezhenxu94 <[email protected]> AuthorDate: Tue Feb 21 09:35:44 2023 +0800 dep/maven: resolve dependencies before analysis --- pkg/deps/maven.go | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/pkg/deps/maven.go b/pkg/deps/maven.go index 3c1a506..4c223f1 100644 --- a/pkg/deps/maven.go +++ b/pkg/deps/maven.go @@ -57,17 +57,13 @@ func (resolver *MavenPomResolver) Resolve(mavenPomFile string, config *ConfigDep return err } + // Attempt to resolve dependencies before loading them + if err := resolver.ResolveDeps(); err != nil { + return fmt.Errorf("dependencies download error") + } deps, err := resolver.LoadDependencies(config) if err != nil { - // attempt to download dependencies - if err = resolver.DownloadDeps(); err != nil { - return fmt.Errorf("dependencies download error") - } - // load again - deps, err = resolver.LoadDependencies(config) - if err != nil { - return err - } + return err } return resolver.ResolveDependencies(deps, config, report) @@ -107,20 +103,24 @@ func (resolver *MavenPomResolver) FindLocalRepository() error { return nil } -func (resolver *MavenPomResolver) DownloadDeps() error { +func (resolver *MavenPomResolver) ResolveDeps() error { cmd := exec.Command(resolver.maven, "dependency:resolve") // #nosec G204 - cmd.Stdout = os.Stdout + cmd.Stdout = io.Discard cmd.Stderr = os.Stderr - err := cmd.Run() - if err == nil { + logger.Log.Debugf("resolving dependencies with command %v", cmd.Args) + + if err := cmd.Run(); err == nil { return nil } - // the failure may be caused by the lack of sub modules, try to install it + + // the failure may be caused by the lack of submodules, try to install it install := exec.Command(resolver.maven, "clean", "install", "-Dcheckstyle.skip=true", "-Drat.skip=true", "-Dmaven.test.skip=true") // #nosec G204 - install.Stdout = os.Stdout + install.Stdout = io.Discard install.Stderr = os.Stderr + logger.Log.Debugf("resolving dependencies with command %v", install.Args) + return install.Run() }
