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 f4838b2c1186ea0bfc06ec8e52acbb028497cce4
Author: Antonin Stefanutti <anto...@stefanutti.fr>
AuthorDate: Fri Jan 17 16:22:12 2020 +0100

    chore(trait): Add main class or JAR to integration container arguments
---
 pkg/trait/classpath.go      | 12 ++++++++++++
 pkg/trait/classpath_test.go | 17 ++++++++++-------
 pkg/trait/environment.go    | 12 +-----------
 pkg/trait/quarkus.go        |  5 -----
 pkg/trait/quarkus_test.go   |  9 ---------
 5 files changed, 23 insertions(+), 32 deletions(-)

diff --git a/pkg/trait/classpath.go b/pkg/trait/classpath.go
index 5281477..bbbe845 100644
--- a/pkg/trait/classpath.go
+++ b/pkg/trait/classpath.go
@@ -28,6 +28,11 @@ import (
        k8sclient "sigs.k8s.io/controller-runtime/pkg/client"
 
        v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
+       "github.com/apache/camel-k/pkg/util/defaults"
+)
+
+const (
+       defaultMainClass = "org.apache.camel.k.main.Application"
 )
 
 // The Classpath trait is used internally to configure the classpath of the 
final integration.
@@ -111,6 +116,13 @@ func (t *classpathTrait) Apply(e *Environment) error {
                sort.Strings(items)
 
                container.Args = append(container.Args, "-cp", 
strings.Join(items, ":"))
+
+               quarkus := e.Catalog.GetTrait("quarkus").(*quarkusTrait)
+               if quarkus.isEnabled() {
+                       container.Args = append(container.Args, "-jar", 
"camel-k-integration-"+defaults.Version+"-runner.jar")
+               } else {
+                       container.Args = append(container.Args, 
defaultMainClass)
+               }
        }
 
        return nil
