{"action":"opened","issue":{"url":"https://api.github.com/repos/sysgears/grain/issues/14","labels_url":"https://api.github.com/repos/sysgears/grain/issues/14/labels{/name}","comments_url":"https://api.github.com/repos/sysgears/grain/issues/14/comments","events_url":"https://api.github.com/repos/sysgears/grain/issues/14/events","html_url":"https://github.com/sysgears/grain/issues/14","id":127278105,"number":14,"title":"Portability problems","user":{"login":"altavir","id":9514268,"avatar_url":"https://avatars.githubusercontent.com/u/9514268?v=3","gravatar_id":"","url":"https://api.github.com/users/altavir","html_url":"https://github.com/altavir","followers_url":"https://api.github.com/users/altavir/followers","following_url":"https://api.github.com/users/altavir/following{/other_user}","gists_url":"https://api.github.com/users/altavir/gists{/gist_id}","starred_url":"https://api.github.com/users/altavir/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/altavir/subscriptions","organizations_url":"https://api.github.com/users/altavir/orgs","repos_url":"https://api.github.com/users/altavir/repos","events_url":"https://api.github.com/users/altavir/events{/privacy}","received_events_url":"https://api.github.com/users/altavir/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-01-18T17:46:33Z","updated_at":"2016-01-18T17:46:33Z","closed_at":null,"body":"Grain works fine when one use one of given templates, but there a quite a lot of little annoying problems, when one tries to create his own template or move installation.\r\n\r\n* project group can not be changed from `com.sysgears.grain`. Main class name is bound to it and it seams that some internal features as well, because project would not compile if group name is changed.\r\n\r\n* groovy source code classes are bound to `com\\sysgears\\theme\\` directory. I tried to move them to another directory and change imports in SiteConfig, but got some NPEs. It is not very easy to access these files and I do not see any reason for complicated directory structure since there are no name conflicts. I also do not understand the purpose of `Launcher.java` class since it just point to some internal launcher.\r\n\r\n* `SiteConfig.groovy` has direct class imports which is not very good idea if it is intended as a configuration file. If one moves this classes or uses custom ones, he should replace all imports? It is better to use fully qualified class names and reflects to invoke user classes.\r\n\r\n* generally in gradle all temporary files and build results are stored inside `build` directory. Is there a reason to store target and caches in project root? If they are all in one directory, than it is easier to clean.\r\n\r\n* gradle plugin has some strange behavior. It should seem to replace `build.gradle` in theme projects and work directly with the source code, but instead it just creates 'project in project' in the source folder with its own build gradle. It is alright if one works with pre-built theme and does not use any external data but when one needs to design his own theme or include some data from the project in the site (for example JavaDoc), it is not convenient at all. \r\n\r\nIn my opinion, it would be good to add additional flexibility to plugin and completely remove this 'project in project' structure, storing all configuration in gradle file or"}}