{"action":"created","issue":{"url":"https://api.github.com/repos/immutables/immutables/issues/205","labels_url":"https://api.github.com/repos/immutables/immutables/issues/205/labels{/name}","comments_url":"https://api.github.com/repos/immutables/immutables/issues/205/comments","events_url":"https://api.github.com/repos/immutables/immutables/issues/205/events","html_url":"https://github.com/immutables/immutables/issues/205","id":118103166,"number":205,"title":"Need the ability to remove classes from ClasspathAvailability.available","user":{"login":"ldriscoll","id":513615,"avatar_url":"https://avatars.githubusercontent.com/u/513615?v=3","gravatar_id":"","url":"https://api.github.com/users/ldriscoll","html_url":"https://github.com/ldriscoll","followers_url":"https://api.github.com/users/ldriscoll/followers","following_url":"https://api.github.com/users/ldriscoll/following{/other_user}","gists_url":"https://api.github.com/users/ldriscoll/gists{/gist_id}","starred_url":"https://api.github.com/users/ldriscoll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ldriscoll/subscriptions","organizations_url":"https://api.github.com/users/ldriscoll/orgs","repos_url":"https://api.github.com/users/ldriscoll/repos","events_url":"https://api.github.com/users/ldriscoll/events{/privacy}","received_events_url":"https://api.github.com/users/ldriscoll/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-11-20T18:51:08Z","updated_at":"2015-11-20T18:57:13Z","closed_at":null,"body":"we're very strict with our build process, such that if something is not declared in the pom dependencies, cannot be used in code being compiled.  During compile time, when the immutables are generated, there are other jars that include things like `javax.annotation.Nullable`, however the final application may not include it.\r\n\r\nCurrently the only way to get around this is to either include the jar in the pom, or exclude it from the imports of a different dependency.  \r\n\r\nIt would be nice if ClasspathAvailability only included things available at runtime to the application, using the dependencies in the pom, or we could annotate the individual class to not use something like `@Nullable`\r\n\r\n@mjball"},"comment":{"url":"https://api.github.com/repos/immutables/immutables/issues/comments/158494481","html_url":"https://github.com/immutables/immutables/issues/205#issuecomment-158494481","issue_url":"https://api.github.com/repos/immutables/immutables/issues/205","id":158494481,"user":{"login":"elucash","id":1692611,"avatar_url":"https://avatars.githubusercontent.com/u/1692611?v=3","gravatar_id":"","url":"https://api.github.com/users/elucash","html_url":"https://github.com/elucash","followers_url":"https://api.github.com/users/elucash/followers","following_url":"https://api.github.com/users/elucash/following{/other_user}","gists_url":"https://api.github.com/users/elucash/gists{/gist_id}","starred_url":"https://api.github.com/users/elucash/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elucash/subscriptions","organizations_url":"https://api.github.com/users/elucash/orgs","repos_url":"https://api.github.com/users/elucash/repos","events_url":"https://api.github.com/users/elucash/events{/privacy}","received_events_url":"https://api.github.com/users/elucash/received_events","type":"User","site_admin":false},"created_at":"2015-11-20T18:57:13Z","updated_at":"2015-11-20T18:57:13Z","body":"As far as I expect this should not be a problem, at least with `javax.annotation.Nullable`:\r\nIf it's present at compile time, compiler will accept it. If annotation is not available at runtime it should not cause any classloading or reflection problems.\r\nPlease correct me where I am wrong, more precisely, what exact runtime issues you're facing, so we could try to find appropriate solution (I guess there's simply no way to reason about runtime classpath at compile time)?"}}