[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] optional dependencies for weaving.aspectj

Yes, that does sound correct. You could "work around" this behavior by also using dynamic imports to allow late binding of the of the org.aspectj.weaver packages. For example:

DynamicImport-Package: org.aspectj.weaver;version="1.6.3",
 org.aspectj.weaver.loadtime;version="1.6.3",
 org.aspectj.weaver.loadtime.definition;version="1.6.3",
 org.aspectj.weaver.tools;version="1.6.3"

To be clear you specify this in addition to the optional imports you have now. I am finding optional imports to have less and less value over fully qualified dynamic imports. The only reason you are forced to use optional imports is to allow the build system to add the weaver packages to your class path at compile time. At runtime you could get by with only having the fully qualified dynamic imports.

Tom



Inactive hide details for Martin Lippert ---09/15/2009 03:41:55 PM---Ah, I think I found the problem. I used a hand-crafted conMartin Lippert ---09/15/2009 03:41:55 PM---Ah, I think I found the problem. I used a hand-crafted config.ini which


From:

Martin Lippert <lippert@xxxxxxx>

To:

Equinox development mailing list <equinox-dev@xxxxxxxxxxx>

Date:

09/15/2009 03:41 PM

Subject:

Re: [equinox-dev] optional dependencies for weaving.aspectj





Ah, I think I found the problem. I used a hand-crafted config.ini which
listed org.eclipse.equinox.weaving.aspectj but not org.aspectj.weaver
(the exporting bundle). That caused the optional dependency of
weaving.aspectj to not get wired, even if the update.configurator
installed the exporter later on. But that sounds correct, right?

-Martin





Thomas Watson wrote:
> When you double check and find this strange behavior then please open a bug
> report against Equinox->Framework and give steps to reproduce.
>
> Thanks.
>
> Tom
>
>
>
>
> |------------>
> | From:      |
> |------------>
>   >--------------------------------------------------------------------------------------------------------------------------------------------------|
>   |Martin Lippert <lippert@xxxxxxx>                                                                                                                  |
>   >--------------------------------------------------------------------------------------------------------------------------------------------------|
> |------------>
> | To:        |
> |------------>
>   >--------------------------------------------------------------------------------------------------------------------------------------------------|
>   |Equinox development mailing list <equinox-dev@xxxxxxxxxxx>                                                                                        |
>   >--------------------------------------------------------------------------------------------------------------------------------------------------|
> |------------>
> | Date:      |
> |------------>
>   >--------------------------------------------------------------------------------------------------------------------------------------------------|
>   |09/15/2009 03:03 PM                                                                                                                               |
>   >--------------------------------------------------------------------------------------------------------------------------------------------------|
> |------------>
> | Subject:   |
> |------------>
>   >--------------------------------------------------------------------------------------------------------------------------------------------------|
>   |Re: [equinox-dev] optional dependencies for weaving.aspectj                                                                                       |
>   >--------------------------------------------------------------------------------------------------------------------------------------------------|
>
>
>
>
>
>
> I expected exactly what you describe, but observed something else... :-(
>
> What I observe is:
>
> - org.aspectj.weaver package is available in version 1.6.4 (its the only
> available version)
> - org.eclipse.equinox.weaving.aspectj defines an import on
> org.aspectj.weaver for the minimum version 1.6.3
>
> What seems to happen is:
>
> - if there *IS NO* optional flag for the import,
> org.eclipse.equinox.weaving.aspectj gets wired to version 1.6.4
> (correct)
>
> - if there *IS* an optional flag for the import,
> org.eclipse.equinox.weaving.aspecjt doesn't get wired to
> org.aspectj.weaver at all, even that there is version 1.6.4 available
> (not correct, I think)
>
> I will check again, but this seems to be what I observe...
>
> -Martin
>
>
> Thomas Watson wrote:
>> I'm not sure I understand why the fact that these constraints are
> optional
>> is causing you an issue.  I would expect the same behavior for
> non-optional
>> imports.
>>
>> If a bundle imports a lower version of a package and gets wired to that
>> lower version, then later a new bundle is installed which exports a
> higher
>> version of the package, I would not expect the importer to automatically
>> get wired to the new package.  This should only happen if you uninstall
> the
>> old version of the exporter and refresh the importing bundle or you
> refresh
>> the importing bundle to force it to re-resolve.  At that point I would
>> expect it to get wired to the higher version regardless of if the import
>> was optional or not.
>>
>> Tom
>>
>>
>>
>>
>> |------------>
>> | From:      |
>> |------------>
>>
>> --------------------------------------------------------------------------------------------------------------------------------------------------|
>
>>   |Martin Lippert <lippert@xxxxxxx>
> |
>> --------------------------------------------------------------------------------------------------------------------------------------------------|
>
>> |------------>
>> | To:        |
>> |------------>
>>
>> --------------------------------------------------------------------------------------------------------------------------------------------------|
>
>>   |Equinox Project <equinox-dev@xxxxxxxxxxx>
> |
>> --------------------------------------------------------------------------------------------------------------------------------------------------|
>
>> |------------>
>> | Date:      |
>> |------------>
>>
>> --------------------------------------------------------------------------------------------------------------------------------------------------|
>
>>   |09/15/2009 11:52 AM
> |
>> --------------------------------------------------------------------------------------------------------------------------------------------------|
>
>> |------------>
>> | Subject:   |
>> |------------>
>>
>> --------------------------------------------------------------------------------------------------------------------------------------------------|
>
>>   |[equinox-dev] optional dependencies for weaving.aspectj
> |
>> --------------------------------------------------------------------------------------------------------------------------------------------------|
>
>>
>>
>>
>>
>> Hi!
>>
>> I am observing a problem with the optional dependencies for
>> org.eclipse.equinox.weaving.aspectj. We made the dependencies to some
>> aspectj stuff optional (which is good and works fine). But I also added
>> a version constraint to the import (which should be the minimal
>> version). But since the optional flag is set, the runtime doesn't wire
>> this optional dependency to available higher versions of the package.
>>
>> Any idea how to resolve this?
>>
>> Thanks!!!
>>
>> Cheers,
>> -Martin
>>
>> _______________________________________________
>> equinox-dev mailing list
>> equinox-dev@xxxxxxxxxxx
>>
https://dev.eclipse.org/mailman/listinfo/equinox-dev
>>
>>
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> equinox-dev mailing list
>> equinox-dev@xxxxxxxxxxx
>>
https://dev.eclipse.org/mailman/listinfo/equinox-dev
> _______________________________________________
> equinox-dev mailing list
> equinox-dev@xxxxxxxxxxx
>
https://dev.eclipse.org/mailman/listinfo/equinox-dev
>
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> equinox-dev mailing list
> equinox-dev@xxxxxxxxxxx
>
https://dev.eclipse.org/mailman/listinfo/equinox-dev
_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev


GIF image

GIF image