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 2018/09/21 13:56:58 UTC
[camel-k] 03/04: bind incremental builder to standard flow
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 1b361c01ae14485668e58ef12fc674f4e91daef7
Author: nferraro <ni...@gmail.com>
AuthorDate: Fri Sep 21 13:40:16 2018 +0200
bind incremental builder to standard flow
---
pkg/stub/action/context/build.go | 37 ++++++++++++++++++++++++++++++++++++-
1 file changed, 36 insertions(+), 1 deletion(-)
diff --git a/pkg/stub/action/context/build.go b/pkg/stub/action/context/build.go
index a815c7c..7b872f4 100644
--- a/pkg/stub/action/context/build.go
+++ b/pkg/stub/action/context/build.go
@@ -34,7 +34,7 @@ import (
// NewIntegrationContextBuildAction creates a new build handling action for the context
func NewIntegrationContextBuildAction(ctx context.Context, namespace string) IntegrationContextAction {
assembler := assemble.NewMavenAssembler(ctx)
- publisher := publish.NewS2IPublisher(ctx, namespace)
+ publisher := publish.NewS2IIncrementalPublisher(ctx, namespace, newContextLister(namespace))
manager := build.NewManager(ctx, assembler, publisher)
return &integrationContextBuildAction{
@@ -115,3 +115,38 @@ func (action *integrationContextBuildAction) informIntegrations(context *v1alpha
}
return nil
}
+
+// =================================================================
+
+type contextLister struct {
+ namespace string
+}
+
+func newContextLister(namespace string) contextLister {
+ return contextLister{
+ namespace: namespace,
+ }
+}
+
+func (l contextLister) ListPublishedImages() ([]publish.PublishedImage, error) {
+ list := v1alpha1.NewIntegrationContextList()
+ err := sdk.List(l.namespace, &list, sdk.WithListOptions(&metav1.ListOptions{}))
+ if err != nil {
+ return nil, err
+ }
+ images := make([]publish.PublishedImage, 0)
+ for _, ctx := range list.Items {
+ if ctx.Labels == nil {
+ continue
+ }
+ if ctxType, present := ctx.Labels["camel.apache.org/context.type"]; !present || ctxType != "platform" {
+ continue
+ }
+
+ images = append(images, publish.PublishedImage{
+ Image: ctx.Status.Image,
+ Classpath: ctx.Status.Classpath,
+ })
+ }
+ return images, nil
+}