JavaMavenWorkflow sam build fails with `[Errno 20] Not a directory`
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Domain
- build-system, cli
Research direction
Start with the JavaMavenWorkflow and its CopySource step, then inspect the copytree call shown in the traceback. Reproduce sam build --debug with CodeUri pointing to lambdas/mainlambda/target/lambda.jar and compare it with the expected Maven reactor command. Done means the existing project builds the JAR without the NotADirectoryError.
Written by the indexing model from the issue text.
Description
Getting an error when running sam build in an existing project of mine,
where the sam template has a CodeUri that points to a JAR file in a reactor build submodule.
Steps to reproduce the issue:
- existing java maven project using reactor builds with
1.1 a shaded jar generated in a maven submodule's target directory
(<project-top-level>/lambdas/mainlambda/target/lambda.jarin my case)
1.2 a template.yaml in the<project-top-level>directory using
CodeUri: lambdas/mainlambda/target/lambda.jar - cd
<project-top-level> sam build --debug
Observed result:
2019-04-28 19:31:55 Collected default values for parameters: {}
2019-04-28 19:31:55 12 resources found in the template
2019-04-28 19:31:55 Found Serverless function with name='LatestFunction' and CodeUri='lambdas/mainlambda/target/lambda.jar'
2019-04-28 19:31:55 Found Serverless function with name='LiveFunction' and CodeUri='lambdas/mainlambda/target/lambda.jar'
2019-04-28 19:31:55 Found Serverless function with name='TestRunnerFunction' and CodeUri='lambdas/testlambda/target/lambda.jar'
2019-04-28 19:31:55 Building resource 'LatestFunction'
2019-04-28 19:31:55 Looking for a supported build workflow in following directories: ['<scrubbed>/GitRepos/someproject/lambdas/mainlambda/target/lambda.jar', '<scrubbed>/GitRepos/someproject']
2019-04-28 19:31:55 Loading workflow module 'aws_lambda_builders.workflows'
2019-04-28 19:31:55 Registering workflow 'PythonPipBuilder' with capability 'Capability(language='python', dependency_manager='pip', application_framework=None)'
2019-04-28 19:31:55 Registering workflow 'NodejsNpmBuilder' with capability 'Capability(language='nodejs', dependency_manager='npm', application_framework=None)'
2019-04-28 19:31:55 Registering workflow 'RubyBundlerBuilder' with capability 'Capability(language='ruby', dependency_manager='bundler', application_framework=None)'
2019-04-28 19:31:55 Registering workflow 'GoDepBuilder' with capability 'Capability(language='go', dependency_manager='dep', application_framework=None)'
2019-04-28 19:31:55 Registering workflow 'GoModulesBuilder' with capability 'Capability(language='go', dependency_manager='modules', application_framework=None)'
2019-04-28 19:31:55 Registering workflow 'JavaGradleWorkflow' with capability 'Capability(language='java', dependency_manager='gradle', application_framework=None)'
2019-04-28 19:31:55 Registering workflow 'JavaMavenWorkflow' with capability 'Capability(language='java', dependency_manager='maven', application_framework=None)'
2019-04-28 19:31:55 Registering workflow 'DotnetCliPackageBuilder' with capability 'Capability(language='dotnet', dependency_manager='cli-package', application_framework=None)'
2019-04-28 19:31:55 Found workflow 'JavaMavenWorkflow' to support capabilities 'Capability(language='java', dependency_manager='maven', application_framework=None)'
2019-04-28 19:31:55 Running workflow 'JavaMavenWorkflow'
2019-04-28 19:31:55 Running JavaMavenWorkflow:CopySource
2019-04-28 19:31:55 JavaMavenWorkflow:CopySource raised unhandled exception
Traceback (most recent call last):
File "<scrubbed>/.virtualenvs/aws/lib/python3.6/site-packages/aws_lambda_builders/workflow.py", line 248, in run
action.execute()
File "<scrubbed>/.virtualenvs/aws/lib/python3.6/site-packages/aws_lambda_builders/actions.py", line 101, in execute
copytree(self.source_dir, self.dest_dir, ignore=shutil.ignore_patterns(*self.excludes))
File "<scrubbed>/.virtualenvs/aws/lib/python3.6/site-packages/aws_lambda_builders/utils.py", line 43, in copytree
names = os.listdir(source)
NotADirectoryError: [Errno 20] Not a directory: '<scrubbed>/GitRepos/someproject/lambdas/mainlambda/target/lambda.jar'
Expected result:
I would expect it to run the equivalent of
(in <project-top-level> folder)
mvn package -Dmaven.test.skip=true -pl lambdas/mainlambda -am
Which is what i run when I want to just build lambda.jar
-pl lambdas/mainlambdabecause that is the module folder of thetargetfolder wherelambda.jaris located.-ambecause otherwise reactor builds will fail-Dmaven.test.skip=truebecause when run from the aws-toolkit, you don't want to rerun the whole test suite (?)
This sam build failure is preventing me from creating launch configurations using aws-toolkit for Intellij.
Additional environment details (Ex: Windows, Mac, Amazon Linux etc)
I don't believe my environment makes any difference in this issue, but I'll answer any request for more information if that is deemed necessary
- Dominant language
- Python
- Stars
- 381
- Forks
- 162
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 2
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from aws/aws-lambda-builders
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
aws/aws-lambda-builders#925 · 1 reaction ·
-
Difficulty 4/5 3-5 days Newbie friendliness 64/100
aws/aws-lambda-builders#924 · 1 comment · 1 reaction ·
-
Bug: PythonUvBuilder fails to build app with dependencies on editable installs in the workspace Openstage/needs-triage
Difficulty 3/5 1-2 days Newbie friendliness 25/100
aws/aws-lambda-builders#892 ·
-
stage/needs-triage type/feature
Difficulty 4/5 3-5 days Newbie friendliness 38/100
aws/aws-lambda-builders#839 · 2 comments · 1 reaction ·
-
area/build contributors/good-first-issue contributors/welcome type/feature
Difficulty 4/5 3-5 days Newbie friendliness 38/100
aws/aws-lambda-builders#831 · 3 comments ·
All issues in aws/aws-lambda-builders
Similar issues
-
area: harness bug status: needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Human-Agent-Society/reef#625 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 1/5 Under an hour Newbie friendliness 80/100
learningequality/kolibri#15351 · 2 comments ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Name consistency Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
eellak/triplestore#65 · 1 comment ·