I don't see those concerns as lightly as you put them.

Animal-sniffer is just a quick fail-fast check for binary compatibility 
of type hierarchy and method signatures, but that's not everything. The 
only sure way to test against a particular jdk version is to actually 
run the test suite with it. Seeing is believing. That's why we have 
separate CI jobs running against older supported jdks.  I fail to see 
how this works when our unit tests are written using jdk 8 features.

On 04/30/2014 05:31 PM, Sanne Grinovero wrote:
> Valid concerns, but I think we should split those in two very
> different categories:
>   1- we provide testing utilities which are quite useful to other people too
>   2- we run unit tests on our own code to prevent regressions
>
> If we split the utilities into a properly delivered package - built
> with Java7, having a very own Maven identity and maybe even a user
> guide - that would be even more useful to consumers. For example I use
> some of the utilities in both Hibernate Search and Hibernate OGM,
> dependending on the testing classifier of infinispan-core. I'd prefer
> to depend on a "proper" module with a somehow stable API, and this
> would be a great improvement for our users who start playing with
> Infinispan.. I often refer to our testsuite to explain how to setup
> things.
>
> For the second use case - our own test execution - I see great
> advantages from using Java8. First of, to verify that the API's we're
> developing today will make sense in a lambda enabled world: we might
> not baseline on it today but it's very hard to do forward-compatible
> thinking without actually experimenting with the API in TDD before
> this is cast in stone. Remember TDD is a design metodology, not a QA
> approach.
>
> But I agree with Adrian on not wanting to fully trust animal-sniffer
> with this task, nor I like the "flexibility" we have in IDEs for a
> single module being mixed.
> For the record Hibernate has been since long keeping the test
> infrastructure in a different module; we could explore an alternative
> code organization. While it's important to have some core tests
> closely coupled with the module it's meant to test, I don't see why we
> couldn't have additional tests in a different module?
>
> +1 to have at least one module using (requiring) Java8. Yes,
> contributors will need to have it around.. I don't see a problem, any
> potentially good contributor should have it around by now.
>
> Sanne
>
>
>
> On 30 April 2014 13:12, Adrian Nistor <anis...@redhat.com> wrote:
>>   > Another potential problem, as rightly pointed out by Will on IRC, is
>> that it would also cause issues for anyone trying to run our testsuite
>> with JDK7 or earlier, if anyone is doing such a thing.
>>
>> Galder, we may be doing such a thing :) The test suite is meant to
>> verify correctness of our libraries when executed against a concrete set
>> of external dependencies, with clearly specified supported versions or
>> version intervals - the jdk being the most important of them.
>>
>> Since we'll no longer be able to run on jdk 7 we can no longer support
>> jdk. Even if animal-sniffer cheerfully reports we've not broken binary
>> compat, that still does not mean much when it comes to jdk version
>> specific issues, or jdk maker specific issue (remember the IBM jdk
>> oddities).
>>
>> Mavenwise, I think it is not possible to have a different compiler
>> language level for module sources vs. test sources and Eclipse and
>> Intellij also cannot cope with two source levels per module, so this
>> would introduce some unnecessary development discomfort.  I would vote
>> no for this.
>>
>> Adrian
>>
>> On 04/30/2014 02:55 PM, Galder Zamarreño wrote:
>>> On 30 Apr 2014, at 13:36, Galder Zamarreño <gal...@redhat.com> wrote:
>>>
>>>> Hi all,
>>>>
>>>> Just thinking out loud: what about we start using JDK8+ for all the test 
>>>> code in Infinispan?
>>>>
>>>> The production code would still have language level 6/7 (whatever is 
>>>> required…).
>>>>
>>>> This way we start getting ourselves familiar with JDK8 in a safe 
>>>> environment and we reduce some of the boiler plate code currently existing 
>>>> in the tests.
>>>>
>>>> This would only problematic for anyone consuming our test jars. They’d 
>>>> need move up to JDK8+ along with us.
>>> Another potential problem, as rightly pointed out by Will on IRC, is that 
>>> it would also cause issues for anyone trying to run our testsuite with JDK7 
>>> or earlier, if anyone is doing such a thing.
>>>
>>>> Thoughts?
>>>>
>>>> p.s. Recently I found https://leanpub.com/whatsnewinjava8/read which 
>>>> provides a great overview on what’s new in JDK8 along with small code 
>>>> samples.
>>>> --
>>>> Galder Zamarreño
>>>> gal...@redhat.com
>>>> twitter.com/galderz
>>>>
>>>>
>>>> _______________________________________________
>>>> infinispan-dev mailing list
>>>> infinispan-dev@lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>>> --
>>> Galder Zamarreño
>>> gal...@redhat.com
>>> twitter.com/galderz
>>>
>>>
>>> _______________________________________________
>>> infinispan-dev mailing list
>>> infinispan-dev@lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>> _______________________________________________
>> infinispan-dev mailing list
>> infinispan-dev@lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev@lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev

_______________________________________________
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev

Reply via email to