Hi Freeman and Cameleers,
we had a brief discussion on this on the dev ML a while back, happy to
discuss it again and see all the pros/cons.

>From my perspective using profiles is not a good idea, it only has an
effect when Camel is built itself, the profiles are not activated when
you bring in a Camel dependency to an application utilizing Camel. I
think the way forward is to just declare the dependencies we need and
at the right scope/optional combination. I think adding profiles will
lead to more maintenance work on our end with future Java versions.

The only downside to declaring dependencies is when those dependencies
are provided by the platform the application utilizing Camel is
running on, say an application server, and the user might need to
exclude some of the declared dependencies. In an effort to help with
that I declared `jaxb-impl`/`jaxb-core` as optional in `camel-core`.
Though my experience is that when a version of the library (say JAXB)
is packaged with the application server, more often than not, you
would like to provide your own version. This happened to me a lot of
times when running on application servers that are not updated to
latest versions and have JAXB/SAAJ/JPA implementations that are
missing the functionality I need for the application I'm developing.

In a way, development is more and more moving away from deploying to
application servers, well at least the traditional JEE application
servers, and more to standalone fatjar type of deployments -- where
the application brings all dependencies with itself.

(2c)

zoran

On Wed, Nov 7, 2018 at 10:47 AM, Freeman Fang <freeman.f...@gmail.com> wrote:
> Hi Zoran,
>
> Just FYI, in CXF we use maven profile which can define JDK9,10,11 specific 
> dependencies such as jaxb, jaxws, activation and whatnot, probably camel can 
> do this as well?
>
> Cheers
> -------------
> Freeman(Yue) Fang
>
> Red Hat, Inc.
>
>
>
>
>
>> On Nov 7, 2018, at 5:24 PM, Zoran Regvart <zo...@regvart.com> wrote:
>>
>> Hi Freeman, Önder and Cameleers,
>> yeah that's correct, I focused on getting the right dependencies to
>> build (i.e. compile) on Java 11, we have ~2500 tests failing at the
>> moment on the CI build[1].
>>
>> That CI build on the other hand is building on Java 8 and running
>> tests on Java 11, though I guess at some point we could build with
>> Java 11 and use `-source 1.8` and `-target 1.8`.
>>
>> I think the bulk of the issues is with missing JAXB implementation
>> that can be added.
>>
>> I was wondering though if we should add JAXB dependencies in `test`
>> scope or as `optional`. This would impact the users quite a bit on
>> Java 11+.
>>
>> Also we (currently) have `jaxb-core` and `jaxb-impl` from
>> `com.sun.xml.bind`, I think we should switch to
>> `org.glassfish.jaxb:jaxb-runtime`,
>>
>> zoran
>>
>> [1] 
>> https://builds.apache.org/view/C/view/Apache%20Camel/job/Camel.daily-zregvart/lastCompletedBuild/testReport/
>>
>> On Wed, Nov 7, 2018 at 8:58 AM, Onder SEZGIN <ond...@apache.org> wrote:
>>> Hi,
>>>
>>> i think all tests are not successful yet.
>>> My first goal was to build with JDK 11 and then i guess we will run the
>>> tests and provide possible fixes for failing ones.
>>>
>>> I have got a couple issues while trying to build.
>>>
>>> Zoran, did you run local successfull build?
>>>
>>> Thanks,
>>>
>>> On Wed, Nov 7, 2018 at 2:53 AM Freeman Fang <freeman.f...@gmail.com> wrote:
>>>
>>>> Hi Zoran,
>>>>
>>>> I consistently run into error when I use jdk11 to build camel on
>>>> java-10-test branch, is it a known issue or I did something wrong?
>>>> My java is
>>>>
>>>> java -version
>>>> openjdk version "11" 2018-09-25
>>>> OpenJDK Runtime Environment 18.9 (build 11+28)
>>>> OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)
>>>>
>>>> Thanks!
>>>>
>>>> [ERROR] Failures:
>>>> [ERROR]
>>>> org.apache.camel.component.validator.CustomSchemaFactoryFeatureTest.testCustomSchemaFactory(org.apache.camel.component.validator.CustomSchemaFactoryFeatureTest)
>>>> [ERROR]   Run 1:
>>>> CustomSchemaFactoryFeatureTest.testCustomSchemaFactory:49->Assert.fail:88
>>>> Expect exception here
>>>> [ERROR]   Run 2:
>>>> CustomSchemaFactoryFeatureTest.testCustomSchemaFactory:49->Assert.fail:88
>>>> Expect exception here
>>>> [ERROR]   Run 3:
>>>> CustomSchemaFactoryFeatureTest.testCustomSchemaFactory:49->Assert.fail:88
>>>> Expect exception here
>>>> [INFO]
>>>> [ERROR]
>>>> org.apache.camel.language.simple.SimpleTest.testOGNLHeaderLinesList(org.apache.camel.language.simple.SimpleTest)
>>>> [ERROR]   Run 1:
>>>> SimpleTest.testOGNLHeaderLinesList:934->Assert.assertEquals:144->Assert.assertEquals:115
>>>> expected:<Index 2 out[-of-]bounds for length 2> but was:<Index 2 out[ of
>>>> ]bounds for length 2>
>>>> [ERROR]   Run 2:
>>>> SimpleTest.testOGNLHeaderLinesList:934->Assert.assertEquals:144->Assert.assertEquals:115
>>>> expected:<Index 2 out[-of-]bounds for length 2> but was:<Index 2 out[ of
>>>> ]bounds for length 2>
>>>> [ERROR]   Run 3:
>>>> SimpleTest.testOGNLHeaderLinesList:934->Assert.assertEquals:144->Assert.assertEquals:115
>>>> expected:<Index 2 out[-of-]bounds for length 2> but was:<Index 2 out[ of
>>>> ]bounds for length 2>
>>>> [INFO]
>>>> [ERROR]
>>>> org.apache.camel.language.simple.SimpleTest.testOGNLHeaderList(org.apache.camel.language.simple.SimpleTest)
>>>> [ERROR]   Run 1:
>>>> SimpleTest.testOGNLHeaderList:911->Assert.assertEquals:144->Assert.assertEquals:115
>>>> expected:<Index 2 out[-of-]bounds for length 2> but was:<Index 2 out[ of
>>>> ]bounds for length 2>
>>>> [ERROR]   Run 2:
>>>> SimpleTest.testOGNLHeaderList:911->Assert.assertEquals:144->Assert.assertEquals:115
>>>> expected:<Index 2 out[-of-]bounds for length 2> but was:<Index 2 out[ of
>>>> ]bounds for length 2>
>>>> [ERROR]   Run 3:
>>>> SimpleTest.testOGNLHeaderList:911->Assert.assertEquals:144->Assert.assertEquals:115
>>>> expected:<Index 2 out[-of-]bounds for length 2> but was:<Index 2 out[ of
>>>> ]bounds for length 2>
>>>> [INFO]
>>>> [ERROR]
>>>> org.apache.camel.language.simple.SimpleTest.testOGNLPropertyLinesList(org.apache.camel.language.simple.SimpleTest)
>>>> [ERROR]   Run 1:
>>>> SimpleTest.testOGNLPropertyLinesList:441->Assert.assertEquals:144->Assert.assertEquals:115
>>>> expected:<Index 2 out[-of-]bounds for length 2> but was:<Index 2 out[ of
>>>> ]bounds for length 2>
>>>> [ERROR]   Run 2:
>>>> SimpleTest.testOGNLPropertyLinesList:441->Assert.assertEquals:144->Assert.assertEquals:115
>>>> expected:<Index 2 out[-of-]bounds for length 2> but was:<Index 2 out[ of
>>>> ]bounds for length 2>
>>>> [ERROR]   Run 3:
>>>> SimpleTest.testOGNLPropertyLinesList:441->Assert.assertEquals:144->Assert.assertEquals:115
>>>> expected:<Index 2 out[-of-]bounds for length 2> but was:<Index 2 out[ of
>>>> ]bounds for length 2>
>>>> [INFO]
>>>> [ERROR]
>>>> org.apache.camel.language.simple.SimpleTest.testOGNLPropertyList(org.apache.camel.language.simple.SimpleTest)
>>>> [ERROR]   Run 1:
>>>> SimpleTest.testOGNLPropertyList:417->Assert.assertEquals:144->Assert.assertEquals:115
>>>> expected:<Index 2 out[-of-]bounds for length 2> but was:<Index 2 out[ of
>>>> ]bounds for length 2>
>>>> [ERROR]   Run 2:
>>>> SimpleTest.testOGNLPropertyList:417->Assert.assertEquals:144->Assert.assertEquals:115
>>>> expected:<Index 2 out[-of-]bounds for length 2> but was:<Index 2 out[ of
>>>> ]bounds for length 2>
>>>> [ERROR]   Run 3:
>>>> SimpleTest.testOGNLPropertyList:417->Assert.assertEquals:144->Assert.assertEquals:115
>>>> expected:<Index 2 out[-of-]bounds for length 2> but was:<Index 2 out[ of
>>>> ]bounds for length 2>
>>>> [INFO]
>>>> [INFO]
>>>> [ERROR] Tests run: 6200, Failures: 5, Errors: 0, Skipped: 19
>>>> -------------
>>>> Freeman(Yue) Fang
>>>>
>>>> Red Hat, Inc.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>> On Nov 6, 2018, at 7:49 PM, Zoran Regvart <zo...@regvart.com> wrote:
>>>>>
>>>>> Hi Cameleers,
>>>>>
>>>>> So using Groovy 2.5.3 seems to work, I did leave Groovy Eclipse
>>>>> compiler and the Maven plugin updated to the newer versions.
>>>>>
>>>>> Also I found that the `maven-shade-plugin` can hang (on Java 11?), so
>>>>> to work around that I've set `createDependencyReducedPom` to `false`.
>>>>>
>>>>> Because of this I disabled the CI build[1] of the `java-10-test`
>>>>> branch as it took ~19h, now it needs to be triggered manually.
>>>>>
>>>>> I've rebased on `master` and triggered the build, so lets see what the
>>>>> CI says, and how many tests failures we'll see...
>>>>>
>>>>> zoran
>>>>>
>>>>> [1]
>>>> https://builds.apache.org/view/C/view/Apache%20Camel/job/Camel.daily-zregvart/
>>>>>
>>>>> On Tue, Nov 6, 2018 at 10:18 AM, Zoran Regvart <zo...@regvart.com>
>>>> wrote:
>>>>>> Hi Pascal & Cameleers,
>>>>>>
>>>>>> On Tue, Nov 6, 2018 at 8:23 AM, Pascal Schumacher
>>>>>> <pascalschumac...@gmx.net> wrote:
>>>>>>> No related to camel-core, but this commit
>>>>>>>
>>>> https://github.com/apache/camel/commit/dda0e4c5890d8e12b5895b8736e3819d0b095d08
>>>>>>> can be reverted/dropped because groovy 2.5.3 should work on Java 11.
>>>>>>
>>>>>> Awesome, let me try that...
>>>>>>
>>>>>> zoran
>>>>>> --
>>>>>> Zoran Regvart
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Zoran Regvart
>>>>
>>>>
>>
>>
>>
>> --
>> Zoran Regvart
>



-- 
Zoran Regvart

Reply via email to