Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 0 additions & 10 deletions aws_lambda_builders/workflows/java/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@
from aws_lambda_builders.utils import which, copytree


EXPERIMENTAL_MAVEN_SCOPE_AND_LAYER_FLAG = "experimentalMavenScopeAndLayer"


class OSUtils(object):
"""
Convenience wrapper around common system functions
Expand Down Expand Up @@ -63,10 +60,3 @@ def jar_file_filter(file_name):
Name of the file that will be checked against if it ends with .jar or not
"""
return bool(file_name) and isinstance(file_name, str) and file_name.endswith(".jar")


def is_experimental_maven_scope_and_layers_active(experimental_flags):
"""
A function which will determine if experimental maven scope and layer changes are active
"""
return bool(experimental_flags) and EXPERIMENTAL_MAVEN_SCOPE_AND_LAYER_FLAG in experimental_flags
4 changes: 2 additions & 2 deletions aws_lambda_builders/workflows/java_gradle/workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from aws_lambda_builders.actions import CleanUpAction
from aws_lambda_builders.workflow import BaseWorkflow, Capability
from aws_lambda_builders.workflows.java.actions import JavaCopyDependenciesAction, JavaMoveDependenciesAction
from aws_lambda_builders.workflows.java.utils import OSUtils, is_experimental_maven_scope_and_layers_active
from aws_lambda_builders.workflows.java.utils import OSUtils

