{"action":"created","issue":{"url":"https://api.github.com/repos/brunobowden/j2objc-gradle/issues/54","labels_url":"https://api.github.com/repos/brunobowden/j2objc-gradle/issues/54/labels{/name}","comments_url":"https://api.github.com/repos/brunobowden/j2objc-gradle/issues/54/comments","events_url":"https://api.github.com/repos/brunobowden/j2objc-gradle/issues/54/events","html_url":"https://github.com/brunobowden/j2objc-gradle/pull/54","id":75032011,"number":54,"title":"Add convenience methods for excluding/including individual classes","user":{"login":"advayDev1","id":11729521,"avatar_url":"https://avatars.githubusercontent.com/u/11729521?v=3","gravatar_id":"","url":"https://api.github.com/users/advayDev1","html_url":"https://github.com/advayDev1","followers_url":"https://api.github.com/users/advayDev1/followers","following_url":"https://api.github.com/users/advayDev1/following{/other_user}","gists_url":"https://api.github.com/users/advayDev1/gists{/gist_id}","starred_url":"https://api.github.com/users/advayDev1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/advayDev1/subscriptions","organizations_url":"https://api.github.com/users/advayDev1/orgs","repos_url":"https://api.github.com/users/advayDev1/repos","events_url":"https://api.github.com/users/advayDev1/events{/privacy}","received_events_url":"https://api.github.com/users/advayDev1/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-05-11T00:10:24Z","updated_at":"2015-05-13T06:22:55Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/brunobowden/j2objc-gradle/pulls/54","html_url":"https://github.com/brunobowden/j2objc-gradle/pull/54","diff_url":"https://github.com/brunobowden/j2objc-gradle/pull/54.diff","patch_url":"https://github.com/brunobowden/j2objc-gradle/pull/54.patch"},"body":"(Please merge PR #53 first)"},"comment":{"url":"https://api.github.com/repos/brunobowden/j2objc-gradle/issues/comments/101527817","html_url":"https://github.com/brunobowden/j2objc-gradle/pull/54#issuecomment-101527817","issue_url":"https://api.github.com/repos/brunobowden/j2objc-gradle/issues/54","id":101527817,"user":{"login":"brunobowden","id":679339,"avatar_url":"https://avatars.githubusercontent.com/u/679339?v=3","gravatar_id":"","url":"https://api.github.com/users/brunobowden","html_url":"https://github.com/brunobowden","followers_url":"https://api.github.com/users/brunobowden/followers","following_url":"https://api.github.com/users/brunobowden/following{/other_user}","gists_url":"https://api.github.com/users/brunobowden/gists{/gist_id}","starred_url":"https://api.github.com/users/brunobowden/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brunobowden/subscriptions","organizations_url":"https://api.github.com/users/brunobowden/orgs","repos_url":"https://api.github.com/users/brunobowden/repos","events_url":"https://api.github.com/users/brunobowden/events{/privacy}","received_events_url":"https://api.github.com/users/brunobowden/received_events","type":"User","site_admin":false},"created_at":"2015-05-13T06:22:55Z","updated_at":"2015-05-13T06:22:55Z","body":"This has been in the back of my head for quite a while. The regex is powerful but will be confusing for a lot of people. I think it's best to change the config to an existing syntax that people are familiar with. The best I can think of is Gradle's CopySpec: http://gradle.org/docs/current/javadoc/org/gradle/api/file/CopySpec.html\r\n\r\nThis is a bit more involved to implement but the thought is that it could work in a very similar way. I think it's also more natural to use file paths rather than \".\" separated classes, as \"/\" is easier to generated and copy from the command line.\r\n\r\nWhat are your thoughts?\r\n\r\n    j2objcConfig {\r\n        j2objcHome 'blah'\r\n\r\n        // Only translate the base and perf directories\r\n        // NOTE: this can be repeated, if no entries then assume everything\r\n        translateInclude 'base/*'\r\n        translateInclude 'perf/*'\r\n\r\n        // Excludes a single file and associated test:\r\n        // a) src/main/java/perf/MemoryManagement.java\r\n        // b) src/test/java/perf/MemoryManagementTest.java\r\n        translateExclude 'perf/MemoryManagement*'\r\n\r\n        // MemoryManagement is already excluded\r\n        testExclude 'perf/SomethingElseTest.java'\r\n    }\r\n\r\n\r\n"}}