On Sun 12 Mar 2017 at 18:23, 'Robin Müller' via Jenkins Developers <
[email protected]> wrote:

> Hi,
>
> Am Sonntag, 12. März 2017 16:32:22 UTC+1 schrieb Stephen Connolly:
>
> I do not think this is the right way to go at all.
>
> Would you also implement the SCMSourceNavigator for GitLab within the
> GitHub Branch Source Plugin just as their names are similar? Bitbucket
> Cloud and Bitbucket Server are 2 different products so IMHO they should be
> handled by different plugins.
>

That is a false argument IMHO

The biggest part of implementing the SCM-API contract for CDVCS systems
like Gogs, GitHub, Bitbucket, GitLab etc is the logic for how to handle PRs.

I am exploring if I can provide some common base classes that apply
generally across all of the products, but in the absence of that, the two
Bitbucket CDVCS are most similar. We would just be duplicating the code and
doubling the maintenance effort. I do not see an advantage in that.

Although Bitbucket Cloud and Bitbucket Server are both developed by
> Atlassian they don't even share the same code base. IIRC Bitbucket Cloud is
> written in Python whereas Bitbucket Server is written in Java. They have
> different APIs to interact with them so I can't see any good reason why
> they should be handled by a single plugin. IMHO the current solution
> doesn't follow the idea of a pluggable system.
>

The issues I have with the current impl is that the client "API" is not as
cleanly designed as I'd like. There are changes I have planned. The net
result is that the we should end up with a client API not a client "API"
and the differences between the two can be isolated to the API. If at that
point the API gets split into three plugins: API, Cloud & Server... and
then Bitbucket Branch Source depends on these... that's fine... if IMHO
overkill.


>
> There is a refactoring or two from my PoV to take place in the current
> plugin and that will result in much cleaner code without fracturing things.
>
> While there are multiple webhook plugins available for BB server, from my
> understanding there is only one that has the events required to give
> efficient event notification for scm api (and I had to write the patch to
> get that too!)
>
> This is wrong. Most of the WebHook addons I saw provide the necessary
> information to give efficient event notification for the scm api.
>

Cool if the others provide the required details. The reality is SCMEvent
handling can be extracted trivially, so I don't see the need to split if
all you want is separate event pathways.

Eg I wrote an SCMEvent handler plugin for ASF's GitPubSub in 20 minutes
last night.

Most of this is stuff that can be handled in under 120 Lines of Java

Additionally not everybody has the chance to install exactly the add-on
> that is supported by the Bitbucket Branch Source Plugin. Depending on the
> amount of users that have access to a Bitbucket Server you have to setup
> some policies for add-on installations to not slow down the whole server by
> installing each and every add-on. Btw. this is the case in the company
> where I work.
>

There is also the issue of support for the  Jenkins plugin behaviour.

Not everyone in the OSS community has the luxury of somebody who can pay to
get licenses for these and set up multiple Bitbucket server instances to
allow testing the different server plugins.

If we add support for more we effectively push others in the OSS community
out of the ability to contribute.

Anyway, I am just giving my opinion. I don not see value in splitting the
implementation. If anything I see it causing more confusion for users.


> Regards,
> Robin
>
> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jenkinsci-dev/1ee88bbb-14aa-4a02-9687-14651b6b284c%40googlegroups.com
> <https://groups.google.com/d/msgid/jenkinsci-dev/1ee88bbb-14aa-4a02-9687-14651b6b284c%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
-- 
Sent from my phone

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/CA%2BnPnMybecB%3D-C_PEJcfGZomtsi-F23gTnu%2BLV8Tq-%3D4_ys0cQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to