[ 
https://issues.apache.org/jira/browse/UIMA-5207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15738135#comment-15738135
 ] 

Marshall Schor commented on UIMA-5207:
--------------------------------------

Semantic versioning says this change (adding the Iterable interface and the 
iterator() method) to these classes is a non-compatible change.  I tried 
reading the Java Language Spec and asking the internet - these sources seem to 
say that this change is compatible, since it is only adding a new method.  

Here's the choices I see:
1) don't implement this improvement for 2.10.0, but only for 3.0.0
2) implement it for 2.10.0, but disable the semver checking for this release.  

There is a risk that (2) would produce binaries that would not "link" with 
pre-existing code.  This might be tested by someone during our release process; 
we could roll back the release candidate if it failed.

Can someone say more precisely why the semver enforcement flags this as 
non-compatible?
Here's a sample of the messages semver is producing:
Class org.apache.uima.jcas.cas.FSArray
 Added Method iterator, sig 
()Ljava/util/Iterator<Lorg/apache/uima/cas/FeatureStructure;>;, desc 
()Ljava/util/Iterator;, access public
 Changed Class , access
Class org.apache.uima.jcas.cas.FSList
 Changed Class , access
 Added Method iterator, sig 
()Ljava/util/Iterator<Lorg/apache/uima/jcas/cas/TOP;>;, desc 
()Ljava/util/Iterator;, access public

> make FSArray/List, StringArray/list iterable
> --------------------------------------------
>
>                 Key: UIMA-5207
>                 URL: https://issues.apache.org/jira/browse/UIMA-5207
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Core Java Framework
>    Affects Versions: 2.9.0SDK
>            Reporter: Marshall Schor
>            Assignee: Marshall Schor
>            Priority: Minor
>             Fix For: 3.0.0SDKexp, 2.10.0SDK
>
>
> The common collection-style Feature Structures in UIMA could implement 
> iterable, to enable writing for loops over them.  Add these to the JCas impls 
> for those built-ins.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to