This is an automated email from the ASF dual-hosted git repository.

nferraro pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git

commit 5f2c9e025d99575ea8274d04e2dd91d0546ecde7
Author: Doru Bercea <[email protected]>
AuthorDate: Tue Oct 27 14:45:49 2020 -0400

    Refactor output of dependencies.
---
 pkg/cmd/inspect.go | 90 ++++++++++++++++++++++++++++++++----------------------
 1 file changed, 54 insertions(+), 36 deletions(-)

diff --git a/pkg/cmd/inspect.go b/pkg/cmd/inspect.go
index a4539ff..2c96a19 100644
--- a/pkg/cmd/inspect.go
+++ b/pkg/cmd/inspect.go
@@ -166,11 +166,9 @@ func (command *inspectCmdOptions) run(args []string) error 
{
        // Fetch existing catalog or create new one if one does not already 
exist.
        catalog, err := createCamelCatalog()
 
-       // Output top-level dependencies.
-       outputTopLevel := !command.AllDependencies
-
        // Get top-level dependencies, this is the default behavior when no 
other options are provided.
-       dependencies, err := getTopLevelDependencies(catalog, 
command.OutputFormat, args, outputTopLevel)
+       // Do not output these options when transitive options are enbled.
+       dependencies, err := getTopLevelDependencies(catalog, 
command.OutputFormat, args, !command.AllDependencies)
        if err != nil {
                return err
        }
@@ -178,7 +176,6 @@ func (command *inspectCmdOptions) run(args []string) error {
        // Add additional user-provided dependencies.
        if command.AdditionalDependencies != nil {
                for _, additionalDependency := range 
command.AdditionalDependencies {
-                       fmt.Printf(" Dep : %v \n", additionalDependency)
                        dependencies = append(dependencies, 
additionalDependency)
                }
        }
@@ -195,7 +192,7 @@ func (command *inspectCmdOptions) run(args []string) error {
        return nil
 }
 
-func getTopLevelDependencies(catalog *camel.RuntimeCatalog, format string, 
args []string, outputTopLevel bool) ([]string, error) {
+func getTopLevelDependencies(catalog *camel.RuntimeCatalog, format string, 
args []string, outputPlainText bool) ([]string, error) {
        // List of top-level dependencies.
        dependencies := strset.New()
 
@@ -218,17 +215,11 @@ func getTopLevelDependencies(catalog 
*camel.RuntimeCatalog, format string, args
                dependencies.Merge(trait.AddSourceDependencies(sourceSpec, 
catalog))
        }
 
-       if format != "" {
-               err := printDependencies(format, dependencies)
-               if err != nil {
-                       return []string{}, err
-               }
-       } else if outputTopLevel {
-               // Print output in text form.
-               for _, dep := range dependencies.List() {
-                       fmt.Printf("%v\n", dep)
-               }
+       err := outputDependencies(dependencies.List(), format, outputPlainText)
+       if err != nil {
+               return []string{}, err
        }
+
        return dependencies.List(), nil
 }
 
@@ -251,26 +242,6 @@ func generateCatalog() (*camel.RuntimeCatalog, error) {
        return catalog, nil
 }
 
-func printDependencies(format string, dependecies *strset.Set) error {
-       switch format {
-       case "yaml":
-               data, err := util.DependenciesToYAML(dependecies.List())
-               if err != nil {
-                       return err
-               }
-               fmt.Print(string(data))
-       case "json":
-               data, err := util.DependenciesToJSON(dependecies.List())
-               if err != nil {
-                       return err
-               }
-               fmt.Print(string(data))
-       default:
-               return errors.New("unknown output format: " + format)
-       }
-       return nil
-}
-
 func getTransitiveDependencies(
        catalog *camel.RuntimeCatalog,
        dependencies []string,
@@ -312,16 +283,63 @@ func getTransitiveDependencies(
                return err
        }
 
+       // Dump dependencies in the dependencies directory and construct the 
list of dependencies.
+       transitiveDependencies := []string{}
        for _, entry := range artifacts {
                // Copy dependencies from Maven default directory to the 
DependenciesDirectory.
                _, err := util.CopyFile(entry.Location, entry.Target)
                if err != nil {
                        return err
                }
+
+               transitiveDependencies = append(transitiveDependencies, 
entry.Target)
        }
 
+       // Remove directory used for computing the dependencies.
        defer os.RemoveAll(temporaryDirectory)
 
+       // Output transitive dependencies only if requested via the output 
format flag.
+       err = outputDependencies(transitiveDependencies, command.OutputFormat, 
false)
+       if err != nil {
+               return err
+       }
+
+       return nil
+}
+
+func outputDependencies(dependencies []string, format string, outputPlainText 
bool) error {
+       if format != "" {
+               err := printDependencies(format, dependencies)
+               if err != nil {
+                       return err
+               }
+       } else if outputPlainText {
+               // Print output in text form.
+               for _, dep := range dependencies {
+                       fmt.Printf("%v\n", dep)
+               }
+       }
+
+       return nil
+}
+
+func printDependencies(format string, dependecies []string) error {
+       switch format {
+       case "yaml":
+               data, err := util.DependenciesToYAML(dependecies)
+               if err != nil {
+                       return err
+               }
+               fmt.Print(string(data))
+       case "json":
+               data, err := util.DependenciesToJSON(dependecies)
+               if err != nil {
+                       return err
+               }
+               fmt.Print(string(data))
+       default:
+               return errors.New("unknown output format: " + format)
+       }
        return nil
 }
 

Reply via email to