You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by as...@apache.org on 2019/11/04 16:10:42 UTC
[camel-k] 18/38: feat(quarkus): Add Camel Quarkus and Quarkus
versions trait configuration options
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 <an...@stefanutti.fr>
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 != "" {