prestodb / presto-maven-plugin

Maven packaging and lifecycle for Presto plugins
Apache License 2.0
6 stars 26 forks source link

Skipping provided scope #2

Closed losipiuk closed 8 years ago

losipiuk commented 8 years ago

Hi!

I wanted to change the assembly descriptor to the dependencies declared as "provided" are skipped (not included in target zip). Is that possible with provisio maven plugin?

martint commented 8 years ago

That's the way it supposed to work already. Are you seeing something else?

losipiuk commented 8 years ago

Yeah.

I was looking at product test failures today and noticed that all the plugin dependencies (no matter what scope are they defined in) are embedded in target tar.gz.

For example for presto-teradata-functions I get following jars packed:

activation-1.1.1.jar                    jackson-datatype-guava-2.4.4.jar                log-manager-0.134.jar
aether-api-1.13.1.jar                   jackson-datatype-jdk7-2.4.4.jar             log4j-over-slf4j-1.7.12.jar
aether-connector-asynchttpclient-1.13.1.jar         jackson-datatype-jdk8-2.4.4.jar             logback-core-1.0.13.jar
aether-connector-file-1.13.1.jar                jackson-datatype-joda-2.4.4.jar             maven-aether-provider-3.0.4.jar
aether-impl-1.13.1.jar                  jackson-datatype-jsr310-2.4.4.jar               maven-artifact-3.0.4.jar
aether-spi-1.13.1.jar                   javassist-3.18.1-GA.jar                 maven-compat-3.0.4.jar
aether-util-1.13.1.jar                  javax.annotation-api-1.2.jar                maven-core-3.0.4.jar
annotations-2.0.3.jar                   javax.inject-1.jar                      maven-embedder-3.0.4.jar
antlr4-runtime-4.5.1.jar                    javax.servlet-api-3.1.0.jar                 maven-model-3.0.4.jar
aopalliance-1.0.jar                     javax.ws.rs-api-2.0.1.jar                   maven-model-builder-3.0.4.jar
asm-all-5.0.4.jar                       jaxb-api-2.2.6.jar                      maven-plugin-api-3.0.4.jar
async-http-client-1.6.5.jar                 jaxb-impl-2.2.6.jar                     maven-repository-metadata-3.0.4.jar
bootstrap-0.134.jar                     jaxrs-0.134.jar                     maven-settings-3.0.4.jar
bval-core-1.1.1.jar                     jcl-over-slf4j-1.7.12.jar                   maven-settings-builder-3.0.4.jar
bval-jsr-1.1.1.jar                      jersey-client-2.22.2.jar                    netty-3.7.0.Final.jar
cglib-nodep-2.2.2.jar                   jersey-common-2.22.2.jar                    node-0.134.jar
commons-beanutils-core-1.8.3.jar                jersey-container-servlet-2.22.2.jar             osgi-resource-locator-1.0.1.jar
commons-lang3-3.4.jar                   jersey-container-servlet-core-2.22.2.jar            plexus-cipher-1.7.jar
commons-math3-3.2.jar                   jersey-guava-2.22.2.jar                 plexus-classworlds-2.4.jar
concurrent-0.134.jar                    jersey-media-jaxb-2.22.2.jar                plexus-component-annotations-1.5.5.jar
configuration-0.134.jar                 jersey-server-2.22.2.jar                    plexus-container-default-1.5.5.jar
discovery-0.134.jar                     jetty-alpn-client-9.3.11.v20160721.jar          plexus-interpolation-1.14.jar
discovery-server-1.26.jar                   jetty-client-9.3.11.v20160721.jar               plexus-sec-dispatcher-1.3.jar
event-0.134.jar                     jetty-http-9.3.11.v20160721.jar             plexus-utils-2.0.6.jar
fastutil-6.5.9.jar                      jetty-io-9.3.11.v20160721.jar               presto-array-0.152-SNAPSHOT.jar
guava-18.0.jar                      jetty-jmx-9.3.11.v20160721.jar              presto-bytecode-0.152-SNAPSHOT.jar
guice-4.0.jar                       jetty-security-9.3.11.v20160721.jar             presto-client-0.152-SNAPSHOT.jar
guice-multibindings-4.0.jar                 jetty-server-9.3.11.v20160721.jar               presto-main-0.152-SNAPSHOT.jar
hk2-api-2.4.0-b34.jar                   jetty-servlet-9.3.11.v20160721.jar              presto-parser-0.152-SNAPSHOT.jar
hk2-locator-2.4.0-b34.jar                   jetty-util-9.3.11.v20160721.jar             presto-spi-0.152-SNAPSHOT.jar
hk2-utils-2.4.0-b34.jar                 jgrapht-core-0.9.0.jar                  presto-teradata-functions-0.152-SNAPSHOT.jar
http-client-0.134.jar                   jmx-0.134.jar                       re2j-td-1.4.jar
http-server-0.134.jar                   jmx-http-0.134.jar                      resolver-1.3.jar
http2-client-9.3.11.v20160721.jar               jmx-http-rpc-0.132.jar                  slf4j-api-1.7.12.jar
http2-common-9.3.11.v20160721.jar               jmxutils-1.19.jar                       slf4j-jdk14-1.7.12.jar
http2-hpack-9.3.11.v20160721.jar                joda-time-2.8.2.jar                     slice-0.24.jar
http2-http-client-transport-9.3.11.v20160721.jar        jol-core-0.2.jar                        stats-0.134.jar
http2-server-9.3.11.v20160721.jar               joni-2.1.5.1.jar                        trace-token-0.134.jar
jackson-annotations-2.4.4.jar               json-0.134.jar                      units-0.134.jar
jackson-core-2.4.4.jar                  leveldb-0.8.jar                     validation-api-1.1.0.Final.jar
jackson-databind-2.4.4.jar                  leveldb-api-0.8.jar                     wagon-provider-api-2.2.jar
jackson-dataformat-smile-2.4.4.jar              log-0.134.jar                       xbean-reflect-3.4.jar

