{"action":"closed","issue":{"url":"https://api.github.com/repos/spring-projects/spring-boot/issues/6812","repository_url":"https://api.github.com/repos/spring-projects/spring-boot","labels_url":"https://api.github.com/repos/spring-projects/spring-boot/issues/6812/labels{/name}","comments_url":"https://api.github.com/repos/spring-projects/spring-boot/issues/6812/comments","events_url":"https://api.github.com/repos/spring-projects/spring-boot/issues/6812/events","html_url":"https://github.com/spring-projects/spring-boot/issues/6812","id":174839171,"number":6812,"title":"Document how to use BOOT-INF in spring-boot executable jar as a library jar with Gradle","user":{"login":"binarylegit","id":74531,"avatar_url":"https://avatars.githubusercontent.com/u/74531?v=3","gravatar_id":"","url":"https://api.github.com/users/binarylegit","html_url":"https://github.com/binarylegit","followers_url":"https://api.github.com/users/binarylegit/followers","following_url":"https://api.github.com/users/binarylegit/following{/other_user}","gists_url":"https://api.github.com/users/binarylegit/gists{/gist_id}","starred_url":"https://api.github.com/users/binarylegit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/binarylegit/subscriptions","organizations_url":"https://api.github.com/users/binarylegit/orgs","repos_url":"https://api.github.com/users/binarylegit/repos","events_url":"https://api.github.com/users/binarylegit/events{/privacy}","received_events_url":"https://api.github.com/users/binarylegit/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/spring-projects/spring-boot/labels/documentation","name":"documentation","color":"009800"}],"state":"closed","locked":false,"assignee":{"login":"wilkinsona","id":914682,"avatar_url":"https://avatars.githubusercontent.com/u/914682?v=3","gravatar_id":"","url":"https://api.github.com/users/wilkinsona","html_url":"https://github.com/wilkinsona","followers_url":"https://api.github.com/users/wilkinsona/followers","following_url":"https://api.github.com/users/wilkinsona/following{/other_user}","gists_url":"https://api.github.com/users/wilkinsona/gists{/gist_id}","starred_url":"https://api.github.com/users/wilkinsona/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wilkinsona/subscriptions","organizations_url":"https://api.github.com/users/wilkinsona/orgs","repos_url":"https://api.github.com/users/wilkinsona/repos","events_url":"https://api.github.com/users/wilkinsona/events{/privacy}","received_events_url":"https://api.github.com/users/wilkinsona/received_events","type":"User","site_admin":false},"assignees":[{"login":"wilkinsona","id":914682,"avatar_url":"https://avatars.githubusercontent.com/u/914682?v=3","gravatar_id":"","url":"https://api.github.com/users/wilkinsona","html_url":"https://github.com/wilkinsona","followers_url":"https://api.github.com/users/wilkinsona/followers","following_url":"https://api.github.com/users/wilkinsona/following{/other_user}","gists_url":"https://api.github.com/users/wilkinsona/gists{/gist_id}","starred_url":"https://api.github.com/users/wilkinsona/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wilkinsona/subscriptions","organizations_url":"https://api.github.com/users/wilkinsona/orgs","repos_url":"https://api.github.com/users/wilkinsona/repos","events_url":"https://api.github.com/users/wilkinsona/events{/privacy}","received_events_url":"https://api.github.com/users/wilkinsona/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/spring-projects/spring-boot/milestones/72","html_url":"https://github.com/spring-projects/spring-boot/milestones/1.4.1","labels_url":"https://api.github.com/repos/spring-projects/spring-boot/milestones/72/labels","id":1908342,"number":72,"title":"1.4.1","description":"","creator":{"login":"philwebb","id":519772,"avatar_url":"https://avatars.githubusercontent.com/u/519772?v=3","gravatar_id":"","url":"https://api.github.com/users/philwebb","html_url":"https://github.com/philwebb","followers_url":"https://api.github.com/users/philwebb/followers","following_url":"https://api.github.com/users/philwebb/following{/other_user}","gists_url":"https://api.github.com/users/philwebb/gists{/gist_id}","starred_url":"https://api.github.com/users/philwebb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/philwebb/subscriptions","organizations_url":"https://api.github.com/users/philwebb/orgs","repos_url":"https://api.github.com/users/philwebb/repos","events_url":"https://api.github.com/users/philwebb/events{/privacy}","received_events_url":"https://api.github.com/users/philwebb/received_events","type":"User","site_admin":false},"open_issues":11,"closed_issues":135,"state":"open","created_at":"2016-07-27T23:02:05Z","updated_at":"2016-09-19T13:00:42Z","due_on":"2016-09-21T00:00:00Z","closed_at":null},"comments":3,"created_at":"2016-09-02T20:13:05Z","updated_at":"2016-09-19T13:00:42Z","closed_at":"2016-09-19T13:00:42Z","body":"I recently tried upgrading the spring-boot-gradle-plugin from version 1.3.1.RELEASE to 1.4.0.RELEASE and encountered a compilation error in my projects as a result.  After investigating it appears that the root of the issue is that when using spring-boot to create executable jars that are intended to also be used as executable jars the addition of putting classes from the project into the BOOT-INF directory within the jar prevents those executable jars from also being used as a library jar.\r\n\r\nAs an example scenario:\r\n\r\nI have two projects A and B. They both need to be executable jars, however project B relies on some classes in project A. In spring boot version 1.3.1.RELEASE this is fine because all of the programs classes are kept in the root of the jar file. In version 1.4.0.RELEASE of the spring-boot-gradle-plugin, however, all of the classes are kept in a BOOT-INF folder inside of the jar file which hides those classes from anything that would add that jar to it's classpath, causing compilation errors such as 'symbol not found'.\r\n\r\nSo it appears that in spring-boot-gradle-plugin 1.4.0.RELEASE you lose the (perhaps unintended) functionality of being able to use a spring-boot generated executable jar as both an executable jar and a library jar.  Whether this is actually considered a bug or not I'm not sure.\r\n\r\nFor reference: https://discuss.gradle.org/t/when-updating-to-spring-boot-gradle-plugin-1-4-0-release-lib-project-dependendency-isnt-in-classpath/19325"}}
{"actor":{"display_login":"wilkinsona"}}