from .actions import JavaGradleBuildAction, JavaGradleCopyArtifactsAction, JavaGradleCopyLayerArtifactsAction
from .gradle import SubprocessGradle
Expand Down Expand Up @@ -36,7 +36,7 @@ def __init__(self, source_dir, artifacts_dir, scratch_dir, manifest_path, **kwar
copy_artifacts_action = JavaGradleCopyArtifactsAction(
source_dir, artifacts_dir, self.build_output_dir, self.os_utils
)
if self.is_building_layer and is_experimental_maven_scope_and_layers_active(self.experimental_flags):
if self.is_building_layer:
copy_artifacts_action = JavaGradleCopyLayerArtifactsAction(
source_dir, artifacts_dir, self.build_output_dir, self.os_utils
)
Expand Down
5 changes: 2 additions & 3 deletions aws_lambda_builders/workflows/java_maven/maven.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,13 @@ def __init__(self, **kwargs):


class SubprocessMaven(object):
def __init__(self, maven_binary, os_utils=None, is_experimental_maven_scope_enabled=False):
def __init__(self, maven_binary, os_utils=None):
if maven_binary is None:
raise ValueError("Must provide Maven BinaryPath")
self.maven_binary = maven_binary
if os_utils is None:
raise ValueError("Must provide OSUtils")
self.os_utils = os_utils
self.is_experimental_maven_scope_enabled = is_experimental_maven_scope_enabled

def build(self, scratch_dir):
args = ["clean", "install"]
Expand All @@ -35,7 +34,7 @@ def build(self, scratch_dir):
raise MavenExecutionError(message=stdout.decode("utf8").strip())

def copy_dependency(self, scratch_dir):
include_scope = "runtime" if self.is_experimental_maven_scope_enabled else "compile"
include_scope = "runtime"
LOG.debug("Running copy_dependency with scope: %s", include_scope)
args = ["dependency:copy-dependencies", f"-DincludeScope={include_scope}", "-Dmdep.prependGroupId=true"]
ret_code, stdout, _ = self._run(args, scratch_dir)
Expand Down
8 changes: 2 additions & 6 deletions aws_lambda_builders/workflows/java_maven/workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from aws_lambda_builders.workflow import BaseWorkflow, Capability
from aws_lambda_builders.actions import CopySourceAction, CleanUpAction
from aws_lambda_builders.workflows.java.actions import JavaCopyDependenciesAction, JavaMoveDependenciesAction
from aws_lambda_builders.workflows.java.utils import OSUtils, is_experimental_maven_scope_and_layers_active
from aws_lambda_builders.workflows.java.utils import OSUtils

from .actions import (
JavaMavenBuildAction,
Expand Down Expand Up @@ -34,17 +34,13 @@ def __init__(self, source_dir, artifacts_dir, scratch_dir, manifest_path, **kwar
self.os_utils = OSUtils()
# Assuming root_dir is the same as source_dir for now
root_dir = source_dir
is_experimental_maven_scope_and_layers_enabled = is_experimental_maven_scope_and_layers_active(
self.experimental_flags
)
subprocess_maven = SubprocessMaven(
maven_binary=self.binaries["mvn"],
os_utils=self.os_utils,
is_experimental_maven_scope_enabled=is_experimental_maven_scope_and_layers_enabled,
)

copy_artifacts_action = JavaMavenCopyArtifactsAction(scratch_dir, artifacts_dir, self.os_utils)
if self.is_building_layer and is_experimental_maven_scope_and_layers_enabled:
if self.is_building_layer:
copy_artifacts_action = JavaMavenCopyLayerArtifactsAction(scratch_dir, artifacts_dir, self.os_utils)

self.actions = [
Expand Down
3 changes: 0 additions & 3 deletions tests/integration/workflows/java_gradle/test_java_gradle.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@

from aws_lambda_builders.builder import LambdaBuilder
from aws_lambda_builders.exceptions import WorkflowFailedError
from aws_lambda_builders.workflows.java.utils import EXPERIMENTAL_MAVEN_SCOPE_AND_LAYER_FLAG
from tests.integration.workflows.common_test_utils import (
does_folder_contain_all_files,
does_folder_contain_file,
Expand Down Expand Up @@ -204,7 +203,6 @@ def validate_layer_build(self):
layer_manifest_path,
runtime=self.runtime,
is_building_layer=True,
experimental_flags=[EXPERIMENTAL_MAVEN_SCOPE_AND_LAYER_FLAG],
)
artifact_expected_files = [
join("lib", "aws-lambda-java-core-1.2.0.jar"),
Expand All @@ -223,7 +221,6 @@ def validate_function_build(self):
function_manifest_path,
runtime=self.runtime,
is_building_layer=False,
experimental_flags=[EXPERIMENTAL_MAVEN_SCOPE_AND_LAYER_FLAG],
)
artifact_expected_files = [
join("aws", "lambdabuilders", "Main.class"),
Expand Down
3 changes: 0 additions & 3 deletions tests/integration/workflows/java_maven/test_java_maven.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@

from aws_lambda_builders.builder import LambdaBuilder
from aws_lambda_builders.exceptions import WorkflowFailedError
from aws_lambda_builders.workflows.java.utils import EXPERIMENTAL_MAVEN_SCOPE_AND_LAYER_FLAG
from tests.integration.workflows.common_test_utils import (
does_folder_contain_all_files,
does_folder_contain_file,
Expand Down Expand Up @@ -134,7 +133,6 @@ def validate_layer_build(self):
layer_manifest_path,
runtime=self.runtime,
is_building_layer=True,
experimental_flags=[EXPERIMENTAL_MAVEN_SCOPE_AND_LAYER_FLAG],
)
artifact_expected_files = [
join("lib", "com.amazonaws.aws-lambda-java-core-1.2.0.jar"),
Expand All @@ -154,7 +152,6 @@ def validate_function_build(self):
function_manifest_path,
runtime=self.runtime,
is_building_layer=False,
experimental_flags=[EXPERIMENTAL_MAVEN_SCOPE_AND_LAYER_FLAG],
)
artifact_expected_files = [
join("aws", "lambdabuilders", "Main.class"),
Expand Down
13 changes: 0 additions & 13 deletions tests/unit/workflows/java/test_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@

from aws_lambda_builders.workflows.java.utils import (
jar_file_filter,
EXPERIMENTAL_MAVEN_SCOPE_AND_LAYER_FLAG,
is_experimental_maven_scope_and_layers_active,
)


Expand All @@ -20,14 +18,3 @@ class TestJavaUtils(TestCase):
)
def test_jar_file_filter(self, file_name, expected):
self.assertEqual(jar_file_filter(file_name), expected)

@parameterized.expand(
[
(None, False),
([], False),
([EXPERIMENTAL_MAVEN_SCOPE_AND_LAYER_FLAG], True),
([EXPERIMENTAL_MAVEN_SCOPE_AND_LAYER_FLAG, "SomeOtherFlag"], True),
]
)
def test_experimental_maven_scope_and_layers_check(self, experimental_flags, expected):
self.assertEqual(is_experimental_maven_scope_and_layers_active(experimental_flags), expected)
4 changes: 1 addition & 3 deletions tests/unit/workflows/java_gradle/test_workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@

from aws_lambda_builders.actions import CleanUpAction
from aws_lambda_builders.workflows.java.actions import JavaMoveDependenciesAction, JavaCopyDependenciesAction
from aws_lambda_builders.workflows.java.utils import EXPERIMENTAL_MAVEN_SCOPE_AND_LAYER_FLAG
from aws_lambda_builders.workflows.java_gradle.workflow import JavaGradleWorkflow
from aws_lambda_builders.workflows.java_gradle.actions import (
JavaGradleBuildAction,
Expand Down Expand Up @@ -98,14 +97,13 @@ def test_must_validate_architecture(self):
self.assertEqual(workflow.architecture, "x86_64")
self.assertEqual(workflow_with_arm.architecture, "arm64")

def test_workflow_sets_up_gradle_actions_for_layers_experimental(self):
def test_workflow_sets_up_gradle_actions_for_layers(self):
workflow = JavaGradleWorkflow(
"source",
"artifacts",
"scratch_dir",
"manifest",
is_building_layer=True,
experimental_flags=[EXPERIMENTAL_MAVEN_SCOPE_AND_LAYER_FLAG],
)

self.assertEqual(len(workflow.actions), 2)
Expand Down
14 changes: 1 addition & 13 deletions tests/unit/workflows/java_maven/test_maven.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ def test_copy_dependency(self):
maven = SubprocessMaven(maven_binary=self.maven_binary, os_utils=self.os_utils)
maven.copy_dependency(self.source_dir)
self.os_utils.popen.assert_called_with(
[self.maven_path, "dependency:copy-dependencies", "-DincludeScope=compile", "-Dmdep.prependGroupId=true"],
[self.maven_path, "dependency:copy-dependencies", "-DincludeScope=runtime", "-Dmdep.prependGroupId=true"],
cwd=self.source_dir,
stderr=subprocess.PIPE,
stdout=subprocess.PIPE,
Expand All @@ -74,15 +74,3 @@ def test_copy_dependency_raises_exception_if_retcode_not_0(self):
with self.assertRaises(MavenExecutionError) as err:
maven.copy_dependency(self.source_dir)
self.assertEqual(err.exception.args[0], "Maven Failed: Some Error Message")

def test_experimental_scope(self):
maven = SubprocessMaven(
maven_binary=self.maven_binary, os_utils=self.os_utils, is_experimental_maven_scope_enabled=True
)
maven.copy_dependency(self.source_dir)
self.os_utils.popen.assert_called_with(
[self.maven_path, "dependency:copy-dependencies", "-DincludeScope=runtime", "-Dmdep.prependGroupId=true"],
cwd=self.source_dir,
stderr=subprocess.PIPE,
stdout=subprocess.PIPE,
)
5 changes: 2 additions & 3 deletions tests/unit/workflows/java_maven/test_workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
from mock import patch, ANY

from aws_lambda_builders.workflows.java.actions import JavaCopyDependenciesAction, JavaMoveDependenciesAction
from aws_lambda_builders.workflows.java.utils import EXPERIMENTAL_MAVEN_SCOPE_AND_LAYER_FLAG
from aws_lambda_builders.workflows.java_maven.workflow import JavaMavenWorkflow
from aws_lambda_builders.workflows.java_maven.actions import (
JavaMavenBuildAction,
Expand Down Expand Up @@ -114,11 +113,11 @@ def test_workflow_sets_up_maven_actions_with_combine_dependencies(self, patched_
"scratch_dir",
"manifest",
is_building_layer=True,
experimental_flags=[EXPERIMENTAL_MAVEN_SCOPE_AND_LAYER_FLAG],
)

patched_maven_process.assert_called_with(
maven_binary=ANY, os_utils=ANY, is_experimental_maven_scope_enabled=True
maven_binary=ANY,
os_utils=ANY,
)

self.assertEqual(len(workflow.actions), 4)
Expand Down