[GRADLE-181] Create a SCM plugin framework Created: 18/Aug/08 Updated: 08/Feb/17 Resolved: 08/Feb/17 |
|
Status: | Resolved |
Project: | Gradle |
Affects Version/s: | None |
Fix Version/s: | None |
Type: | New Feature | ||
Reporter: | Phil Messenger | Assignee: | Unassigned |
Resolution: | Won't Fix | Votes: | 22 |
Description |
I've written a number of plugins for doing releases etc, and have been a bit frustrated by the lack of a SCM framework such as one might find in Maven. At the moment I've followed the approach taken by Gradle itself and hard coded in subversion via the svnkit library. A generic SCM framework would make it easier to support different source management tools such as CVS or git. |
Comments |
Comment by Hans Dockter [ 24/Aug/08 ] |
That is definitely something we need. Beside release management we will need this when we offer to define cvs/svn/... projects. We might think about using the code of another project for this layer. Maven has such a layer. Maybe we could have a look at Cruisecontrol. |
Comment by Phil Messenger [ 08/Oct/08 ] |
I've had a look at the Maven SCM provider framework and the SCM stuff in Cruiscontrol. The Maven code is pretty feature complete though coded in a quintessentially "maven" style. It exposes functionality for performing branches, committing etc. The Cruiscode control is unsuitable for our purposes as it's basically limited to simple checkouts. |
Comment by Ken Sipe [ 25/Mar/10 ] |
@Hans I noticed this was "fixed" for the pre-release... I'm curious... I didn't see anything in the source tree. what is the change? is it the use of svnkit? |
Comment by Hans Dockter [ 05/May/10 ] |
@Ken It was just moved. We haven't tackled this yet. |
Comment by Benjamin Muschko [ 15/Nov/16 ] |
As announced on the Gradle blog we are planning to completely migrate issues from JIRA to GitHub. We intend to prioritize issues that are actionable and impactful while working more closely with the community. Many of our JIRA issues are inactionable or irrelevant. We would like to request your help to ensure we can appropriately prioritize JIRA issues you’ve contributed to. Please confirm that you still advocate for your JIRA issue before December 10th, 2016 by:
We look forward to collaborating with you more closely on GitHub. Thank you for your contribution to Gradle! |
Comment by Benjamin Muschko [ 08/Feb/17 ] |
Most SCMs provide a Java-based implementation to run version control operations. I see the functionality more as something that lives in an external plugin and not necessarily as a core functionality of Gradle. Given the breadth of SCMs out there I don't we'd be able to ever keep up and would end up with a half-baked approach. Please keep in mind that Gradle is compatible with Ant meaning you can can reuse existing tasks. If you need another abstraction layer on top of the SCM Java libraries then that would be a workable option e.g.
You might also want to look at the following Gradle plugin: |