{"action":"closed","issue":{"url":"https://api.github.com/repos/johnrengelman/shadow/issues/384","repository_url":"https://api.github.com/repos/johnrengelman/shadow","labels_url":"https://api.github.com/repos/johnrengelman/shadow/issues/384/labels{/name}","comments_url":"https://api.github.com/repos/johnrengelman/shadow/issues/384/comments","events_url":"https://api.github.com/repos/johnrengelman/shadow/issues/384/events","html_url":"https://github.com/johnrengelman/shadow/issues/384","id":329959877,"node_id":"MDU6SXNzdWUzMjk5NTk4Nzc=","number":384,"title":"Takes a very long time to shadow hive-exec","user":{"login":"ericsun2","id":8866410,"node_id":"MDQ6VXNlcjg4NjY0MTA=","avatar_url":"https://avatars1.githubusercontent.com/u/8866410?v=4","gravatar_id":"","url":"https://api.github.com/users/ericsun2","html_url":"https://github.com/ericsun2","followers_url":"https://api.github.com/users/ericsun2/followers","following_url":"https://api.github.com/users/ericsun2/following{/other_user}","gists_url":"https://api.github.com/users/ericsun2/gists{/gist_id}","starred_url":"https://api.github.com/users/ericsun2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericsun2/subscriptions","organizations_url":"https://api.github.com/users/ericsun2/orgs","repos_url":"https://api.github.com/users/ericsun2/repos","events_url":"https://api.github.com/users/ericsun2/events{/privacy}","received_events_url":"https://api.github.com/users/ericsun2/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2018-06-06T17:20:02Z","updated_at":"2018-09-12T00:53:41Z","closed_at":"2018-09-12T00:53:41Z","author_association":"NONE","body":"Please check the [User Guide](http://imperceptiblethoughts.com/shadow) before submitting \"how do I do 'x'?\" questions!\r\n\r\n### Shadow Version\r\n2.0.3\r\n\r\n### Gradle Version\r\n4.3.1\r\n\r\n### Expected Behavior \r\nWe have to shadow a few popular dependencies in hive-exec to avoid conflicts, such as Guava, Jline, Jackson...\r\nThe shadowJar() task is supposed to finish in seconds.\r\n\r\n### Actual Behavior\r\nIt takes more than 1.5 hours to complete the shadowJar() task.\r\n\r\n### Gradle Build Script(s)\r\n```\r\nplugins {\r\n  id 'java'\r\n  id 'com.github.johnrengelman.plugin-shadow' version '2.0.3'\r\n}\r\n\r\next.hiveVersion = '2.1.1'\r\n\r\ndependencies {\r\n  compile('org.apache.hive:hive-exec:${hiveVersion}') {\r\n    exclude group: 'org.apache.spark'\r\n    exclude group: 'org.apache.tez'\r\n    exclude group: 'org.apache.hive', module: 'hive-llap-tez'\r\n    exclude group: 'org.apache.hive', module: 'hive-ant'\r\n    exclude group: 'org.apache.hadoop', module: 'hadoop-archives'\r\n    exclude module: 'hadoop-annotations'\r\n    exclude module: 'hadoop-yarn-api'\r\n    exclude module: 'hadoop-yarn-common'\r\n    exclude module: 'hadoop-yarn-server-applicationhistoryservice'\r\n    exclude module: 'hadoop-yarn-server-common'\r\n    exclude module: 'hadoop-yarn-server-resourcemanager'\r\n    exclude module: 'hadoop-yarn-server-web-proxy'\r\n  }\r\n}\r\n\r\nconfigurations {\r\n  shadow\r\n}\r\n\r\nshadowJar {\r\n  zip64 true\r\n\r\n  // need to shade \"com.google.guava\" to avoid Guava conflict\r\n  relocate 'com.google', 'shadow.com.google'\r\n  relocate 'org.codehaus', 'shadow.org.codehaus'\r\n  relocate 'jline', 'shadow.jline'\r\n\r\n  classifier 'all'\r\n  // baseName 'hive-exec-shade'\r\n  version \"${hiveVersion}\"\r\n  mergeServiceFiles()\r\n\r\n  exclude 'LICENSE'\r\n  exclude(\r\n      'org/xml/**',\r\n      'javax/**',\r\n      'com/sun/**'\r\n  )\r\n  // archiveName = \"${baseName}-${spec.version}.${extension}\"\r\n}\r\n\r\nartifacts {\r\n  shadow(archives(shadowJar) {\r\n    builtBy shadowJar\r\n  })\r\n}\r\n```\r\n\r\n### Content of Shadow JAR (`jar tf <jar file>` - post link to GIST if too long)\r\n```\r\n$ sed 's/:/\\n/g' hive-exec-shade.classpath |cut -d/ -f8-9 |sort |uniq\r\n\r\nantlr/antlr\r\naopalliance/aopalliance\r\nasm/asm\r\ncom.fasterxml.jackson.core/jackson-annotations\r\ncom.fasterxml.jackson.core/jackson-core\r\ncom.fasterxml.jackson.core/jackson-databind\r\ncom.google.code.findbugs/jsr305\r\ncom.google.code.gson/gson\r\ncom.google.guava/guava\r\ncom.google.inject.extensions/guice-servlet\r\ncom.google.inject/guice\r\ncom.google.protobuf/protobuf-java\r\ncommons-cli/commons-cli\r\ncommons-codec/commons-codec\r\ncommons-collections/commons-collections\r\ncommons-dbcp/commons-dbcp\r\ncommons-httpclient/commons-httpclient\r\ncommons-io/commons-io\r\ncommons-lang/commons-lang\r\ncommons-logging/commons-logging\r\ncommons-pool/commons-pool\r\ncom.sun.jersey.contribs/jersey-guice\r\ncom.sun.jersey/jersey-client\r\ncom.sun.jersey/jersey-core\r\ncom.sun.jersey/jersey-json\r\ncom.sun.jersey/jersey-server\r\ncom.sun.xml.bind/jaxb-impl\r\nhive-exec-shade/libs\r\nio.netty/netty\r\njavax.activation/activation\r\njavax.inject/javax.inject\r\njavax.servlet/servlet-api\r\njavax.xml.bind/jaxb-api\r\njavax.xml.stream/stax-api\r\njline/jline\r\nlog4j/log4j\r\nnet.hydromatic/eigenbase-properties\r\norg.antlr/antlr-runtime\r\norg.antlr/ST4\r\norg.antlr/stringtemplate\r\norg.apache.ant/ant\r\norg.apache.ant/ant-launcher\r\norg.apache.calcite/calcite-avatica\r\norg.apache.calcite/calcite-core\r\norg.apache.calcite/calcite-linq4j\r\norg.apache.commons/commons-compress\r\norg.apache.curator/curator-client\r\norg.apache.curator/curator-framework\r\norg.apache.hadoop/hadoop-annotations\r\norg.apache.hadoop/hadoop-yarn-api\r\norg.apache.hadoop/hadoop-yarn-common\r\norg.apache.hadoop/hadoop-yarn-server-applicationhistoryservice\r\norg.apache.hadoop/hadoop-yarn-server-common\r\norg.apache.hadoop/hadoop-yarn-server-resourcemanager\r\norg.apache.hadoop/hadoop-yarn-server-web-proxy\r\norg.apache.hive/hive-exec\r\norg.apache.hive/hive-shims\r\norg.apache.hive.shims/hive-shims-0.23\r\norg.apache.hive.shims/hive-shims-common\r\norg.apache.hive.shims/hive-shims-scheduler\r\norg.apache.httpcomponents/httpclient\r\norg.apache.httpcomponents/httpcore\r\norg.apache.ivy/ivy\r\norg.apache.logging.log4j/log4j-1.2-api\r\norg.apache.logging.log4j/log4j-api\r\norg.apache.logging.log4j/log4j-core\r\norg.apache.logging.log4j/log4j-slf4j-impl\r\norg.apache.thrift/libthrift\r\norg.apache.zookeeper/zookeeper\r\norg.codehaus.groovy/groovy-all\r\norg.codehaus.jackson/jackson-core-asl\r\norg.codehaus.jackson/jackson-jaxrs\r\norg.codehaus.jackson/jackson-mapper-asl\r\norg.codehaus.jackson/jackson-xc\r\norg.codehaus.janino/commons-compiler\r\norg.codehaus.janino/janino\r\norg.codehaus.jettison/jettison\r\norg.datanucleus/datanucleus-core\r\norg.fusesource.leveldbjni/leveldbjni-all\r\norg.mortbay.jetty/jetty\r\norg.mortbay.jetty/jetty-util\r\norg.pentaho/pentaho-aggdesigner-algorithm\r\norg.slf4j/slf4j-api\r\norg.slf4j/slf4j-log4j12\r\norg.sonatype.sisu.inject/cglib\r\nstax/stax-api\r\n```"}}
{"actor":{"display_login":"johnrengelman"}}