You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by nf...@apache.org on 2021/05/26 12:44:44 UTC
[camel-k] 06/06: refactor(trait): property names and error condition
This is an automated email from the ASF dual-hosted git repository.
nferraro pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-k.git
commit b9feccf824bfd44ec54adade7bde7d6d8371b3ef
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Thu May 20 16:19:00 2021 +0200
refactor(trait): property names and error condition
---
pkg/cmd/run.go | 2 +-
pkg/trait/builder.go | 17 ++++++++++++-----
pkg/trait/builder_test.go | 2 +-
3 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/pkg/cmd/run.go b/pkg/cmd/run.go
index ade7f80..1c341d9 100644
--- a/pkg/cmd/run.go
+++ b/pkg/cmd/run.go
@@ -554,7 +554,7 @@ func (o *runCmdOptions) updateIntegrationCode(c client.Client, sources []string,
}
// convert each build configuration to a builder trait property
for _, item := range o.BuildProperties {
- o.Traits = append(o.Traits, fmt.Sprintf("builder.build-time-properties=%s", item))
+ o.Traits = append(o.Traits, fmt.Sprintf("builder.properties=%s", item))
}
for _, item := range o.LoggingLevels {
integration.Spec.AddConfiguration("property", "logging.level."+item)
diff --git a/pkg/trait/builder.go b/pkg/trait/builder.go
index 1e96d49..f2d0775 100644
--- a/pkg/trait/builder.go
+++ b/pkg/trait/builder.go
@@ -24,6 +24,8 @@ import (
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/builder"
+ corev1 "k8s.io/api/core/v1"
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
// The builder trait is internally used to determine the best strategy to
@@ -35,7 +37,7 @@ type builderTrait struct {
// Enable verbose logging on build components that support it (e.g. Kaniko build pod).
Verbose *bool `property:"verbose" json:"verbose,omitempty"`
// A list of properties to be provided to the build task
- BuildTimeProperties []string `property:"build-time-properties" json:"buildTimeProperties,omitempty"`
+ Properties []string `property:"properties" json:"properties,omitempty"`
}
func newBuilderTrait() Trait {
@@ -65,8 +67,13 @@ func (t *builderTrait) Configure(e *Environment) (bool, error) {
func (t *builderTrait) Apply(e *Environment) error {
builderTask, err := t.builderTask(e)
if err != nil {
- // Should we clean the failing integration kit as well?
- return err
+ e.IntegrationKit.Status.Phase = v1.IntegrationKitPhaseError
+ e.IntegrationKit.Status.SetCondition("IntegrationKitPropertiesFormatValid", corev1.ConditionFalse,
+ "IntegrationKitPropertiesFormatValid", fmt.Sprintf("One or more properties where not formatted as expected: %s", err.Error()))
+ if _, err := e.Client.CamelV1().IntegrationKits(e.IntegrationKit.Namespace).UpdateStatus(e.C, e.IntegrationKit, metav1.UpdateOptions{}); err != nil {
+ return err
+ }
+ return nil
}
e.BuildTasks = append(e.BuildTasks, v1.Task{Builder: builderTask})
@@ -143,8 +150,8 @@ func (t *builderTrait) builderTask(e *Environment) (*v1.BuilderTask, error) {
task.Properties = make(map[string]string)
}
// User provided build time configuration properties
- if t.BuildTimeProperties != nil {
- for _, v := range t.BuildTimeProperties {
+ if t.Properties != nil {
+ for _, v := range t.Properties {
split := strings.Split(v, "=")
if len(split) != 2 {
return nil, fmt.Errorf("Build time configuration property must have key=value format, it was %v", v)
diff --git a/pkg/trait/builder_test.go b/pkg/trait/builder_test.go
index 591c744..31fea52 100644
--- a/pkg/trait/builder_test.go
+++ b/pkg/trait/builder_test.go
@@ -155,7 +155,7 @@ func NewBuilderTestCatalog() *Catalog {
func TestBuildtimeConfigurationBuilderTrait(t *testing.T) {
env := createBuilderTestEnv(v1.IntegrationPlatformClusterKubernetes, v1.IntegrationPlatformBuildPublishStrategyKaniko)
builderTrait := createNominalBuilderTraitTest()
- builderTrait.BuildTimeProperties = append(builderTrait.BuildTimeProperties, "build-time-prop1=build-time-value1")
+ builderTrait.Properties = append(builderTrait.Properties, "build-time-prop1=build-time-value1")
err := builderTrait.Apply(env)