{"action":"created","issue":{"url":"https://api.github.com/repos/Putnami/putnami-gradle-plugin/issues/47","repository_url":"https://api.github.com/repos/Putnami/putnami-gradle-plugin","labels_url":"https://api.github.com/repos/Putnami/putnami-gradle-plugin/issues/47/labels{/name}","comments_url":"https://api.github.com/repos/Putnami/putnami-gradle-plugin/issues/47/comments","events_url":"https://api.github.com/repos/Putnami/putnami-gradle-plugin/issues/47/events","html_url":"https://github.com/Putnami/putnami-gradle-plugin/issues/47","id":160369643,"number":47,"title":"This plug-in needs separate configuration?","user":{"login":"hrstoyanov","id":5327044,"avatar_url":"https://avatars.githubusercontent.com/u/5327044?v=3","gravatar_id":"","url":"https://api.github.com/users/hrstoyanov","html_url":"https://github.com/hrstoyanov","followers_url":"https://api.github.com/users/hrstoyanov/followers","following_url":"https://api.github.com/users/hrstoyanov/following{/other_user}","gists_url":"https://api.github.com/users/hrstoyanov/gists{/gist_id}","starred_url":"https://api.github.com/users/hrstoyanov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrstoyanov/subscriptions","organizations_url":"https://api.github.com/users/hrstoyanov/orgs","repos_url":"https://api.github.com/users/hrstoyanov/repos","events_url":"https://api.github.com/users/hrstoyanov/events{/privacy}","received_events_url":"https://api.github.com/users/hrstoyanov/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Putnami/putnami-gradle-plugin/labels/bug","name":"bug","color":"fc2929"}],"state":"open","locked":false,"assignee":{"login":"fdumay","id":1067297,"avatar_url":"https://avatars.githubusercontent.com/u/1067297?v=3","gravatar_id":"","url":"https://api.github.com/users/fdumay","html_url":"https://github.com/fdumay","followers_url":"https://api.github.com/users/fdumay/followers","following_url":"https://api.github.com/users/fdumay/following{/other_user}","gists_url":"https://api.github.com/users/fdumay/gists{/gist_id}","starred_url":"https://api.github.com/users/fdumay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fdumay/subscriptions","organizations_url":"https://api.github.com/users/fdumay/orgs","repos_url":"https://api.github.com/users/fdumay/repos","events_url":"https://api.github.com/users/fdumay/events{/privacy}","received_events_url":"https://api.github.com/users/fdumay/received_events","type":"User","site_admin":false},"assignees":[{"login":"fdumay","id":1067297,"avatar_url":"https://avatars.githubusercontent.com/u/1067297?v=3","gravatar_id":"","url":"https://api.github.com/users/fdumay","html_url":"https://github.com/fdumay","followers_url":"https://api.github.com/users/fdumay/followers","following_url":"https://api.github.com/users/fdumay/following{/other_user}","gists_url":"https://api.github.com/users/fdumay/gists{/gist_id}","starred_url":"https://api.github.com/users/fdumay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fdumay/subscriptions","organizations_url":"https://api.github.com/users/fdumay/orgs","repos_url":"https://api.github.com/users/fdumay/repos","events_url":"https://api.github.com/users/fdumay/events{/privacy}","received_events_url":"https://api.github.com/users/fdumay/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/Putnami/putnami-gradle-plugin/milestones/4","html_url":"https://github.com/Putnami/putnami-gradle-plugin/milestones/0.4.0%20RELEASE","labels_url":"https://api.github.com/repos/Putnami/putnami-gradle-plugin/milestones/4/labels","id":1837668,"number":4,"title":"0.4.0 RELEASE","description":"- Plugin complient with Gradle 3\r\n- Fix some issues\r\n","creator":{"login":"fdumay","id":1067297,"avatar_url":"https://avatars.githubusercontent.com/u/1067297?v=3","gravatar_id":"","url":"https://api.github.com/users/fdumay","html_url":"https://github.com/fdumay","followers_url":"https://api.github.com/users/fdumay/followers","following_url":"https://api.github.com/users/fdumay/following{/other_user}","gists_url":"https://api.github.com/users/fdumay/gists{/gist_id}","starred_url":"https://api.github.com/users/fdumay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fdumay/subscriptions","organizations_url":"https://api.github.com/users/fdumay/orgs","repos_url":"https://api.github.com/users/fdumay/repos","events_url":"https://api.github.com/users/fdumay/events{/privacy}","received_events_url":"https://api.github.com/users/fdumay/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":2,"state":"closed","created_at":"2016-06-20T09:07:06Z","updated_at":"2016-07-06T13:06:50Z","due_on":"2016-07-30T22:00:00Z","closed_at":"2016-07-06T13:06:50Z"},"comments":8,"created_at":"2016-06-15T08:50:00Z","updated_at":"2016-09-09T19:35:48Z","closed_at":null,"body":"I am looking at my dependnecies and coming to the conclusion that this plugin needs its own configuration (classpath), so that it does not mess around with ```compile```. \r\n\r\nHere is the problem: by adding GWT specific development jars transitively (via **gwt-codeserver.jar** and **gwt-dev.jar**) to the ```compile{...}``` configuration/classpath,  this plugin produces a fat WAR bundle with a lot of unnecessary jars in it!\r\n\r\n```\r\ncompile - Dependencies for source set 'main'.\r\n+--- com.google.gwt:gwt-codeserver:2.8.0-SNAPSHOT\r\n|    \\--- com.google.gwt:gwt-dev:2.8.0-SNAPSHOT\r\n|         +--- org.ow2.asm:asm:5.0.3\r\n|         +--- org.ow2.asm:asm-util:5.0.3\r\n|         |    \\--- org.ow2.asm:asm-tree:5.0.3\r\n|         |         \\--- org.ow2.asm:asm:5.0.3\r\n|         +--- org.ow2.asm:asm-commons:5.0.3\r\n|         |    \\--- org.ow2.asm:asm-tree:5.0.3 (*)\r\n|         +--- org.eclipse.jetty.websocket:websocket-client:9.2.14.v20151106\r\n|         |    +--- org.eclipse.jetty:jetty-util:9.2.14.v20151106\r\n|         |    +--- org.eclipse.jetty:jetty-io:9.2.14.v20151106\r\n|         |    |    \\--- org.eclipse.jetty:jetty-util:9.2.14.v20151106\r\n|         |    \\--- org.eclipse.jetty.websocket:websocket-common:9.2.14.v20151106\r\n|         |         +--- org.eclipse.jetty.websocket:websocket-api:9.2.14.v20151106\r\n|         |         +--- org.eclipse.jetty:jetty-util:9.2.14.v20151106\r\n|         |         \\--- org.eclipse.jetty:jetty-io:9.2.14.v20151106 (*)\r\n|         +--- org.eclipse.jetty:jetty-webapp:9.2.14.v20151106\r\n|         |    +--- org.eclipse.jetty:jetty-xml:9.2.14.v20151106\r\n|         |    |    \\--- org.eclipse.jetty:jetty-util:9.2.14.v20151106\r\n|         |    \\--- org.eclipse.jetty:jetty-servlet:9.2.14.v20151106\r\n|         |         \\--- org.eclipse.jetty:jetty-security:9.2.14.v20151106\r\n|         |              \\--- org.eclipse.jetty:jetty-server:9.2.14.v20151106\r\n|         |                   +--- javax.servlet:javax.servlet-api:3.1.0 -> javax:javaee-api:7.0\r\n|         |                   |    \\--- com.sun.mail:javax.mail:1.5.0\r\n|         |                   |         \\--- javax.activation:activation:1.1\r\n|         |                   +--- org.eclipse.jetty:jetty-http:9.2.14.v20151106\r\n|         |                   |    \\--- org.eclipse.jetty:jetty-util:9.2.14.v20151106\r\n|         |                   \\--- org.eclipse.jetty:jetty-io:9.2.14.v20151106 (*)\r\n|         +--- org.eclipse.jetty:jetty-servlets:9.2.14.v20151106\r\n|         |    +--- org.eclipse.jetty:jetty-continuation:9.2.14.v20151106\r\n|         |    +--- org.eclipse.jetty:jetty-http:9.2.14.v20151106 (*)\r\n|         |    +--- org.eclipse.jetty:jetty-util:9.2.14.v20151106\r\n|         |    \\--- org.eclipse.jetty:jetty-io:9.2.14.v20151106 (*)\r\n|         +--- org.eclipse.jetty:jetty-annotations:9.2.14.v20151106\r\n|         |    +--- org.eclipse.jetty:jetty-plus:9.2.14.v20151106\r\n|         |    |    +--- org.eclipse.jetty:jetty-webapp:9.2.14.v20151106 (*)\r\n|         |    |    \\--- org.eclipse.jetty:jetty-jndi:9.2.14.v20151106\r\n|         |    |         \\--- org.eclipse.jetty:jetty-util:9.2.14.v20151106\r\n|         |    +--- org.eclipse.jetty:jetty-webapp:9.2.14.v20151106 (*)\r\n|         |    +--- javax.annotation:javax.annotation-api:1.2 -> javax:javaee-api:7.0 (*)\r\n|         |    +--- org.ow2.asm:asm:5.0.1 -> 5.0.3\r\n|         |    \\--- org.ow2.asm:asm-commons:5.0.1 -> 5.0.3 (*)\r\n|         \\--- org.eclipse.jetty:apache-jsp:9.2.14.v20151106\r\n|              +--- org.eclipse.jetty:jetty-util:9.2.14.v20151106\r\n|              +--- org.eclipse.jetty:jetty-server:9.2.14.v20151106 (*)\r\n|              +--- org.eclipse.jetty.toolchain:jetty-schemas:3.1.M0\r\n|              +--- javax.servlet:javax.servlet-api:3.1.0 -> javax:javaee-api:7.0 (*)\r\n|              \\--- org.mortbay.jasper:apache-jsp:8.0.9.M3\r\n|                   +--- org.eclipse.jetty.toolchain:jetty-schemas:3.1.M0\r\n|                   \\--- org.mortbay.jasper:apache-el:8.0.9.M3\r\n+--- com.google.gwt:gwt-user:2.8.0-SNAPSHOT\r\n|    +--- com.google.jsinterop:jsinterop-annotations:1.0.0-SNAPSHOT\r\n|    \\--- javax.validation:validation-api:1.0.0.GA\r\n``` \r\n\r\nA better approach, IMHO, is to define a ```gwt{...}``` compile scope/scope which may inherit form ```compile{...}``` , but  it does no mess around with the classpath.\r\n\r\nExamples:\r\n[CARGO](https://github.com/bmuschko/gradle-cargo-plugin) - note how ```cargo``` is used in the ```dependencies{...}``` not poluting the ```compile{...}``` configuration\r\n\r\n[GWT](http://steffenschaefer.github.io/gwt-gradle-plugin/doc/latest/dependencies) - see this example:\r\n```\r\ndependencies {\r\n    gwt 'foo:bar:1.2.3'  \r\n    gwt group: 'foo', name: 'bar', version: '1.2.3', classifier: 'sources'\r\n}\r\n```\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/Putnami/putnami-gradle-plugin/issues/comments/246016744","html_url":"https://github.com/Putnami/putnami-gradle-plugin/issues/47#issuecomment-246016744","issue_url":"https://api.github.com/repos/Putnami/putnami-gradle-plugin/issues/47","id":246016744,"user":{"login":"hrstoyanov","id":5327044,"avatar_url":"https://avatars.githubusercontent.com/u/5327044?v=3","gravatar_id":"","url":"https://api.github.com/users/hrstoyanov","html_url":"https://github.com/hrstoyanov","followers_url":"https://api.github.com/users/hrstoyanov/followers","following_url":"https://api.github.com/users/hrstoyanov/following{/other_user}","gists_url":"https://api.github.com/users/hrstoyanov/gists{/gist_id}","starred_url":"https://api.github.com/users/hrstoyanov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrstoyanov/subscriptions","organizations_url":"https://api.github.com/users/hrstoyanov/orgs","repos_url":"https://api.github.com/users/hrstoyanov/repos","events_url":"https://api.github.com/users/hrstoyanov/events{/privacy}","received_events_url":"https://api.github.com/users/hrstoyanov/received_events","type":"User","site_admin":false},"created_at":"2016-09-09T19:35:48Z","updated_at":"2016-09-09T19:35:48Z","body":"@fdumay \r\nAny chance to address this ... adding assets to ```providedCompile``` has significant implications and side-effects on what gets packaged  into the final war, the best approacj is to stay away from the built-in configuration and use your own."}}
{"actor":{"display_login":"hrstoyanov"}}