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

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

commit 0bf9b8177ef82d2a3e15f3ef186a69b247e342c9
Author: Antonin Stefanutti <[email protected]>
AuthorDate: Wed Oct 30 11:18:59 2019 +0100

    feat(quarkus): Add Camel Quarkus dependency to on-the-flight catalog 
generation
---
 pkg/trait/quarkus.go      | 16 ++++++++++++----
 pkg/util/camel/catalog.go | 12 +++++-------
 2 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/pkg/trait/quarkus.go b/pkg/trait/quarkus.go
index 1a3bff4..e51016b 100644
--- a/pkg/trait/quarkus.go
+++ b/pkg/trait/quarkus.go
@@ -84,10 +84,18 @@ func (t *quarkusTrait) loadOrCreateCatalog(e *Environment, 
camelVersion string,
                        exactVersionRegexp.MatchString(camelQuarkusVersion) && 
exactVersionRegexp.MatchString(quarkusVersion) {
                        catalog, err = camel.GenerateCatalogWithProvider(e.C, 
e.Client, ns, e.Platform.Spec.Build.Maven, camelVersion, runtimeVersion,
                                "quarkus",
-                               &maven.Dependency{
-                                       GroupID:    "org.apache.camel.quarkus",
-                                       ArtifactID: "camel-catalog-quarkus",
-                                       Version:    camelQuarkusVersion,
+                               []maven.Dependency{
+                                       {
+                                               GroupID:    
"org.apache.camel.quarkus",
+                                               ArtifactID: 
"camel-catalog-quarkus",
+                                               Version:    camelQuarkusVersion,
+                                       },
+                                       // This is required to retrieve the 
Quarkus dependency version
+                                       {
+                                               GroupID:    
"org.apache.camel.quarkus",
+                                               ArtifactID: 
"camel-quarkus-core",
+                                               Version:    camelQuarkusVersion,
+                                       },
                                })
                        if err != nil {
                                return err
diff --git a/pkg/util/camel/catalog.go b/pkg/util/camel/catalog.go
index b83eebc..17224ea 100644
--- a/pkg/util/camel/catalog.go
+++ b/pkg/util/camel/catalog.go
@@ -69,12 +69,12 @@ func catalogForRuntimeProvider(provider interface{}) 
(*RuntimeCatalog, error) {
 // GenerateCatalog --
 func GenerateCatalog(ctx context.Context, client k8sclient.Reader, namespace 
string, mvn v1alpha1.MavenSpec,
        camelVersion string, runtimeVersion string) (*RuntimeCatalog, error) {
-       return GenerateCatalogWithProvider(ctx, client, namespace, mvn, 
camelVersion, runtimeVersion, "", nil)
+       return GenerateCatalogWithProvider(ctx, client, namespace, mvn, 
camelVersion, runtimeVersion, "", []maven.Dependency{})
 }
 
 // GenerateCatalogWithProvider --
 func GenerateCatalogWithProvider(ctx context.Context, client k8sclient.Reader, 
namespace string, mvn v1alpha1.MavenSpec,
-       camelVersion string, runtimeVersion string, providerName string, 
providerDependency *maven.Dependency) (*RuntimeCatalog, error) {
+       camelVersion string, runtimeVersion string, providerName string, 
providerDependencies []maven.Dependency) (*RuntimeCatalog, error) {
        root := os.TempDir()
        tmpDir, err := ioutil.TempDir(root, "camel-catalog")
        if err != nil {
@@ -87,7 +87,7 @@ func GenerateCatalogWithProvider(ctx context.Context, client 
k8sclient.Reader, n
                return nil, err
        }
 
-       project := generateMavenProject(camelVersion, runtimeVersion, 
providerDependency)
+       project := generateMavenProject(camelVersion, runtimeVersion, 
providerDependencies)
 
        mc := maven.NewContext(tmpDir, project)
        mc.LocalRepository = mvn.LocalRepository
@@ -124,7 +124,7 @@ func GenerateCatalogWithProvider(ctx context.Context, 
client k8sclient.Reader, n
        return NewRuntimeCatalog(catalog.Spec), nil
 }
 
-func generateMavenProject(camelVersion string, runtimeVersion string, 
providerDependency *maven.Dependency) maven.Project {
+func generateMavenProject(camelVersion string, runtimeVersion string, 
providerDependencies []maven.Dependency) maven.Project {
        p := maven.NewProjectWithGAV("org.apache.camel.k.integration", 
"camel-k-catalog-generator", defaults.Version)
 
        plugin := maven.Plugin{
@@ -148,9 +148,7 @@ func generateMavenProject(camelVersion string, 
runtimeVersion string, providerDe
                },
        }
 
-       if providerDependency != nil {
-               plugin.Dependencies = append(plugin.Dependencies, 
*providerDependency)
-       }
+       plugin.Dependencies = append(plugin.Dependencies, 
providerDependencies...)
 
        p.Build = &maven.Build{
                DefaultGoal: "generate-resources",

Reply via email to