Maven conflicts within ignite-core from duplicated classes

classic Classic list List threaded Threaded
4 messages Options
pc256 pc256
Reply | Threaded
Open this post in threaded view
|

Maven conflicts within ignite-core from duplicated classes

Hello,

I've come across an issue where there are a couple of classes duplicated from org.jetbrains.annotations within the ignite-core module which conflict with other part of our code base.

As these files are duplicated rather than being referenced as a maven dependency I am unable to exclude them or reference a specific version of the org.jetbrains.annotations artifact.

Specifically, the included version cannot be used to annotate types
ignite-core-1.6.0.jar:org.jetbrains.annotations.Nullable ...
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE})
annotations-15.0.jar:org.jetbrains.annotations.Nullable ...
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE, ElementType.TYPE_USE})

As far as I know there isn't an easy way of excluding these files from within the ignite-core module. Is there are reason why these "external" files have been duplicated within the ignite code base rather than being referenced as a maven dependency? Or alternatively, has anyone come across a way of avoiding these conflicts?

Thanks
Pete

Denis Magda Denis Magda
Reply | Threaded
Open this post in threaded view
|

Re: Maven conflicts within ignite-core from duplicated classes

Hi Pete,

CC-ing Ignite dev list to the thread as well.

Igniters, up to today is there any reason why we need to include sources of Nullable JetBrain’s annotation in Ignite sources?

As I see we can rather import that latest version from the maven repository

Anton, please take a look at Pete issue and suggest a workaround and generic solution overall.

Denis

On Jun 9, 2016, at 1:32 PM, Pete Campton <[hidden email]> wrote:

Hello,

I've come across an issue where there are a couple of classes duplicated from org.jetbrains.annotations within the ignite-core module which conflict with other part of our code base.

As these files are duplicated rather than being referenced as a maven dependency I am unable to exclude them or reference a specific version of the org.jetbrains.annotations artifact.

Specifically, the included version cannot be used to annotate types
ignite-core-1.6.0.jar:org.jetbrains.annotations.Nullable ...
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE})
annotations-15.0.jar:org.jetbrains.annotations.Nullable ...
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE, ElementType.TYPE_USE})

As far as I know there isn't an easy way of excluding these files from within the ignite-core module. Is there are reason why these "external" files have been duplicated within the ignite code base rather than being referenced as a maven dependency? Or alternatively, has anyone come across a way of avoiding these conflicts?

Thanks
Pete


Anton Vinogradov Anton Vinogradov
Reply | Threaded
Open this post in threaded view
|

Re: Maven conflicts within ignite-core from duplicated classes


On Mon, Jun 13, 2016 at 10:04 AM, Denis Magda <[hidden email]> wrote:
Hi Pete,

CC-ing Ignite dev list to the thread as well.

Igniters, up to today is there any reason why we need to include sources of Nullable JetBrain’s annotation in Ignite sources?

As I see we can rather import that latest version from the maven repository

Anton, please take a look at Pete issue and suggest a workaround and generic solution overall.

Denis

On Jun 9, 2016, at 1:32 PM, Pete Campton <[hidden email]> wrote:

Hello,

I've come across an issue where there are a couple of classes duplicated from org.jetbrains.annotations within the ignite-core module which conflict with other part of our code base.

As these files are duplicated rather than being referenced as a maven dependency I am unable to exclude them or reference a specific version of the org.jetbrains.annotations artifact.

Specifically, the included version cannot be used to annotate types
ignite-core-1.6.0.jar:org.jetbrains.annotations.Nullable ...
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE})
annotations-15.0.jar:org.jetbrains.annotations.Nullable ...
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE, ElementType.TYPE_USE})

As far as I know there isn't an easy way of excluding these files from within the ignite-core module. Is there are reason why these "external" files have been duplicated within the ignite code base rather than being referenced as a maven dependency? Or alternatively, has anyone come across a way of avoiding these conflicts?

Thanks
Pete



Semyon Boikov Semyon Boikov
Reply | Threaded
Open this post in threaded view
|

Re: Maven conflicts within ignite-core from duplicated classes

In reply to this post by Denis Magda
As far as I know the only reason sources of Nullable are in Ignite - we did not want to have any dependecy for 'core' module.

On Mon, Jun 13, 2016 at 10:04 AM, Denis Magda <[hidden email]> wrote:
Hi Pete,

CC-ing Ignite dev list to the thread as well.

Igniters, up to today is there any reason why we need to include sources of Nullable JetBrain’s annotation in Ignite sources?

As I see we can rather import that latest version from the maven repository

Anton, please take a look at Pete issue and suggest a workaround and generic solution overall.

Denis

On Jun 9, 2016, at 1:32 PM, Pete Campton <[hidden email]> wrote:

Hello,

I've come across an issue where there are a couple of classes duplicated from org.jetbrains.annotations within the ignite-core module which conflict with other part of our code base.

As these files are duplicated rather than being referenced as a maven dependency I am unable to exclude them or reference a specific version of the org.jetbrains.annotations artifact.

Specifically, the included version cannot be used to annotate types
ignite-core-1.6.0.jar:org.jetbrains.annotations.Nullable ...
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE})
annotations-15.0.jar:org.jetbrains.annotations.Nullable ...
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE, ElementType.TYPE_USE})

As far as I know there isn't an easy way of excluding these files from within the ignite-core module. Is there are reason why these "external" files have been duplicated within the ignite code base rather than being referenced as a maven dependency? Or alternatively, has anyone come across a way of avoiding these conflicts?

Thanks
Pete