alexa / alexa-skills-kit-sdk-for-java

The Alexa Skills Kit SDK for Java helps you get a skill up and running quickly, letting you focus on skill logic instead of boilerplate code.
http://developer.amazon.com/ask
Apache License 2.0
815 stars 748 forks source link

Very useful - should be published to maven #6

Closed fzakaria closed 8 years ago

fzakaria commented 8 years ago

It would be great if this "SDK" was published to Maven. At the moment I am simply copy-pasting it into my project but I think its good enough to warrant being a 1st tier library.

jjaquinta commented 8 years ago

It is. Although it lags this release a bit. I'm not a maven user so I can't point you at it. But if you search maven, you should find it.

fzakaria commented 8 years ago

For those curious:

      <dependency>
            <groupId>com.amazon.alexa</groupId>
            <artifactId>alexa-skills-kit</artifactId>
            <version>1.1</version>
        </dependency>

Do you guys take pull-requests ?

fzakaria commented 8 years ago

@jjaquinta what's frustrating about what's published to maven is that I don't think there' a valid pom.xml which means all the dependencies aren't picked up

fzakaria commented 8 years ago

For those curious here is what you might need to add to the pom.xml since it doesn't pull anything transitively

        <!-- ALEXA DEPENDENCIES: Does not publish a POM! -->
        <dependency>
            <groupId>com.amazon.alexa</groupId>
            <artifactId>alexa-skills-kit</artifactId>
            <version>1.1</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.4</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.0</version>
        </dependency>
        <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-lambda-java-core</artifactId>
            <version>${lambda.version}</version>
        </dependency>
        <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-lambda-java-events</artifactId>
            <version>${lambda.version}</version>
        </dependency>
        <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-lambda-java-log4j</artifactId>
            <version>1.0.0</version>
            <scope>runtime</scope>
        </dependency>
        <!-- ALEXA DEPENDENCIES -->
```xml
jjaquinta commented 8 years ago

I can't help you there. As I said, I don't use maven. The skills I write are, generally, professional skills, and I will not use Maven, Grade, or any similar build tool in a professional context. I can't afford to have dependencies pulled in without me, or my legal team, vetting them. However, I did download this project, and I did run maven on it using the pom.xml file in the examples branch, in order to pull down those dependencies. I then vetted and copied them manually.

fzakaria commented 8 years ago

btw, publishing a POM will help other developers know what version of each dependency the library was intended for use with... I think its odd to publish the JAR to a maven repository but the accompanying metadata (or the sources JAR/Javadoc)