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 95ad3c0c9d1b45388133579de0326d3cdc0683b5
Author: Doru Bercea <gheorghe-teod.ber...@ibm.com>
AuthorDate: Thu Nov 5 11:48:17 2020 -0500

    Move to quarkus.
---
 pkg/builder/runtime/quarkus.go | 82 +++++++++++++++++++++++++++++++-----------
 pkg/cmd/inspect.go             | 15 ++++++--
 2 files changed, 74 insertions(+), 23 deletions(-)

diff --git a/pkg/builder/runtime/quarkus.go b/pkg/builder/runtime/quarkus.go
index 06655dc..a98faba 100644
--- a/pkg/builder/runtime/quarkus.go
+++ b/pkg/builder/runtime/quarkus.go
@@ -62,14 +62,23 @@ func loadCamelQuarkusCatalog(ctx *builder.Context) error {
 }
 
 func generateQuarkusProject(ctx *builder.Context) error {
+       p := 
GenerateQuarkusProjectCommon(ctx.Build.Runtime.Metadata["camel-quarkus.version"],
 ctx.Build.Runtime.Version, ctx.Build.Runtime.Metadata["quarkus.version"])
+
+       // Add all the properties from the build configuration
+       p.Properties.AddAll(ctx.Build.Properties)
+
+       ctx.Maven.Project = p
+
+       return nil
+}
+
+// GenerateQuarkusProjectCommon --
+func GenerateQuarkusProjectCommon(camelQuarkusVersion string, runtimeVersion 
string, quarkusVersion string) maven.Project {
        p := maven.NewProjectWithGAV("org.apache.camel.k.integration", 
"camel-k-integration", defaults.Version)
        p.DependencyManagement = &maven.DependencyManagement{Dependencies: 
make([]maven.Dependency, 0)}
        p.Dependencies = make([]maven.Dependency, 0)
        p.Build = &maven.Build{Plugins: make([]maven.Plugin, 0)}
 
-       // Add all the properties from the build configuration
-       p.Properties.AddAll(ctx.Build.Properties)
-
        // camel-quarkus doe routes discovery at startup but we don't want
        // this to happen as routes are loaded at runtime and looking for
        // routes at build time may try to load camel-k-runtime routes builder
@@ -84,14 +93,14 @@ func generateQuarkusProject(ctx *builder.Context) error {
                maven.Dependency{
                        GroupID:    "org.apache.camel.quarkus",
                        ArtifactID: "camel-quarkus-bom",
-                       Version:    
ctx.Build.Runtime.Metadata["camel-quarkus.version"],
+                       Version:    camelQuarkusVersion,
                        Type:       "pom",
                        Scope:      "import",
                },
                maven.Dependency{
                        GroupID:    "org.apache.camel.k",
                        ArtifactID: "camel-k-runtime-bom",
-                       Version:    ctx.Build.Runtime.Version,
+                       Version:    runtimeVersion,
                        Type:       "pom",
                        Scope:      "import",
                },
@@ -102,7 +111,7 @@ func generateQuarkusProject(ctx *builder.Context) error {
                maven.Plugin{
                        GroupID:    "io.quarkus",
                        ArtifactID: "quarkus-maven-plugin",
-                       Version:    
ctx.Build.Runtime.Metadata["quarkus.version"],
+                       Version:    quarkusVersion,
                        Executions: []maven.Execution{
                                {
                                        Goals: []string{
@@ -113,9 +122,7 @@ func generateQuarkusProject(ctx *builder.Context) error {
                },
        )
 
-       ctx.Maven.Project = p
-
-       return nil
+       return p
 }
 
 func buildQuarkusRunner(ctx *builder.Context) error {
@@ -124,6 +131,16 @@ func buildQuarkusRunner(ctx *builder.Context) error {
        mc.LocalRepository = ctx.Build.Maven.LocalRepository
        mc.Timeout = ctx.Build.Maven.GetTimeout().Duration
 
+       err := BuildQuarkusRunnerCommon(mc)
+       if err != nil {
+               return err
+       }
+
+       return nil
+}
+
+// BuildQuarkusRunnerCommon --
+func BuildQuarkusRunnerCommon(mc maven.Context) error {
        resourcesPath := path.Join(mc.Path, "src", "main", "resources")
        if err := os.MkdirAll(resourcesPath, os.ModePerm); err != nil {
                return errors.Wrap(err, "failure while creating resource 
folder")
@@ -154,30 +171,55 @@ func computeQuarkusDependencies(ctx *builder.Context) 
error {
        mc.LocalRepository = ctx.Build.Maven.LocalRepository
        mc.Timeout = ctx.Build.Maven.GetTimeout().Duration
 
+       // Compute dependencies.
+       content, err := ComputeQuarkusDependenciesCommon(mc, 
ctx.Catalog.Runtime.Version)
+       if err != nil {
+               return err
+       }
+
+       // Process artifacts list and add it to existing artifacts.
+       artifacts := []v1.Artifact{}
+       artifacts, err = ProcessQuarkusTransitiveDependencies(mc, content)
+       if err != nil {
+               return err
+       }
+       ctx.Artifacts = append(ctx.Artifacts, artifacts...)
+
+       return nil
+}
+
+// ComputeQuarkusDependenciesCommon --
+func ComputeQuarkusDependenciesCommon(mc maven.Context, runtimeVersion string) 
([]byte, error) {
        // Retrieve the runtime dependencies
-       
mc.AddArgumentf("org.apache.camel.k:camel-k-maven-plugin:%s:generate-dependency-list",
 ctx.Catalog.Runtime.Version)
+       
mc.AddArgumentf("org.apache.camel.k:camel-k-maven-plugin:%s:generate-dependency-list",
 runtimeVersion)
        if err := maven.Run(mc); err != nil {
-               return errors.Wrap(err, "failure while determining classpath")
+               return nil, errors.Wrap(err, "failure while determining 
classpath")
        }
 
        dependencies := path.Join(mc.Path, "target", "dependencies.yaml")
        content, err := ioutil.ReadFile(dependencies)
        if err != nil {
-               return err
+               return nil, err
        }
 
+       return content, nil
+}
+
+// ProcessQuarkusTransitiveDependencies --
+func ProcessQuarkusTransitiveDependencies(mc maven.Context, content []byte) 
([]v1.Artifact, error) {
        cp := make(map[string][]v1.Artifact)
-       err = yaml2.Unmarshal(content, &cp)
+       err := yaml2.Unmarshal(content, &cp)
        if err != nil {
-               return err
+               return nil, err
        }
 
+       artifacts := []v1.Artifact{}
        for _, e := range cp["dependencies"] {
                _, fileName := path.Split(e.Location)
 
                gav, err := maven.ParseGAV(e.ID)
                if err != nil {
-                       return err
+                       return nil, err
                }
 
                //
@@ -186,13 +228,13 @@ func computeQuarkusDependencies(ctx *builder.Context) 
error {
                if e.Checksum == "" {
                        chksum, err := digest.ComputeSHA1(e.Location)
                        if err != nil {
-                               return err
+                               return nil, err
                        }
 
                        e.Checksum = "sha1:" + chksum
                }
 
-               ctx.Artifacts = append(ctx.Artifacts, v1.Artifact{
+               artifacts = append(artifacts, v1.Artifact{
                        ID:       e.ID,
                        Location: e.Location,
                        Target:   path.Join("dependencies", 
gav.GroupID+"."+fileName),
@@ -207,15 +249,15 @@ func computeQuarkusDependencies(ctx *builder.Context) 
error {
        //
        runnerChecksum, err := digest.ComputeSHA1(mc.Path, "target", runner)
        if err != nil {
-               return err
+               return nil, err
        }
 
-       ctx.Artifacts = append(ctx.Artifacts, v1.Artifact{
+       artifacts = append(artifacts, v1.Artifact{
                ID:       runner,
                Location: path.Join(mc.Path, "target", runner),
                Target:   path.Join("dependencies", runner),
                Checksum: "sha1:" + runnerChecksum,
        })
 
-       return nil
+       return artifacts, nil
 }
diff --git a/pkg/cmd/inspect.go b/pkg/cmd/inspect.go
index 3eef300..e580552 100644
--- a/pkg/cmd/inspect.go
+++ b/pkg/cmd/inspect.go
@@ -220,7 +220,10 @@ func getTransitiveDependencies(
        }
 
        // Create Maven project.
-       project := 
runtime.GenerateProjectCommon(catalog.CamelCatalogSpec.Runtime.Metadata["camel.version"],
 defaults.DefaultRuntimeVersion)
+       //project := 
runtime.GenerateProjectCommon(catalog.CamelCatalogSpec.Runtime.Metadata["camel.version"],
 defaults.DefaultRuntimeVersion)
+       project := runtime.GenerateQuarkusProjectCommon(
+               
catalog.CamelCatalogSpec.Runtime.Metadata["camel-quarkus.version"],
+               defaults.DefaultRuntimeVersion, 
catalog.CamelCatalogSpec.Runtime.Metadata["quarkus.version"])
 
        // Inject dependencies into Maven project.
        err := camel.ManageIntegrationDependencies(&project, dependencies, 
catalog)
@@ -237,16 +240,22 @@ func getTransitiveDependencies(
        mc := maven.NewContext(temporaryDirectory, project)
        mc.LocalRepository = mvn.LocalRepository
        mc.Timeout = mvn.GetTimeout().Duration
+       // mc.Stdout = os.Stderr
+
+       err = runtime.BuildQuarkusRunnerCommon(mc)
+       if err != nil {
+               return err
+       }
 
        // Compute dependencies.
-       content, err := runtime.ComputeDependenciesCommon(mc, 
catalog.Runtime.Version)
+       content, err := runtime.ComputeQuarkusDependenciesCommon(mc, 
catalog.Runtime.Version)
        if err != nil {
                return err
        }
 
        // Compose artifacts list.
        artifacts := []v1.Artifact{}
-       artifacts, err = runtime.ProcessTransitiveDependencies(content)
+       artifacts, err = runtime.ProcessQuarkusTransitiveDependencies(mc, 
content)
        if err != nil {
                return err
        }

Reply via email to