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 f69d9e255db4640749e763a13e1323914e099ddf
Author: nicolaferraro <[email protected]>
AuthorDate: Tue Apr 13 10:42:03 2021 +0200

    Fix #2170: uniform camel: and camel-quarkus: dependencies
---
 pkg/apis/camel/v1/camelcatalog_types_support.go |   4 +-
 pkg/apis/camel/v1/integration_types_support.go  |   6 +-
 pkg/metadata/metadata_capabilities_test.go      |   4 +-
 pkg/metadata/metadata_dependencies_test.go      | 168 ++++++++++++------------
 pkg/trait/cron_test.go                          |   2 +-
 pkg/trait/dependencies_test.go                  |  16 +--
 pkg/util/camel/camel_dependencies.go            |  21 ++-
 pkg/util/camel/camel_util.go                    |   2 +-
 pkg/util/source/inspector.go                    |   5 -
 pkg/util/source/inspector_yaml_test.go          |  10 +-
 10 files changed, 122 insertions(+), 116 deletions(-)

diff --git a/pkg/apis/camel/v1/camelcatalog_types_support.go 
b/pkg/apis/camel/v1/camelcatalog_types_support.go
index 87fce76..9c0ba61 100644
--- a/pkg/apis/camel/v1/camelcatalog_types_support.go
+++ b/pkg/apis/camel/v1/camelcatalog_types_support.go
@@ -65,10 +65,8 @@ func NewCamelCatalogList() CamelCatalogList {
 // GetDependencyID returns a Camel K recognizable maven dependency for the 
artifact
 func (in *CamelArtifact) GetDependencyID() string {
        switch {
-       case in.GroupID == "org.apache.camel" && 
strings.HasPrefix(in.ArtifactID, "camel-"):
-               return "camel:" + in.ArtifactID[6:]
        case in.GroupID == "org.apache.camel.quarkus" && 
strings.HasPrefix(in.ArtifactID, "camel-quarkus-"):
-               return "camel-quarkus:" + in.ArtifactID[14:]
+               return "camel:" + in.ArtifactID[14:]
        case in.Version == "":
                return "mvn:" + in.GroupID + ":" + in.ArtifactID
        default:
diff --git a/pkg/apis/camel/v1/integration_types_support.go 
b/pkg/apis/camel/v1/integration_types_support.go
index ec7334d..53705c9 100644
--- a/pkg/apis/camel/v1/integration_types_support.go
+++ b/pkg/apis/camel/v1/integration_types_support.go
@@ -116,8 +116,10 @@ func (in *IntegrationSpec) AddDependency(dependency 
string) {
                in.Dependencies = make([]string, 0)
        }
        newDep := dependency
-       if strings.HasPrefix(newDep, "camel-quarkus") {
-               newDep = "camel-quarkus:" + strings.TrimPrefix(dependency, 
"camel-quarkus-")
+       if strings.HasPrefix(newDep, "camel-quarkus-") {
+               newDep = "camel:" + strings.TrimPrefix(dependency, 
"camel-quarkus-")
+       } else if strings.HasPrefix(newDep, "camel-quarkus:") {
+               newDep = "camel:" + strings.TrimPrefix(dependency, 
"camel-quarkus:")
        } else if strings.HasPrefix(newDep, "camel-") {
                newDep = "camel:" + strings.TrimPrefix(dependency, "camel-")
        }
diff --git a/pkg/metadata/metadata_capabilities_test.go 
b/pkg/metadata/metadata_capabilities_test.go
index 2d9d6ce..349e485 100644
--- a/pkg/metadata/metadata_capabilities_test.go
+++ b/pkg/metadata/metadata_capabilities_test.go
@@ -43,8 +43,8 @@ func TestPlatformHttpCapabilities(t *testing.T) {
        assert.ElementsMatch(
                t,
                []string{
-                       "camel-quarkus:platform-http",
-                       "camel-quarkus:log",
+                       "camel:platform-http",
+                       "camel:log",
                },
                meta.Dependencies.List())
 
diff --git a/pkg/metadata/metadata_dependencies_test.go 
b/pkg/metadata/metadata_dependencies_test.go
index 03dfe65..bc4a197 100644
--- a/pkg/metadata/metadata_dependencies_test.go
+++ b/pkg/metadata/metadata_dependencies_test.go
@@ -51,12 +51,12 @@ func TestDependenciesJavaSource(t *testing.T) {
        assert.ElementsMatch(
                t,
                []string{
-                       "camel-quarkus:activemq",
-                       "camel-quarkus:amqp",
-                       "camel-quarkus:log",
-                       "camel-quarkus:telegram",
-                       "camel-quarkus:timer",
-                       "camel-quarkus:twitter",
+                       "camel:activemq",
+                       "camel:amqp",
+                       "camel:log",
+                       "camel:telegram",
+                       "camel:timer",
+                       "camel:twitter",
                },
                meta.Dependencies.List())
 }
@@ -85,11 +85,11 @@ func TestDependenciesJavaScript(t *testing.T) {
        assert.ElementsMatch(
                t,
                []string{
-                       "camel-quarkus:activemq",
-                       "camel-quarkus:amqp",
-                       "camel-quarkus:log",
-                       "camel-quarkus:telegram",
-                       "camel-quarkus:timer",
+                       "camel:activemq",
+                       "camel:amqp",
+                       "camel:log",
+                       "camel:telegram",
+                       "camel:timer",
                },
                meta.Dependencies.List())
 }
@@ -120,12 +120,12 @@ func TestDependenciesGroovy(t *testing.T) {
        assert.ElementsMatch(
                t,
                []string{
-                       "camel-quarkus:activemq",
-                       "camel-quarkus:amqp",
-                       "camel-quarkus:log",
-                       "camel-quarkus:telegram",
-                       "camel-quarkus:timer",
-                       "camel-quarkus:twitter",
+                       "camel:activemq",
+                       "camel:amqp",
+                       "camel:log",
+                       "camel:telegram",
+                       "camel:timer",
+                       "camel:twitter",
                },
                meta.Dependencies.List())
 }
@@ -150,10 +150,10 @@ func TestDependencies(t *testing.T) {
 
        assert.ElementsMatch(t,
                []string{
-                       "camel-quarkus:http",
-                       "camel-quarkus:log",
-                       "camel-quarkus:mock",
-                       "camel-quarkus:twitter",
+                       "camel:http",
+                       "camel:log",
+                       "camel:mock",
+                       "camel:twitter",
                },
                meta.Dependencies.List())
 }
@@ -183,12 +183,12 @@ func TestDependenciesQuarkus(t *testing.T) {
 
        assert.ElementsMatch(t,
                []string{
-                       "camel-quarkus:http",
-                       "camel-quarkus:log",
-                       "camel-quarkus:mock",
-                       "camel-quarkus:timer",
-                       "camel-quarkus:twitter",
-                       "camel-quarkus:direct",
+                       "camel:http",
+                       "camel:log",
+                       "camel:mock",
+                       "camel:timer",
+                       "camel:twitter",
+                       "camel:direct",
                },
                meta.Dependencies.List())
 
@@ -214,9 +214,9 @@ func TestJacksonDependency(t *testing.T) {
        assert.ElementsMatch(
                t,
                []string{
-                       "camel-quarkus:http",
-                       "camel-quarkus:jackson",
-                       "camel-quarkus:log",
+                       "camel:http",
+                       "camel:jackson",
+                       "camel:log",
                },
                meta.Dependencies.List())
 }
@@ -242,9 +242,9 @@ func TestJacksonImplicitDependency(t *testing.T) {
        assert.ElementsMatch(
                t,
                []string{
-                       "camel-quarkus:http",
-                       "camel-quarkus:jackson",
-                       "camel-quarkus:log",
+                       "camel:http",
+                       "camel:jackson",
+                       "camel:log",
                },
                meta.Dependencies.List())
 }
@@ -275,14 +275,14 @@ func TestLanguageDependencies(t *testing.T) {
        assert.ElementsMatch(
                t,
                []string{
-                       "camel-quarkus:direct",
-                       "camel-quarkus:mvel",
-                       "camel-quarkus:ognl",
-                       "camel-quarkus:xpath",
-                       "camel-quarkus:jsonpath",
-                       "camel-quarkus:groovy",
-                       "camel-quarkus:saxon",
-                       "camel-quarkus:xml-jaxp",
+                       "camel:direct",
+                       "camel:mvel",
+                       "camel:ognl",
+                       "camel:xpath",
+                       "camel:jsonpath",
+                       "camel:groovy",
+                       "camel:saxon",
+                       "camel:xml-jaxp",
                },
                meta.Dependencies.List())
 }
@@ -309,10 +309,10 @@ func TestLanguageDependenciesTransformExpression(t 
*testing.T) {
        assert.ElementsMatch(
                t,
                []string{
-                       "camel-quarkus:direct",
-                       "camel-quarkus:ognl",
-                       "camel-quarkus:xpath",
-                       "camel-quarkus:jsonpath",
+                       "camel:direct",
+                       "camel:ognl",
+                       "camel:xpath",
+                       "camel:jsonpath",
                },
                meta.Dependencies.List())
 }
@@ -339,8 +339,8 @@ func TestCircuitBreakerDependency(t *testing.T) {
 
        assert.ElementsMatch(t,
                []string{
-                       "camel-quarkus:http",
-                       "camel-quarkus:log",
+                       "camel:http",
+                       "camel:log",
                },
                meta.Dependencies.List())
 
@@ -370,9 +370,9 @@ func TestRestDependency(t *testing.T) {
        assert.ElementsMatch(
                t,
                []string{
-                       "camel-quarkus:http",
-                       "camel-quarkus:direct",
-                       "camel-quarkus:log",
+                       "camel:http",
+                       "camel:direct",
+                       "camel:log",
                        "mvn:org.apache.camel.quarkus:camel-quarkus-rest",
                        
"mvn:org.apache.camel.quarkus:camel-quarkus-platform-http",
                },
@@ -401,9 +401,9 @@ func TestRestWithPathDependency(t *testing.T) {
 
        assert.ElementsMatch(
                t, []string{
-                       "camel-quarkus:http",
-                       "camel-quarkus:direct",
-                       "camel-quarkus:log",
+                       "camel:http",
+                       "camel:direct",
+                       "camel:log",
                        "mvn:org.apache.camel.quarkus:camel-quarkus-rest",
                        
"mvn:org.apache.camel.quarkus:camel-quarkus-platform-http",
                },
@@ -431,8 +431,8 @@ func TestRestConfigurationDependency(t *testing.T) {
 
        assert.ElementsMatch(
                t, []string{
-                       "camel-quarkus:http",
-                       "camel-quarkus:log",
+                       "camel:http",
+                       "camel:log",
                        "mvn:org.apache.camel.quarkus:camel-quarkus-rest",
                        
"mvn:org.apache.camel.quarkus:camel-quarkus-platform-http",
                },
@@ -461,8 +461,8 @@ func TestRestClosureDependencyGroovy(t *testing.T) {
        assert.ElementsMatch(
                t,
                []string{
-                       "camel-quarkus:http",
-                       "camel-quarkus:log",
+                       "camel:http",
+                       "camel:log",
                        "mvn:org.apache.camel.quarkus:camel-quarkus-rest",
                        
"mvn:org.apache.camel.quarkus:camel-quarkus-platform-http",
                },
@@ -491,8 +491,8 @@ func TestRestClosureDependencyKotlin(t *testing.T) {
        assert.ElementsMatch(
                t,
                []string{
-                       "camel-quarkus:http",
-                       "camel-quarkus:log",
+                       "camel:http",
+                       "camel:log",
                        "mvn:org.apache.camel.quarkus:camel-quarkus-rest",
                        
"mvn:org.apache.camel.quarkus:camel-quarkus-platform-http",
                },
@@ -525,9 +525,9 @@ func TestXMLCircuitBreakerDependency(t *testing.T) {
        assert.ElementsMatch(
                t,
                []string{
-                       "camel-quarkus:direct",
-                       "camel-quarkus:kafka",
-                       "camel-quarkus:log",
+                       "camel:direct",
+                       "camel:kafka",
+                       "camel:log",
                },
                meta.Dependencies.List())
 
@@ -564,8 +564,8 @@ func TestXMLRestDependency(t *testing.T) {
        assert.ElementsMatch(
                t,
                []string{
-                       "camel-quarkus:direct",
-                       "camel-quarkus:mock",
+                       "camel:direct",
+                       "camel:mock",
                },
                meta.Dependencies.List())
 
@@ -620,15 +620,15 @@ func TestXMLLanguageDependencies(t *testing.T) {
        assert.ElementsMatch(
                t,
                []string{
-                       "camel-quarkus:core",
-                       "camel-quarkus:direct",
-                       "camel-quarkus:mvel",
-                       "camel-quarkus:ognl",
-                       "camel-quarkus:xpath",
-                       "camel-quarkus:xml-jaxp",
-                       "camel-quarkus:jsonpath",
-                       "camel-quarkus:saxon",
-                       "camel-quarkus:groovy",
+                       "camel:core",
+                       "camel:direct",
+                       "camel:mvel",
+                       "camel:ognl",
+                       "camel:xpath",
+                       "camel:xml-jaxp",
+                       "camel:jsonpath",
+                       "camel:saxon",
+                       "camel:groovy",
                },
                meta.Dependencies.List())
 }
@@ -690,8 +690,8 @@ func TestYAMLRestDependency(t *testing.T) {
        assert.ElementsMatch(
                t,
                []string{
-                       "camel-quarkus:direct",
-                       "camel-quarkus:log",
+                       "camel:direct",
+                       "camel:log",
                },
                meta.Dependencies.List())
 
@@ -716,7 +716,7 @@ func TestYAMLCircuitBreakerDependency(t *testing.T) {
        assert.ElementsMatch(
                t,
                []string{
-                       "camel-quarkus:direct",
+                       "camel:direct",
                },
                meta.Dependencies.List())
        assert.True(t, 
meta.RequiredCapabilities.Has(v1.CapabilityCircuitBreaker))
@@ -739,14 +739,14 @@ func TestYAMLLanguageDependencies(t *testing.T) {
        assert.ElementsMatch(
                t,
                []string{
-                       "camel-quarkus:core",
-                       "camel-quarkus:direct",
-                       "camel-quarkus:ognl",
-                       "camel-quarkus:xpath",
-                       "camel-quarkus:jsonpath",
-                       "camel-quarkus:groovy",
-                       "camel-quarkus:saxon",
-                       "camel-quarkus:xml-jaxp",
+                       "camel:core",
+                       "camel:direct",
+                       "camel:ognl",
+                       "camel:xpath",
+                       "camel:jsonpath",
+                       "camel:groovy",
+                       "camel:saxon",
+                       "camel:xml-jaxp",
                },
                meta.Dependencies.List())
 }
diff --git a/pkg/trait/cron_test.go b/pkg/trait/cron_test.go
index f445cc3..0c8353a 100644
--- a/pkg/trait/cron_test.go
+++ b/pkg/trait/cron_test.go
@@ -361,7 +361,7 @@ func TestCronDepsFallback(t *testing.T) {
        assert.NotNil(t, ct)
        assert.NotNil(t, ct.Fallback)
        assert.True(t, 
util.StringSliceExists(environment.Integration.Status.Capabilities, 
v1.CapabilityCron))
-       assert.Contains(t, environment.Integration.Status.Dependencies, 
"camel-quarkus:quartz")
+       assert.Contains(t, environment.Integration.Status.Dependencies, 
"camel:quartz")
        assert.Contains(t, environment.Integration.Status.Dependencies, 
"mvn:org.apache.camel.k:camel-k-cron")
 }
 
diff --git a/pkg/trait/dependencies_test.go b/pkg/trait/dependencies_test.go
index 8f8b0ac..5a575c0 100644
--- a/pkg/trait/dependencies_test.go
+++ b/pkg/trait/dependencies_test.go
@@ -83,8 +83,8 @@ func TestIntegrationDefaultDeps(t *testing.T) {
        assert.ElementsMatch(
                t,
                []string{
-                       "camel-quarkus:direct",
-                       "camel-quarkus:log",
+                       "camel:direct",
+                       "camel:log",
                        
"mvn:org.apache.camel.quarkus:camel-quarkus-java-joor-dsl",
                        "mvn:org.apache.camel.k:camel-k-runtime"},
                e.Integration.Status.Dependencies,
@@ -129,8 +129,8 @@ func TestIntegrationCustomDeps(t *testing.T) {
        assert.Nil(t, err)
        assert.ElementsMatch(t,
                []string{
-                       "camel-quarkus:direct",
-                       "camel-quarkus:log",
+                       "camel:direct",
+                       "camel:log",
                        "camel:netty-http",
                        "org.foo:bar",
                        
"mvn:org.apache.camel.quarkus:camel-quarkus-java-joor-dsl",
@@ -187,8 +187,8 @@ func TestIntegrationAutoGeneratedDeps(t *testing.T) {
        assert.ElementsMatch(
                t,
                []string{
-                       "camel-quarkus:direct",
-                       "camel-quarkus:log",
+                       "camel:direct",
+                       "camel:log",
                        "mvn:org.apache.camel.quarkus:camel-quarkus-rest",
                        
"mvn:org.apache.camel.quarkus:camel-quarkus-java-joor-dsl",
                        "mvn:org.apache.camel.quarkus:camel-quarkus-xml-io-dsl",
@@ -236,8 +236,8 @@ func TestIntegrationCustomLoader(t *testing.T) {
        assert.Nil(t, err)
        assert.ElementsMatch(t,
                []string{
-                       "camel-quarkus:direct",
-                       "camel-quarkus:log",
+                       "camel:direct",
+                       "camel:log",
                        "mvn:org.apache.camel.k:camel-k-loader-yaml",
                        "mvn:org.apache.camel.k:camel-k-runtime"},
                e.Integration.Status.Dependencies,
diff --git a/pkg/util/camel/camel_dependencies.go 
b/pkg/util/camel/camel_dependencies.go
index d7718ff..411cb33 100644
--- a/pkg/util/camel/camel_dependencies.go
+++ b/pkg/util/camel/camel_dependencies.go
@@ -21,6 +21,7 @@ import (
        "fmt"
        "strings"
 
+       v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
        "github.com/apache/camel-k/pkg/util/jitpack"
        "github.com/apache/camel-k/pkg/util/maven"
        "github.com/rs/xid"
@@ -51,13 +52,23 @@ func ManageIntegrationDependencies(
                                Scope:      "import",
                        })
                case strings.HasPrefix(d, "camel:"):
-                       artifactID := strings.TrimPrefix(d, "camel:")
+                       if catalog != nil && catalog.Runtime.Provider == 
v1.RuntimeProviderQuarkus {
+                               artifactID := strings.TrimPrefix(d, "camel:")
 
-                       if !strings.HasPrefix(artifactID, "camel-") {
-                               artifactID = "camel-" + artifactID
-                       }
+                               if !strings.HasPrefix(artifactID, "camel-") {
+                                       artifactID = "camel-quarkus-" + 
artifactID
+                               }
+
+                               
project.AddDependencyGAV("org.apache.camel.quarkus", artifactID, "")
+                       } else {
+                               artifactID := strings.TrimPrefix(d, "camel:")
 
-                       project.AddDependencyGAV("org.apache.camel", 
artifactID, "")
+                               if !strings.HasPrefix(artifactID, "camel-") {
+                                       artifactID = "camel-" + artifactID
+                               }
+
+                               project.AddDependencyGAV("org.apache.camel", 
artifactID, "")
+                       }
                case strings.HasPrefix(d, "camel-k:"):
                        artifactID := strings.TrimPrefix(d, "camel-k:")
 
diff --git a/pkg/util/camel/camel_util.go b/pkg/util/camel/camel_util.go
index 055eefe..355ae44 100644
--- a/pkg/util/camel/camel_util.go
+++ b/pkg/util/camel/camel_util.go
@@ -90,7 +90,7 @@ func newCatalogVersionCollection(catalogs []v1.CamelCatalog) 
CatalogVersionColle
 
 func getDependency(artifact v1.CamelArtifact, runtimeProvider 
v1.RuntimeProvider) string {
        if runtimeProvider == v1.RuntimeProviderQuarkus {
-               return strings.Replace(artifact.ArtifactID, "camel-quarkus-", 
"camel-quarkus:", 1)
+               return strings.Replace(artifact.ArtifactID, "camel-quarkus-", 
"camel:", 1)
        }
        return strings.Replace(artifact.ArtifactID, "camel-", "camel:", 1)
 }
diff --git a/pkg/util/source/inspector.go b/pkg/util/source/inspector.go
index 3933a61..ff9471e 100644
--- a/pkg/util/source/inspector.go
+++ b/pkg/util/source/inspector.go
@@ -286,11 +286,6 @@ func (i *baseInspector) discoverDependencies(source 
v1.SourceSpec, meta *Metadat
 }
 
 func (i *baseInspector) addDependency(dependency string, meta *Metadata) {
-       if i.catalog.Runtime.Provider == v1.RuntimeProviderQuarkus {
-               if strings.HasPrefix(dependency, "camel:") {
-                       dependency = "camel-quarkus:" + 
strings.TrimPrefix(dependency, "camel:")
-               }
-       }
        meta.Dependencies.Add(dependency)
 }
 
diff --git a/pkg/util/source/inspector_yaml_test.go 
b/pkg/util/source/inspector_yaml_test.go
index f866f6f..49cf415 100644
--- a/pkg/util/source/inspector_yaml_test.go
+++ b/pkg/util/source/inspector_yaml_test.go
@@ -192,7 +192,7 @@ func TestYAMLRestDSL(t *testing.T) {
                        err := inspector.Extract(code, &meta)
                        assert.Nil(t, err)
                        assert.True(t, 
meta.RequiredCapabilities.Has(v1.CapabilityRest))
-                       assert.True(t, 
meta.Dependencies.Has("camel-quarkus:log"))
+                       assert.True(t, meta.Dependencies.Has("camel:log"))
                        assert.True(t, meta.ExposesHTTPServices)
                })
        }
@@ -239,19 +239,19 @@ func TestYAMLJson(t *testing.T) {
        }{
                {
                        source:     YAMLJSONMarshal,
-                       dependency: "camel-quarkus:jackson",
+                       dependency: "camel:jackson",
                },
                {
                        source:     YAMLJSONUnmarshal,
-                       dependency: "camel-quarkus:jackson",
+                       dependency: "camel:jackson",
                },
                {
                        source:     YAMLJSONGsonMarshal,
-                       dependency: "camel-quarkus:gson",
+                       dependency: "camel:gson",
                },
                {
                        source:     YAMLJSONUnknownMarshal,
-                       dependency: "camel-quarkus:timer",
+                       dependency: "camel:timer",
                },
        }
 

Reply via email to