While actually I should have just single antlr4-runtime-4.5.1.jar. I checked the plugin with manually stripped dependencies. And it works perfectly fine. We noticed problem when after recent changes joda-time-0.2.jar got into dependecies (as transitive dependency of some jackson lib).

Take a look at mvn dependency:tree -pl presto-teradata-functions.

[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building presto-teradata-functions 0.152-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.10:tree (default-cli) @ presto-teradata-functions ---
[INFO] com.facebook.presto:presto-teradata-functions:presto-plugin:0.152-SNAPSHOT
[INFO] +- com.facebook.presto:presto-spi:jar:0.152-SNAPSHOT:provided
[INFO] |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.4.4:provided
[INFO] |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.4.4:provided
[INFO] |  +- com.fasterxml.jackson.core:jackson-core:jar:2.4.4:provided
[INFO] |  \- org.openjdk.jol:jol-core:jar:0.2:provided
[INFO] +- com.facebook.presto:presto-main:jar:0.152-SNAPSHOT:provided
[INFO] |  +- it.unimi.dsi:fastutil:jar:6.5.9:provided
[INFO] |  +- org.apache.commons:commons-math3:jar:3.2:provided
[INFO] |  +- com.facebook.presto:presto-array:jar:0.152-SNAPSHOT:provided
[INFO] |  +- com.facebook.presto:presto-client:jar:0.152-SNAPSHOT:provided
[INFO] |  +- com.facebook.presto:presto-parser:jar:0.152-SNAPSHOT:provided
[INFO] |  +- com.facebook.presto:presto-bytecode:jar:0.152-SNAPSHOT:provided
[INFO] |  +- com.google.code.findbugs:annotations:jar:2.0.3:provided
[INFO] |  +- io.airlift:bootstrap:jar:0.134:provided
[INFO] |  +- io.airlift:concurrent:jar:0.134:provided
[INFO] |  +- io.airlift:node:jar:0.134:provided
[INFO] |  +- io.airlift:json:jar:0.134:provided
[INFO] |  |  +- com.fasterxml.jackson.datatype:jackson-datatype-jdk7:jar:2.4.4:provided
[INFO] |  |  +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.4.4:provided
[INFO] |  |  +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.4.4:provided
[INFO] |  |  +- com.fasterxml.jackson.datatype:jackson-datatype-guava:jar:2.4.4:provided
[INFO] |  |  \- com.fasterxml.jackson.datatype:jackson-datatype-joda:jar:2.4.4:provided
[INFO] |  +- io.airlift:configuration:jar:0.134:provided
[INFO] |  |  +- org.apache.bval:bval-jsr:jar:1.1.1:provided
[INFO] |  |  |  +- org.apache.bval:bval-core:jar:1.1.1:provided
[INFO] |  |  |  |  \- commons-beanutils:commons-beanutils-core:jar:1.8.3:provided
[INFO] |  |  |  +- org.apache.commons:commons-lang3:jar:3.4:provided
[INFO] |  |  |  +- javax.xml.bind:jaxb-api:jar:2.2.6:provided
[INFO] |  |  |  \- com.sun.xml.bind:jaxb-impl:jar:2.2.6:provided
[INFO] |  |  \- cglib:cglib-nodep:jar:2.2.2:provided
[INFO] |  +- io.airlift:discovery:jar:0.134:provided
[INFO] |  +- io.airlift:event:jar:0.134:provided
[INFO] |  +- io.airlift:http-server:jar:0.134:provided
[INFO] |  |  +- org.eclipse.jetty:jetty-http:jar:9.3.11.v20160721:provided
[INFO] |  |  +- org.eclipse.jetty:jetty-io:jar:9.3.11.v20160721:provided
[INFO] |  |  +- org.eclipse.jetty.http2:http2-server:jar:9.3.11.v20160721:provided
[INFO] |  |  |  \- org.eclipse.jetty.http2:http2-common:jar:9.3.11.v20160721:provided
[INFO] |  |  |     \- org.eclipse.jetty.http2:http2-hpack:jar:9.3.11.v20160721:provided
[INFO] |  |  +- org.eclipse.jetty:jetty-server:jar:9.3.11.v20160721:provided
[INFO] |  |  +- org.eclipse.jetty:jetty-util:jar:9.3.11.v20160721:provided
[INFO] |  |  +- org.eclipse.jetty:jetty-servlet:jar:9.3.11.v20160721:provided
[INFO] |  |  +- org.eclipse.jetty:jetty-security:jar:9.3.11.v20160721:provided
[INFO] |  |  +- org.eclipse.jetty:jetty-jmx:jar:9.3.11.v20160721:provided
[INFO] |  |  \- ch.qos.logback:logback-core:jar:1.0.13:provided
[INFO] |  +- io.airlift:jaxrs:jar:0.134:provided
[INFO] |  |  +- javax.activation:activation:jar:1.1.1:provided
[INFO] |  |  +- org.glassfish.jersey.core:jersey-common:jar:2.22.2:provided
[INFO] |  |  |  +- org.glassfish.jersey.bundles.repackaged:jersey-guava:jar:2.22.2:provided
[INFO] |  |  |  +- org.glassfish.hk2:hk2-api:jar:2.4.0-b34:provided
[INFO] |  |  |  |  \- org.glassfish.hk2:hk2-utils:jar:2.4.0-b34:provided
[INFO] |  |  |  +- org.glassfish.hk2:hk2-locator:jar:2.4.0-b34:provided
[INFO] |  |  |  |  \- org.javassist:javassist:jar:3.18.1-GA:provided
[INFO] |  |  |  \- org.glassfish.hk2:osgi-resource-locator:jar:1.0.1:provided
[INFO] |  |  +- org.glassfish.jersey.core:jersey-server:jar:2.22.2:provided
[INFO] |  |  |  +- org.glassfish.jersey.core:jersey-client:jar:2.22.2:provided
[INFO] |  |  |  \- org.glassfish.jersey.media:jersey-media-jaxb:jar:2.22.2:provided
[INFO] |  |  +- org.glassfish.jersey.containers:jersey-container-servlet-core:jar:2.22.2:provided
[INFO] |  |  +- org.glassfish.jersey.containers:jersey-container-servlet:jar:2.22.2:provided
[INFO] |  |  \- com.fasterxml.jackson.dataformat:jackson-dataformat-smile:jar:2.4.4:provided
[INFO] |  +- io.airlift:jmx:jar:0.134:provided
[INFO] |  |  \- com.sun:tools:jar:1.8:system
[INFO] |  +- io.airlift:jmx-http:jar:0.134:provided
[INFO] |  +- io.airlift:log:jar:0.134:provided
[INFO] |  +- io.airlift:log-manager:jar:0.134:provided
[INFO] |  |  +- org.slf4j:slf4j-jdk14:jar:1.7.12:provided
[INFO] |  |  +- org.slf4j:log4j-over-slf4j:jar:1.7.12:provided
[INFO] |  |  \- org.slf4j:jcl-over-slf4j:jar:1.7.12:provided
[INFO] |  +- io.airlift.resolver:resolver:jar:1.3:provided
[INFO] |  |  +- org.sonatype.aether:aether-spi:jar:1.13.1:provided
[INFO] |  |  +- org.sonatype.aether:aether-impl:jar:1.13.1:provided
[INFO] |  |  +- org.sonatype.aether:aether-util:jar:1.13.1:provided
[INFO] |  |  +- org.sonatype.aether:aether-connector-file:jar:1.13.1:provided
[INFO] |  |  +- org.sonatype.aether:aether-connector-asynchttpclient:jar:1.13.1:provided
[INFO] |  |  |  \- com.ning:async-http-client:jar:1.6.5:provided
[INFO] |  |  +- io.netty:netty:jar:3.7.0.Final:provided
[INFO] |  |  +- org.apache.maven:maven-core:jar:3.0.4:provided
[INFO] |  |  |  +- org.apache.maven:maven-settings:jar:3.0.4:provided
[INFO] |  |  |  +- org.apache.maven:maven-settings-builder:jar:3.0.4:provided
[INFO] |  |  |  +- org.apache.maven:maven-repository-metadata:jar:3.0.4:provided
[INFO] |  |  |  +- org.apache.maven:maven-plugin-api:jar:3.0.4:provided
[INFO] |  |  |  +- org.apache.maven:maven-model-builder:jar:3.0.4:provided
[INFO] |  |  |  +- org.codehaus.plexus:plexus-interpolation:jar:1.14:provided
[INFO] |  |  |  +- org.codehaus.plexus:plexus-utils:jar:2.0.6:provided
[INFO] |  |  |  +- org.codehaus.plexus:plexus-component-annotations:jar:1.5.5:provided
[INFO] |  |  |  \- org.sonatype.plexus:plexus-sec-dispatcher:jar:1.3:provided
[INFO] |  |  +- org.apache.maven:maven-model:jar:3.0.4:provided
[INFO] |  |  +- org.apache.maven:maven-artifact:jar:3.0.4:provided
[INFO] |  |  +- org.apache.maven:maven-aether-provider:jar:3.0.4:provided
[INFO] |  |  +- org.apache.maven:maven-embedder:jar:3.0.4:provided
[INFO] |  |  |  +- org.apache.maven:maven-compat:jar:3.0.4:provided
[INFO] |  |  |  |  \- org.apache.maven.wagon:wagon-provider-api:jar:2.2:provided
[INFO] |  |  |  \- org.sonatype.plexus:plexus-cipher:jar:1.7:provided
[INFO] |  |  +- org.codehaus.plexus:plexus-container-default:jar:1.5.5:provided
[INFO] |  |  |  \- org.apache.xbean:xbean-reflect:jar:3.4:provided
[INFO] |  |  +- org.codehaus.plexus:plexus-classworlds:jar:2.4:provided
[INFO] |  |  \- org.slf4j:slf4j-api:jar:1.7.12:provided
[INFO] |  +- io.airlift:stats:jar:0.134:provided
[INFO] |  +- io.airlift:trace-token:jar:0.134:provided
[INFO] |  +- io.airlift:units:jar:0.134:provided
[INFO] |  +- io.airlift:joni:jar:2.1.5.1:provided
[INFO] |  +- com.teradata:re2j-td:jar:1.4:provided
[INFO] |  +- io.airlift.discovery:discovery-server:jar:1.26:provided
[INFO] |  |  +- io.airlift:jmx-http-rpc:jar:0.132:provided
[INFO] |  |  +- org.iq80.leveldb:leveldb-api:jar:0.8:provided
[INFO] |  |  \- org.iq80.leveldb:leveldb:jar:0.8:provided
[INFO] |  +- javax.servlet:javax.servlet-api:jar:3.1.0:provided
[INFO] |  +- javax.annotation:javax.annotation-api:jar:1.2:provided
[INFO] |  +- javax.ws.rs:javax.ws.rs-api:jar:2.0.1:provided
[INFO] |  +- org.weakref:jmxutils:jar:1.19:provided
[INFO] |  +- javax.validation:validation-api:jar:1.1.0.Final:provided
[INFO] |  +- com.google.inject:guice:jar:4.0:provided
[INFO] |  |  \- aopalliance:aopalliance:jar:1.0:provided
[INFO] |  +- com.google.inject.extensions:guice-multibindings:jar:4.0:provided
[INFO] |  +- io.airlift:http-client:jar:0.134:provided
[INFO] |  |  +- org.eclipse.jetty:jetty-client:jar:9.3.11.v20160721:provided
[INFO] |  |  +- org.eclipse.jetty.http2:http2-client:jar:9.3.11.v20160721:provided
[INFO] |  |  |  \- org.eclipse.jetty:jetty-alpn-client:jar:9.3.11.v20160721:provided
[INFO] |  |  \- org.eclipse.jetty.http2:http2-http-client-transport:jar:9.3.11.v20160721:provided
[INFO] |  +- org.sonatype.aether:aether-api:jar:1.13.1:provided
[INFO] |  +- org.ow2.asm:asm-all:jar:5.0.4:provided
[INFO] |  \- org.jgrapht:jgrapht-core:jar:0.9.0:provided
[INFO] +- javax.inject:javax.inject:jar:1:provided
[INFO] +- io.airlift:slice:jar:0.24:provided
[INFO] +- com.google.guava:guava:jar:18.0:provided
[INFO] +- joda-time:joda-time:jar:2.8.2:provided
[INFO] +- org.antlr:antlr4-runtime:jar:4.5.1:compile
[INFO] +- org.testng:testng:jar:6.8.21:test
[INFO] |  +- org.beanshell:bsh:jar:2.0b4:test
[INFO] |  \- com.beust:jcommander:jar:1.27:test
[INFO] +- com.facebook.presto:presto-tests:jar:0.152-SNAPSHOT:test
[INFO] |  +- com.facebook.presto:presto-tpch:jar:0.152-SNAPSHOT:test
[INFO] |  +- io.airlift.tpch:tpch:jar:0.8:test
[INFO] |  +- io.airlift:testing:jar:0.134:test
[INFO] |  +- org.jdbi:jdbi:jar:2.63.1:test
[INFO] |  \- com.h2database:h2:jar:1.4.189:test
[INFO] \- com.facebook.presto:presto-main:test-jar:tests:0.152-SNAPSHOT:test
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.358 s
[INFO] Finished at: 2016-08-19T21:36:47+02:00
[INFO] Final Memory: 49M/443M
[INFO] ------------------------------------------------------------------------
jvanzyl commented 8 years ago

Should be fixed now that system and provided scope artifacts are not included.