I'm kind of a bit zonked... having finally got to the stage where I can
create the PR for switching Bitbucket to traits:
https://github.com/jenkinsci/bitbucket-branch-source-plugin/pull/53

I need to now repeat the same for GitHub (I have most of the changes ready,
just need to flesh out javadoc comments, add help files, and write some
more test cases)

If you have concrete suggestions for improving the doc, please please file
PRs

Your other questions will probably get an answer tomorrow after I finish
decompressing and have girded my loins sufficiently to start polishing off
the GitHub Branch source changes now that I am happy that traits work well
across the SCM systems that need it most.

On 12 June 2017 at 15:58, Paul Allen <[email protected]> wrote:

>
>
>
>> (2) Should I implement my own SCMHeadCategory to for my P4Head (extends
>> SCMHead)? If I need different types (e.g. 'Branches', 'Pull Requests') I
>> need new implementations of SCMHead and a corresponding SCMHeadCategory?
>>
>
> What do the docs say: https://github.com/jenkinsci/scm-api-plugin/blob/
> master/docs/implementation.adoc
>
> Hint: I believe the docs are very explicit on that subject. There is, to
> my mind, an unambiguous answer directly to your question (somewhere in the
> middle third of the docs)
>
>
> Each jenkins.scm.api.SCMSourceDescriptor should provide the concrete
> instances of the jenkins.scm.api.SCMHeadCategory that are potentially
> generated by their jenkins.scm.api.SCMSource instances. Then each
> jenkins.scm.api.SCMSource instance can filter down that list to the
> actual categories that may be returned by that specific source. For
> example, a GitHub source may return "Branches", "Pull Requests" and "Tags"
> but the user may have configured their specific source for a specific
> project to only build "Branches" and "Tags".
>
>
> I really am looking for people to find faults in the docs. If I keep
> giving people answers then I become the scalability issue. I would much
> rather that people can solve the problems by reading documentation. That
> means that my efforts deliver a multiple rather than everything being rate
> limited by my time and availability. By using the docs and suggesting
> improvements we make the whole community better.
>
> ;-)
>
>
> Before I posted I had read the implementation doc, it covers a lot and not
> easy to dip into.  A few more sections and headers would help out ;-)  It
> would be nice to add anchor markers when sending out links in emails.
>
> The example for Accurev shows you reusing UncategorisedSCMSourceCategory
> and calling it 'Streams' and using TagSCMHeadCategory and calling it
> 'Snapshots'.
>
>
>        protected SCMHeadCategory[] createCategories() {
>             return new SCMSourceCategory[]{
>                 new UncategorizedSCMSourceCategory(
>                     new NonLocalizable("Streams")
>                     // Better: Messages._AccurevSCMSource_StreamHeadCategory()
>                 ),
>                 new TagSCMHeadCategory(
>                     new NonLocalizable("Snapshots")
>                     // Better: 
> Messages._AccurevSCMSource_SnapshotHeadCategory()
>                 )
>             };
>         }
>
>
> The Descriptor adds these to the createCategories, but doesn't say how
> they get referenced.
>
> BTW: UncategorizedSCMHeadCategory.INSTANCE should be DEFAULT
>
>  protected SCMHeadCategory[] createCategories() {
>
>             return new SCMHeadCategory[]{
>                     UncategorizedSCMHeadCategory.INSTANCE,
>                     ChangeRequestSCMHeadCategory.DEFAULT,
>                     TagSCMHeadCategory.DEFAULT
>             };
>
>
> The Tip's box starting 'Both tags and regular branches can normally
> use...' (somewhere near the middle) is very hard to read as the text is
> cropped and you have to scroll sideways to read it (viewed in Chrome on OS
> X).
>
> The example inside this tip box using 'implements ChangeRequestSCMHead2'
> hints that Change requests are managed differently; and this has confused
> me further?
>
> So does each SCMSource have to override createCategories() in its own
> implementation of SCMSourceDescriptor?  but how does it link to the
> SCMRevsion when retrieve adds them to observe?
>
> I'm clearly missing something and I can't find a working example?  Is this
> implemented anywhere for real? I can't see it in the git, github and
> accurev plugins.
>
> Sorry if I don't get it, I only posted as I could not get my head around
> the docs.
> ------------------------------------------------------------
> --------------------
> Perforce Software UK Ltd is registered in England and Wales as company no.
> 3816019 at the following address: West Forest Gate,
> Wellington Road, Wokingham,
> RG40 2AT, UK
> --------------------------------------------------------------------------------
>
>
> --
> 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/B86AE584-8232-494B-A301-408058D85EF4%40perforce.com
> <https://groups.google.com/d/msgid/jenkinsci-dev/B86AE584-8232-494B-A301-408058D85EF4%40perforce.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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%2BnPnMy41PauhcVgmPeSaKr1K%3DP1kLigqru_CJxy8kVuXxrnjA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to