gocd-build-github-pull-requests icon indicating copy to clipboard operation
gocd-build-github-pull-requests copied to clipboard

Interest in moving to gradle?

Open ketan opened this issue 8 years ago • 5 comments

Hi,

Is there any interest in moving the build over to gradle? I've attempted this here. This helped in a few ways —

  • trim down the size of the plugin by not packaging deps needed by other plugins
  • uses a cleaner project structure to extract out a "base" project, with dependent "projects" for each provider there is
  • reduces duplication of common resources (plugin.xml, defaults.properties), they can just be "autogenerated" very simply without a lot of hackery that'd otherwise be involved with maven
  • allows simple inclusion of the sources so as to be able to debug the plugin when deployed onto the server

Let me know if you're cool with changes similar to this and I'll submit a PR accordingly.

ketan avatar Oct 18 '16 08:10 ketan

@ketan 👍 I haven't personally used Gradle before, it would be great if you please send a PR for initial setup.

ashwanthkumar avatar Oct 19 '16 17:10 ashwanthkumar

I was looking at the code today, and was left wondering why 4 separate plugins? Could we not have a single plugin with an additional property Type or something similar to allow choosing a provider of your choice.

That way, you'd just have one dropdown in the SCM view that allows you to choose one of GitHub, Gerrit, Git Branch and Stash.

Would you be cool merging all the plugins into one plugin?

ketan avatar Nov 20 '16 06:11 ketan

I always felt having separate plugins was easy in terms of operations. But I do like your idea on merging all of them together and creating one unified "Pull Request" SCM material. May be we should run this change by the community? What are your thoughts?

ashwanthkumar avatar Nov 21 '16 06:11 ashwanthkumar

I spent some time thinking about it now that I've had enough coffee, it seems like an overkill. Each plugin needs a different set of properties to configure it, so I suppose having a separate plugin makes sense. GoCD does not really work well with allowing a plugin to have a different set of properties depending on a switch.

I'm working on the gradle thing, some tests are getting in the way, so I'll ping you for help in case I need any.

ketan avatar Nov 21 '16 07:11 ketan

Sounds good. Sure thing, let me know if I can help in anyway.

ashwanthkumar avatar Nov 21 '16 07:11 ashwanthkumar