Java AWS handler separator is incorrect

I have been doing a POC with Travis to see if it fits my CI/CD needs. So far so good. I am to the point where I want to do a deploy though and am running into a couple of issues.

For Java runtime in AWS Lambda the separator is module::handler or double colon however it appear that Travis is using module.handler or a dot.

Also, when I do the upload I am not sure what file is being sent or the internal structure of Travis’ files. I tried setting the file path but based on AWS telling me the file is too large I am thinking it is not correct.

deploy:
- provider: lambda
  access_key_id: $AWS_KEY
  secret_access_key: $AWS_SECRET
  function_name: "grant-jwt"
  region: "us-east-2"
  role: "<arn>"
  runtime: "java8"
  module_name: "com.dapper.cloud.function.GrantJwt"
  handler_name: "handleRequest"
  file: "./grant-jwt/target/grant-jwt-0.0.1-SNAPSHOT.jar"

Lastly, is there a concise list of the .travis.yml commands? The examples and docs are helpful in getting started but it is hard to piece things together after a certain point.

I opened this SO question if you anyone wants the internet cred :wink:

The handler name is constructed here:

I suppose it is straightforward to vary the handle name construction based on the runtime value.

Not going to lie my Ruby experience is nill. If help is needed I can give it a shot though.

The break down of other Runtimes handlers are:

.NET
Everything is double colon.

Java
Dot for package and double colon for handler method

GO
It calls main package main method (not sure about this).

Node, Python, Ruby
module dot method

Does this need an issue on the GitHub repo to work on? I can dedicate sometime to getting this implemented. I also opened another one about defaults which will be in the same area I can work on in this.

Imprint