diff --git a/pkg/trait/classpath_test.go b/pkg/trait/classpath_test.go
index 1cb50ad..5b12675 100644
--- a/pkg/trait/classpath_test.go
+++ b/pkg/trait/classpath_test.go
@@ -20,7 +20,6 @@ package trait
 import (
        "context"
        "sort"
-       "strings"
        "testing"
 
        appsv1 "k8s.io/api/apps/v1"
@@ -102,9 +101,11 @@ func TestApplyClasspathTraitWithDeploymentResource(t 
*testing.T) {
        cp := strset.New("/etc/camel/resources", "./resources", 
"/mount/path").List()
        sort.Strings(cp)
 
-       assert.Len(t, d.Spec.Template.Spec.Containers[0].Env, 1)
-       assert.Equal(t, "JAVA_CLASSPATH", 
d.Spec.Template.Spec.Containers[0].Env[0].Name)
-       assert.Equal(t, strings.Join(cp, ":"), 
d.Spec.Template.Spec.Containers[0].Env[0].Value)
+       assert.Equal(t, d.Spec.Template.Spec.Containers[0].Args, []string{
+               "-cp",
+               "./resources:/etc/camel/resources:/mount/path",
+               "org.apache.camel.k.main.Application",
+       })
 }
 
 func TestApplyClasspathTraitWithKNativeResource(t *testing.T) {
@@ -132,9 +133,11 @@ func TestApplyClasspathTraitWithKNativeResource(t 
*testing.T) {
        cp := strset.New("/etc/camel/resources", "./resources", 
"/mount/path").List()
        sort.Strings(cp)
 
-       assert.Len(t, s.Spec.ConfigurationSpec.Template.Spec.Containers[0].Env, 
1)
-       assert.Equal(t, "JAVA_CLASSPATH", 
s.Spec.ConfigurationSpec.Template.Spec.Containers[0].Env[0].Name)
-       assert.Equal(t, strings.Join(cp, ":"), 
s.Spec.ConfigurationSpec.Template.Spec.Containers[0].Env[0].Value)
+       assert.Equal(t, s.Spec.Template.Spec.Containers[0].Args, []string{
+               "-cp",
+               "./resources:/etc/camel/resources:/mount/path",
+               "org.apache.camel.k.main.Application",
+       })
 }
 
 func createNominalClasspathTest() (*classpathTrait, *Environment) {
diff --git a/pkg/trait/environment.go b/pkg/trait/environment.go
index 7621220..b9d095e 100644
--- a/pkg/trait/environment.go
+++ b/pkg/trait/environment.go
@@ -24,7 +24,7 @@ import (
 )
 
 // The environment trait is used internally to inject standard environment 
variables in the integration container,
-// such as `NAMESPACE`, `POD_NAME`, `JAVA_MAIN_CLASS` and others.
+// such as `NAMESPACE`, `POD_NAME` and others.
 //
 // +camel-k:trait=environment
 type environmentTrait struct {
@@ -38,9 +38,6 @@ const (
        envVarCamelKVersion        = "CAMEL_K_VERSION"
        envVarCamelKRuntimeVersion = "CAMEL_K_RUNTIME_VERSION"
        envVarCamelVersion         = "CAMEL_VERSION"
-       envVarMainClass            = "JAVA_MAIN_CLASS"
-       envVarAppJAR               = "JAVA_APP_JAR"
-       defaultMainClass           = "org.apache.camel.k.main.Application"
 )
 
 func newEnvironmentTrait() *environmentTrait {
@@ -69,13 +66,6 @@ func (t *environmentTrait) Apply(e *Environment) error {
                envvar.SetValFrom(&e.EnvVars, envVarPodName, "metadata.name")
        }
 
-       quarkus := e.Catalog.GetTrait("quarkus").(*quarkusTrait)
-       if quarkus.isEnabled() {
-               quarkus.addContainerEnvironment(e)
-       } else {
-               envvar.SetVal(&e.EnvVars, envVarMainClass, defaultMainClass)
-       }
-
        return nil
 }
 
diff --git a/pkg/trait/quarkus.go b/pkg/trait/quarkus.go
index 9e46b8e..c814675 100644
--- a/pkg/trait/quarkus.go
+++ b/pkg/trait/quarkus.go
@@ -32,7 +32,6 @@ import (
        "github.com/apache/camel-k/pkg/util"
        "github.com/apache/camel-k/pkg/util/camel"
        "github.com/apache/camel-k/pkg/util/defaults"
-       "github.com/apache/camel-k/pkg/util/envvar"
        "github.com/apache/camel-k/pkg/util/maven"
 )
 
@@ -191,10 +190,6 @@ func (t *quarkusTrait) addRuntimeDependencies(e 
*Environment) error {
        return nil
 }
 
-func (t *quarkusTrait) addContainerEnvironment(e *Environment) {
-       envvar.SetVal(&e.EnvVars, envVarAppJAR, 
"camel-k-integration-"+defaults.Version+"-runner.jar")
-}
-
 func addRuntimeDependency(dependency string, dependencies *[]string) {
        util.StringSliceUniqueAdd(dependencies, 
fmt.Sprintf("mvn:org.apache.camel.k/%s", dependency))
 }
diff --git a/pkg/trait/quarkus_test.go b/pkg/trait/quarkus_test.go
index dbc3aed..c368d7e 100644
--- a/pkg/trait/quarkus_test.go
+++ b/pkg/trait/quarkus_test.go
@@ -24,7 +24,6 @@ import (
 
        "github.com/apache/camel-k/pkg/builder"
        "github.com/apache/camel-k/pkg/util/camel"
-       "github.com/apache/camel-k/pkg/util/envvar"
        "github.com/stretchr/testify/assert"
 )
 
@@ -107,14 +106,6 @@ func 
TestQuarkusTraitAddRuntimeDependenciesWithouSourceDoesNothing(t *testing.T)
        assert.Len(t, environment.Integration.Status.Dependencies, 0)
 }
 
-func TestQuarkusTraitAddContainerEnvironmentShouldSucceed(t *testing.T) {
-       quarkusTrait, environment := createNominalQuarkusTest()
-
-       quarkusTrait.addContainerEnvironment(environment)
-
-       assert.NotNil(t, envvar.Get(environment.EnvVars, envVarAppJAR))
-}
-
 func TestQuarkusTraitAddRuntimeDependencyShouldSucceed(t *testing.T) {
        dependency := "depA"
        dependencies := make([]string, 0)

Reply via email to