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 081e3e6a6f4fae6aafe0b324fdb1f6c8a78c5c42 Author: Antonin Stefanutti <[email protected]> AuthorDate: Thu Oct 24 12:20:16 2019 +0200 feat(quarkus): Add Camel Quarkus and Quarkus versions trait configuration options --- pkg/trait/camel.go | 37 +++++++++++++++++++++++++++--------- pkg/trait/quarkus.go | 49 ++++++++++++++++++++++++++++++++++++++++++++---- pkg/trait/trait_types.go | 34 --------------------------------- 3 files changed, 73 insertions(+), 47 deletions(-) diff --git a/pkg/trait/camel.go b/pkg/trait/camel.go index 66f7024..3cd0bd9 100644 --- a/pkg/trait/camel.go +++ b/pkg/trait/camel.go @@ -59,15 +59,8 @@ func (t *camelTrait) Configure(e *Environment) (bool, error) { } func (t *camelTrait) Apply(e *Environment) error { - cv := e.DetermineCamelVersion() - rv := e.DetermineRuntimeVersion() - - if t.Version != "" { - cv = t.Version - } - if t.RuntimeVersion != "" { - rv = t.RuntimeVersion - } + cv := t.determineCamelVersion(e) + rv := t.determineRuntimeVersion(e) if e.CamelCatalog == nil { quarkus := e.Catalog.GetTrait("quarkus").(*quarkusTrait) @@ -240,3 +233,29 @@ func (t *camelTrait) generateMavenProject(camelVersion string, runtimeVersion st return p } + +func (t *camelTrait) determineCamelVersion(e *Environment) string { + if t.Version != "" { + return t.Version + } + if e.Integration != nil && e.Integration.Status.CamelVersion != "" { + return e.Integration.Status.CamelVersion + } + if e.IntegrationKit != nil && e.IntegrationKit.Status.CamelVersion != "" { + return e.IntegrationKit.Status.CamelVersion + } + return e.Platform.Spec.Build.CamelVersion +} + +func (t *camelTrait) determineRuntimeVersion(e *Environment) string { + if t.RuntimeVersion != "" { + return t.RuntimeVersion + } + if e.Integration != nil && e.Integration.Status.RuntimeVersion != "" { + return e.Integration.Status.RuntimeVersion + } + if e.IntegrationKit != nil && e.IntegrationKit.Status.RuntimeVersion != "" { + return e.IntegrationKit.Status.RuntimeVersion + } + return e.Platform.Spec.Build.RuntimeVersion +} diff --git a/pkg/trait/quarkus.go b/pkg/trait/quarkus.go index 5139ce7..7a9ab4d 100644 --- a/pkg/trait/quarkus.go +++ b/pkg/trait/quarkus.go @@ -33,7 +33,9 @@ import ( ) type quarkusTrait struct { - BaseTrait `property:",squash"` + BaseTrait `property:",squash"` + QuarkusVersion string `property:"quarkus-version"` + CamelQuarkusVersion string `property:"camel-quarkus-version"` } func newQuarkusTrait() *quarkusTrait { @@ -61,9 +63,8 @@ func (t *quarkusTrait) loadOrCreateCatalog(e *Environment, camelVersion string, } c, err := camel.LoadCatalog(e.C, e.Client, ns, camelVersion, runtimeVersion, v1alpha1.QuarkusRuntimeProvider{ - // FIXME - CamelQuarkusVersion: "0.2.0", - QuarkusVersion: "0.21.2", + CamelQuarkusVersion: t.determineCamelQuarkusVersion(e), + QuarkusVersion: t.determineQuarkusVersion(e), }) if err != nil { return err @@ -122,3 +123,43 @@ func (t *quarkusTrait) addContainerEnvironment(e *Environment) { func addRuntimeDependency(dependency string, dependencies *[]string) { util.StringSliceUniqueAdd(dependencies, fmt.Sprintf("mvn:org.apache.camel.k/%s", dependency)) } + +func (t *quarkusTrait) determineQuarkusVersion(e *Environment) string { + if t.QuarkusVersion != "" { + return t.QuarkusVersion + } + if e.Integration != nil && e.Integration.Status.RuntimeProvider != nil && e.Integration.Status.RuntimeProvider.Quarkus != nil && + e.Integration.Status.RuntimeProvider.Quarkus.QuarkusVersion != "" { + return e.Integration.Status.RuntimeProvider.Quarkus.QuarkusVersion + } + if e.IntegrationKit != nil && e.IntegrationKit.Status.RuntimeProvider != nil && e.IntegrationKit.Status.RuntimeProvider.Quarkus != nil && + e.IntegrationKit.Status.RuntimeProvider.Quarkus.QuarkusVersion != "" { + return e.IntegrationKit.Status.RuntimeProvider.Quarkus.QuarkusVersion + } + if e.Platform.Spec.Build.RuntimeProvider != nil && e.Platform.Spec.Build.RuntimeProvider.Quarkus != nil && + e.Platform.Spec.Build.RuntimeProvider.Quarkus.QuarkusVersion != "" { + return e.Platform.Spec.Build.RuntimeProvider.Quarkus.QuarkusVersion + } + // FIXME + return "0.21.2" +} + +func (t *quarkusTrait) determineCamelQuarkusVersion(e *Environment) string { + if t.CamelQuarkusVersion != "" { + return t.CamelQuarkusVersion + } + if e.Integration != nil && e.Integration.Status.RuntimeProvider != nil && e.Integration.Status.RuntimeProvider.Quarkus != nil && + e.Integration.Status.RuntimeProvider.Quarkus.CamelQuarkusVersion != "" { + return e.Integration.Status.RuntimeProvider.Quarkus.CamelQuarkusVersion + } + if e.IntegrationKit != nil && e.IntegrationKit.Status.RuntimeProvider != nil && e.IntegrationKit.Status.RuntimeProvider.Quarkus != nil && + e.IntegrationKit.Status.RuntimeProvider.Quarkus.CamelQuarkusVersion != "" { + return e.IntegrationKit.Status.RuntimeProvider.Quarkus.CamelQuarkusVersion + } + if e.Platform.Spec.Build.RuntimeProvider != nil && e.Platform.Spec.Build.RuntimeProvider.Quarkus != nil && + e.Platform.Spec.Build.RuntimeProvider.Quarkus.CamelQuarkusVersion != "" { + return e.Platform.Spec.Build.RuntimeProvider.Quarkus.CamelQuarkusVersion + } + // FIXME + return "0.2.0" +} diff --git a/pkg/trait/trait_types.go b/pkg/trait/trait_types.go index f1cb187..622953e 100644 --- a/pkg/trait/trait_types.go +++ b/pkg/trait/trait_types.go @@ -225,40 +225,6 @@ func (e *Environment) DetermineControllerStrategy(ctx context.Context, c control return ControllerStrategyKnativeService, nil } -// DetermineCamelVersion -- -func (e *Environment) DetermineCamelVersion() string { - var version string - - if e.Integration != nil { - version = e.Integration.Status.CamelVersion - } - if e.IntegrationKit != nil && version == "" { - version = e.IntegrationKit.Status.CamelVersion - } - if version == "" { - version = e.Platform.Spec.Build.CamelVersion - } - - return version -} - -// DetermineRuntimeVersion -- -func (e *Environment) DetermineRuntimeVersion() string { - var version string - - if e.Integration != nil { - version = e.Integration.Status.RuntimeVersion - } - if e.IntegrationKit != nil && version == "" { - version = e.IntegrationKit.Status.RuntimeVersion - } - if version == "" { - version = e.Platform.Spec.Build.RuntimeVersion - } - - return version -} - // DetermineNamespace -- func (e *Environment) DetermineNamespace() string { if e.Integration != nil && e.Integration.Namespace != "" {
