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", }, }
