{"action":"opened","issue":{"url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/5004","labels_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/5004/labels{/name}","comments_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/5004/comments","events_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/5004/events","html_url":"https://github.com/rethinkdb/rethinkdb/issues/5004","id":113486939,"number":5004,"title":"Remaining build system integration for the java driver","user":{"login":"deontologician","id":1366,"avatar_url":"https://avatars.githubusercontent.com/u/1366?v=3","gravatar_id":"","url":"https://api.github.com/users/deontologician","html_url":"https://github.com/deontologician","followers_url":"https://api.github.com/users/deontologician/followers","following_url":"https://api.github.com/users/deontologician/following{/other_user}","gists_url":"https://api.github.com/users/deontologician/gists{/gist_id}","starred_url":"https://api.github.com/users/deontologician/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/deontologician/subscriptions","organizations_url":"https://api.github.com/users/deontologician/orgs","repos_url":"https://api.github.com/users/deontologician/repos","events_url":"https://api.github.com/users/deontologician/events{/privacy}","received_events_url":"https://api.github.com/users/deontologician/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/rethinkdb/rethinkdb/labels/cp:build","name":"cp:build","color":"444444"},{"url":"https://api.github.com/repos/rethinkdb/rethinkdb/labels/Java","name":"Java","color":"fef2c0"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-10-27T01:38:48Z","updated_at":"2015-10-27T01:38:48Z","closed_at":null,"body":"Currently the java driver is not fully integrated into our existing build infrastructure. I've created a makefile and maybe 3/4ths of what's needed, but this will probably require @AtnNn 's touch to make sure all of the t's are dotted and i's crossed.\r\n\r\nSome issues I know of:\r\n\r\n1. Dependencies are not handled (except for java library dependencies)\r\n  - it assumes gradle 2.7+, java, python3 and mako are all installed on the system and in the path etc.\r\n2. Make is not being utilized to skip builds of files that are already built\r\n  - metajava.py does a make-like timestamp check, but it's a little flaky. I didn't use make because the files being included is pretty dynamic and I didn't want to hard code them all into the make file. There may be a better way to do this I'm not aware of.\r\n  - this only means from template -> java file conversion with metajava.py. Gradle handles java compilation stuff just fine once the java files are output.\r\n3. `make publish` and `make test` are not implemented (see also #5001 for deploying todos)"}}