+1 to release as 3.0, breaking any compat should be major. New package
seems safer but I would not -1 a release as is.

G

On Sun, Dec 4, 2011 at 1:59 PM, sebb <seb...@gmail.com> wrote:

> The Jexl 2.0 branch now has only a few incompatibilities reported by
> Clirr (see below).
>
> Also the 2.0.1 JUnit tests now run (with minor essential changes)
> against both 2.0.1 and 2.1-SNAPSHOT.
>
> The remaining errors all relate to adding methods to interfaces.
> According to the JLS [1], adding methods to an interface does not
> break *binary* compatibility; however of course it will break source
> compatibility.
> I assume that Clirr has got this wrong; or is failing to distinguish
> source compatibility from binary compatibility.
> There is a test case to show this -
> ScriptTest.testScriptInterfaceBinaryCompat() - in the
> COMMONS_JEXL_2_0_1_TEST branch.
>
> I think it would be OK to release the code without changing package
> names / Maven id if other Commons developers agree.
> What do others think?
>
> Assuming that there are no objections, there is the question of what
> version to use.
>
> The changes clearly require at least a minor version bump, i.e. 2.1
> rather than 2.0.2.
> It is unlikely that any users will have implemented the Script
> interface directly; any that have done so will need to update their
> source before recompiling.
> Does such a source incompatibility require a major version bump to 3.0?
> [Note: this does *not* mean a package change is required; however a
> package change would require a major version bump]
>
> I think this discussion is best held separately from any release vote,
> as there are always plenty of other items to check in a release
> vote...
>
> =====
>
> ERROR: 7012: org.apache.commons.jexl2.introspection.Uberspect: Method
> 'public org.apache.commons.jexl2.introspection.JexlMethod
> getConstructorMethod(java.lang.Object, java.lang.Object[],
> org.apache.commons.jexl2.JexlInfo)' has been added to an interface
> ERROR: 7012: org.apache.commons.jexl2.JexlInfo: Method 'public
> org.apache.commons.jexl2.DebugInfo debugInfo()' has been added to an
> interface
> ERROR: 7012: org.apache.commons.jexl2.Script: Method 'public
> java.lang.Object execute(org.apache.commons.jexl2.JexlContext,
> java.lang.Object[])' has been added to an interface
> ERROR: 7012: org.apache.commons.jexl2.Script: Method 'public
> java.lang.String[] getLocalVariables()' has been added to an interface
> ERROR: 7012: org.apache.commons.jexl2.Script: Method 'public
> java.lang.String[] getParameters()' has been added to an interface
> ERROR: 7012: org.apache.commons.jexl2.Script: Method 'public
> java.util.concurrent.Callable
> callable(org.apache.commons.jexl2.JexlContext)' has been added to an
> interface
> ERROR: 7012: org.apache.commons.jexl2.Script: Method 'public
> java.util.concurrent.Callable
> callable(org.apache.commons.jexl2.JexlContext, java.lang.Object[])'
> has been added to an interface
> ERROR: 7012: org.apache.commons.jexl2.Script: Method 'public
> java.util.Set getVariables()' has been added to an interface
>
> [1]
> http://java.sun.com/docs/books/jls/second_edition/html/binaryComp.doc.html#45347
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
>
>


-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
JUnit in Action, 2nd Ed: <http://goog_1249600977>http://bit.ly/ECvg0
Spring Batch in Action: <http://s.apache.org/HOq>http://bit.ly/bqpbCK
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to