This is an automated email from the ASF dual-hosted git repository.

astefanutti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-k.git

commit eff1b4f3b456a0990b9c8d490af492e0ff42de0b
Author: Antonin Stefanutti <[email protected]>
AuthorDate: Wed Aug 18 14:34:21 2021 +0200

    chore(native): No need to compute transitive dependencies for native builds
---
 pkg/builder/image.go        | 20 ++++++++++++++++++++
 pkg/builder/project.go      | 34 +++++++++++++---------------------
 pkg/builder/project_test.go |  4 ++--
 pkg/builder/quarkus.go      | 19 ++++++++++---------
 pkg/trait/builder.go        |  2 +-
 pkg/trait/quarkus.go        |  6 +++---
 pkg/trait/quarkus_test.go   |  2 +-
 7 files changed, 50 insertions(+), 37 deletions(-)

diff --git a/pkg/builder/image.go b/pkg/builder/image.go
index da702bc..ac33a6f 100644
--- a/pkg/builder/image.go
+++ b/pkg/builder/image.go
@@ -39,6 +39,26 @@ const (
        DependenciesDir = "dependencies"
 )
 
+func init() {
+       registerSteps(Image)
+}
+
+type imageSteps struct {
+       IncrementalImageContext Step
+       NativeImageContext      Step
+       StandardImageContext    Step
+       ExecutableDockerfile    Step
+       JvmDockerfile           Step
+}
+
+var Image = imageSteps{
+       IncrementalImageContext: NewStep(ApplicationPackagePhase, 
incrementalImageContext),
+       NativeImageContext:      NewStep(ApplicationPackagePhase, 
nativeImageContext),
+       StandardImageContext:    NewStep(ApplicationPackagePhase, 
standardImageContext),
+       ExecutableDockerfile:    NewStep(ApplicationPackagePhase+1, 
executableDockerfile),
+       JvmDockerfile:           NewStep(ApplicationPackagePhase+1, 
jvmDockerfile),
+}
+
 type artifactsSelector func(ctx *builderContext) error
 
 func nativeImageContext(ctx *builderContext) error {
diff --git a/pkg/builder/project.go b/pkg/builder/project.go
index 517e879..4255c61 100644
--- a/pkg/builder/project.go
+++ b/pkg/builder/project.go
@@ -26,41 +26,33 @@ import (
 )
 
 func init() {
-       registerSteps(Steps)
+       registerSteps(Project)
+
+       Project.CommonSteps = []Step{
+               Project.CleanUpBuildDir,
+               Project.GenerateJavaKeystore,
+               Project.GenerateProjectSettings,
+               Project.InjectDependencies,
+               Project.SanitizeDependencies,
+       }
 }
 
-type steps struct {
+type projectSteps struct {
        CleanUpBuildDir         Step
        GenerateJavaKeystore    Step
        GenerateProjectSettings Step
        InjectDependencies      Step
        SanitizeDependencies    Step
-       IncrementalImageContext Step
-       NativeImageContext      Step
-       StandardImageContext    Step
-       ExecutableDockerfile    Step
-       JvmDockerfile           Step
+
+       CommonSteps []Step
 }
 
-var Steps = steps{
+var Project = projectSteps{
        CleanUpBuildDir:         NewStep(ProjectGenerationPhase-1, 
cleanUpBuildDir),
        GenerateJavaKeystore:    NewStep(ProjectGenerationPhase, 
generateJavaKeystore),
        GenerateProjectSettings: NewStep(ProjectGenerationPhase+1, 
generateProjectSettings),
        InjectDependencies:      NewStep(ProjectGenerationPhase+2, 
injectDependencies),
        SanitizeDependencies:    NewStep(ProjectGenerationPhase+3, 
sanitizeDependencies),
-       IncrementalImageContext: NewStep(ApplicationPackagePhase, 
incrementalImageContext),
-       NativeImageContext:      NewStep(ApplicationPackagePhase, 
nativeImageContext),
-       StandardImageContext:    NewStep(ApplicationPackagePhase, 
standardImageContext),
-       ExecutableDockerfile:    NewStep(ApplicationPackagePhase+1, 
executableDockerfile),
-       JvmDockerfile:           NewStep(ApplicationPackagePhase+1, 
jvmDockerfile),
-}
-
-var DefaultSteps = []Step{
-       Steps.CleanUpBuildDir,
-       Steps.GenerateJavaKeystore,
-       Steps.GenerateProjectSettings,
-       Steps.InjectDependencies,
-       Steps.SanitizeDependencies,
 }
 
 func cleanUpBuildDir(ctx *builderContext) error {
diff --git a/pkg/builder/project_test.go b/pkg/builder/project_test.go
index 7e03333..9855cac 100644
--- a/pkg/builder/project_test.go
+++ b/pkg/builder/project_test.go
@@ -71,7 +71,7 @@ func TestMavenSettingsFromConfigMap(t *testing.T) {
                },
        }
 
-       err = Steps.GenerateProjectSettings.execute(&ctx)
+       err = Project.GenerateProjectSettings.execute(&ctx)
        assert.Nil(t, err)
 
        assert.Equal(t, []byte("setting-data"), ctx.Maven.SettingsData)
@@ -118,7 +118,7 @@ func TestMavenSettingsFromSecret(t *testing.T) {
                },
        }
 
-       err = Steps.GenerateProjectSettings.execute(&ctx)
+       err = Project.GenerateProjectSettings.execute(&ctx)
        assert.Nil(t, err)
 
        assert.Equal(t, []byte("setting-data"), ctx.Maven.SettingsData)
diff --git a/pkg/builder/quarkus.go b/pkg/builder/quarkus.go
index 1e367b2..cdec940 100644
--- a/pkg/builder/quarkus.go
+++ b/pkg/builder/quarkus.go
@@ -35,7 +35,13 @@ import (
 )
 
 func init() {
-       registerSteps(quarkus)
+       registerSteps(Quarkus)
+
+       Quarkus.CommonSteps = []Step{
+               Quarkus.LoadCamelQuarkusCatalog,
+               Quarkus.GenerateQuarkusProject,
+               Quarkus.BuildQuarkusRunner,
+       }
 }
 
 type quarkusSteps struct {
@@ -43,22 +49,17 @@ type quarkusSteps struct {
        GenerateQuarkusProject     Step
        BuildQuarkusRunner         Step
        ComputeQuarkusDependencies Step
+
+       CommonSteps []Step
 }
 
-var quarkus = quarkusSteps{
+var Quarkus = quarkusSteps{
        LoadCamelQuarkusCatalog:    NewStep(InitPhase, loadCamelQuarkusCatalog),
        GenerateQuarkusProject:     NewStep(ProjectGenerationPhase, 
generateQuarkusProject),
        BuildQuarkusRunner:         NewStep(ProjectBuildPhase, 
buildQuarkusRunner),
        ComputeQuarkusDependencies: NewStep(ProjectBuildPhase+1, 
computeQuarkusDependencies),
 }
 
-var QuarkusSteps = []Step{
-       quarkus.LoadCamelQuarkusCatalog,
-       quarkus.GenerateQuarkusProject,
-       quarkus.BuildQuarkusRunner,
-       quarkus.ComputeQuarkusDependencies,
-}
-
 func loadCamelQuarkusCatalog(ctx *builderContext) error {
        catalog, err := camel.LoadCatalog(ctx.C, ctx.Client, ctx.Namespace, 
ctx.Build.Runtime)
        if err != nil {
diff --git a/pkg/trait/builder.go b/pkg/trait/builder.go
index d85414e..7343981 100644
--- a/pkg/trait/builder.go
+++ b/pkg/trait/builder.go
@@ -166,7 +166,7 @@ func (t *builderTrait) builderTask(e *Environment) 
(*v1.BuilderTask, error) {
        }
 
        steps := make([]builder.Step, 0)
-       steps = append(steps, builder.DefaultSteps...)
+       steps = append(steps, builder.Project.CommonSteps...)
 
        // sort steps by phase
        sort.SliceStable(steps, func(i, j int) bool {
diff --git a/pkg/trait/quarkus.go b/pkg/trait/quarkus.go
index 97f05fb..d77b614 100644
--- a/pkg/trait/quarkus.go
+++ b/pkg/trait/quarkus.go
@@ -92,14 +92,14 @@ func (t *quarkusTrait) Apply(e *Environment) error {
                        return err
                }
 
-               steps = append(steps, builder.QuarkusSteps...)
+               steps = append(steps, builder.Quarkus.CommonSteps...)
 
                if t.isNativePackageType() {
                        build.Maven.Properties["quarkus.package.type"] = 
string(nativePackageType)
-                       steps = append(steps, builder.Steps.NativeImageContext, 
builder.Steps.ExecutableDockerfile)
+                       steps = append(steps, builder.Image.NativeImageContext, 
builder.Image.ExecutableDockerfile)
                } else {
                        build.Maven.Properties["quarkus.package.type"] = 
string(fastJarPackageType)
-                       steps = append(steps, 
builder.Steps.IncrementalImageContext, builder.Steps.JvmDockerfile)
+                       steps = append(steps, 
builder.Quarkus.ComputeQuarkusDependencies, 
builder.Image.IncrementalImageContext, builder.Image.JvmDockerfile)
                }
 
                // Sort steps by phase
diff --git a/pkg/trait/quarkus_test.go b/pkg/trait/quarkus_test.go
index 9051401..e09cc2b 100644
--- a/pkg/trait/quarkus_test.go
+++ b/pkg/trait/quarkus_test.go
@@ -42,7 +42,7 @@ func TestConfigureQuarkusTraitBuildSubmitted(t *testing.T) {
        build := getBuilderTask(environment.BuildTasks)
        assert.NotNil(t, t, build)
 
-       assert.Len(t, build.Steps, len(builder.QuarkusSteps)+2)
+       assert.Len(t, build.Steps, len(builder.Quarkus.CommonSteps)+3)
 }
 
 func TestConfigureDisabledQuarkusTraitShouldFail(t *testing.T) {

Reply via email to