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:26 UTC
[camel-k] 02/38: chore(build): Load Camel catalog as builder step
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 57cfaac52d2d8b2ea9bcd9609bec3997791fa6a4
Author: Antonin Stefanutti <an...@stefanutti.fr>
AuthorDate: Mon Oct 21 14:55:40 2019 +0200
chore(build): Load Camel catalog as builder step
---
pkg/builder/builder.go | 10 ----------
pkg/builder/builder_steps.go | 19 ++++++++++++++++++-
pkg/builder/runtime/main.go | 11 -----------
pkg/builder/runtime/quarkus.go | 11 -----------
pkg/trait/builder_test.go | 4 ++--
5 files changed, 20 insertions(+), 35 deletions(-)
diff --git a/pkg/builder/builder.go b/pkg/builder/builder.go
index 872c3df..6e9f63f 100644
--- a/pkg/builder/builder.go
+++ b/pkg/builder/builder.go
@@ -28,7 +28,6 @@ import (
"github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
"github.com/apache/camel-k/pkg/client"
- "github.com/apache/camel-k/pkg/util/camel"
"github.com/apache/camel-k/pkg/util/cancellable"
"github.com/apache/camel-k/pkg/util/log"
)
@@ -71,17 +70,8 @@ func (b *defaultBuilder) Build(build v1alpha1.BuildSpec) v1alpha1.BuildStatus {
defer os.RemoveAll(builderPath)
- catalog, err := camel.LoadCatalog(b.ctx, b.client, build.Meta.Namespace, build.CamelVersion, build.RuntimeVersion)
- if err != nil {
- log.Error(err, "Error while loading Camel catalog")
-
- result.Phase = v1alpha1.BuildPhaseFailed
- result.Error = err.Error()
- }
-
c := Context{
Client: b.client,
- Catalog: catalog,
Path: builderPath,
Namespace: build.Meta.Namespace,
Build: build,
diff --git a/pkg/builder/builder_steps.go b/pkg/builder/builder_steps.go
index 3e935e3..d6b1f3f 100644
--- a/pkg/builder/builder_steps.go
+++ b/pkg/builder/builder_steps.go
@@ -27,6 +27,7 @@ import (
k8sclient "sigs.k8s.io/controller-runtime/pkg/client"
"github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
+ "github.com/apache/camel-k/pkg/util/camel"
"github.com/apache/camel-k/pkg/util/kubernetes"
"github.com/apache/camel-k/pkg/util/maven"
"github.com/apache/camel-k/pkg/util/tar"
@@ -39,6 +40,7 @@ func init() {
}
type steps struct {
+ LoadCatalog Step
GenerateProjectSettings Step
InjectDependencies Step
SanitizeDependencies Step
@@ -48,6 +50,10 @@ type steps struct {
// Steps --
var Steps = steps{
+ LoadCatalog: NewStep(
+ InitPhase,
+ loadCatalog,
+ ),
GenerateProjectSettings: NewStep(
ProjectGenerationPhase+1,
generateProjectSettings,
@@ -72,6 +78,7 @@ var Steps = steps{
// DefaultSteps --
var DefaultSteps = []Step{
+ Steps.LoadCatalog,
Steps.GenerateProjectSettings,
Steps.InjectDependencies,
Steps.SanitizeDependencies,
@@ -104,7 +111,17 @@ func registerStep(steps ...Step) {
}
}
-// generateProjectSettings --
+func loadCatalog(ctx *Context) error {
+ catalog, err := camel.LoadCatalog(ctx.C, ctx.Client, ctx.Build.Meta.Namespace, ctx.Build.CamelVersion, ctx.Build.RuntimeVersion)
+ if err != nil {
+ return err
+ }
+
+ ctx.Catalog = catalog
+
+ return nil
+}
+
func generateProjectSettings(ctx *Context) error {
val, err := kubernetes.ResolveValueSource(ctx.C, ctx.Client, ctx.Namespace, &ctx.Build.Platform.Build.Maven.Settings)
if err != nil {
diff --git a/pkg/builder/runtime/main.go b/pkg/builder/runtime/main.go
index dbf6668..4b363a0 100644
--- a/pkg/builder/runtime/main.go
+++ b/pkg/builder/runtime/main.go
@@ -27,7 +27,6 @@ import (
"github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
"github.com/apache/camel-k/pkg/builder"
- "github.com/apache/camel-k/pkg/util/camel"
"github.com/apache/camel-k/pkg/util/defaults"
"github.com/apache/camel-k/pkg/util/maven"
)
@@ -39,16 +38,6 @@ var MainSteps = []builder.Step{
}
func generateProject(ctx *builder.Context) error {
- // Catalog
- if ctx.Catalog == nil {
- c, err := camel.LoadCatalog(ctx.C, ctx.Client, ctx.Namespace, ctx.Build.Platform.Build.CamelVersion, ctx.Build.Platform.Build.RuntimeVersion)
- if err != nil {
- return err
- }
-
- ctx.Catalog = c
- }
-
p := maven.NewProjectWithGAV("org.apache.camel.k.integration", "camel-k-integration", defaults.Version)
p.Properties = ctx.Build.Platform.Build.Properties
p.DependencyManagement = &maven.DependencyManagement{Dependencies: make([]maven.Dependency, 0)}
diff --git a/pkg/builder/runtime/quarkus.go b/pkg/builder/runtime/quarkus.go
index ddca59e..df0faf5 100644
--- a/pkg/builder/runtime/quarkus.go
+++ b/pkg/builder/runtime/quarkus.go
@@ -10,7 +10,6 @@ import (
"github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
"github.com/apache/camel-k/pkg/builder"
- "github.com/apache/camel-k/pkg/util/camel"
"github.com/apache/camel-k/pkg/util/defaults"
"github.com/apache/camel-k/pkg/util/maven"
)
@@ -22,16 +21,6 @@ var QuarkusSteps = []builder.Step{
}
func generateQuarkusProject(ctx *builder.Context) error {
- // Catalog
- if ctx.Catalog == nil {
- c, err := camel.LoadCatalog(ctx.C, ctx.Client, ctx.Namespace, ctx.Build.Platform.Build.CamelVersion, ctx.Build.Platform.Build.RuntimeVersion)
- if err != nil {
- return err
- }
-
- ctx.Catalog = c
- }
-
p := maven.NewProjectWithGAV("org.apache.camel.k.integration", "camel-k-integration", defaults.Version)
p.Properties = ctx.Build.Platform.Build.Properties
p.DependencyManagement = &maven.DependencyManagement{Dependencies: make([]maven.Dependency, 0)}
diff --git a/pkg/trait/builder_test.go b/pkg/trait/builder_test.go
index f1153d3..e3ae69e 100644
--- a/pkg/trait/builder_test.go
+++ b/pkg/trait/builder_test.go
@@ -87,7 +87,7 @@ func TestS2IBuilderTrait(t *testing.T) {
assert.NotEmpty(t, env.ExecutedTraits)
assert.NotNil(t, env.GetTrait(ID("builder")))
assert.NotEmpty(t, env.Steps)
- assert.Len(t, env.Steps, 7)
+ assert.Len(t, env.Steps, 8)
assert.Condition(t, func() bool {
for _, s := range env.Steps {
if s == s2i.Steps.Publisher && s.Phase() == builder.ApplicationPublishPhase {
@@ -107,7 +107,7 @@ func TestKanikoBuilderTrait(t *testing.T) {
assert.NotEmpty(t, env.ExecutedTraits)
assert.NotNil(t, env.GetTrait(ID("builder")))
assert.NotEmpty(t, env.Steps)
- assert.Len(t, env.Steps, 7)
+ assert.Len(t, env.Steps, 8)
assert.Condition(t, func() bool {
for _, s := range env.Steps {
if s == kaniko.Steps.Publisher && s.Phase() == builder.ApplicationPublishPhase {