IvyDE
  1. IvyDE
  2. IVYDE-26

ivyconf.properties load issue in eclipse

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.0.final
    • Component/s: None
    • Labels:
      None
    • Environment:

      Configured IvyDe. and ivy 1.3.1 Eclipse 3.2

      Description

      I have got IvyDe and Ivy working in a relatively small project.

      I use the folowing properties in my ivyconf.properties

      • development.dir=/prive/development/ontw
      • workspace.dir=/pslagdigi

      using them in:

      • ivy.shared.default.root=/common-repository/shared

      I now noticed the issue that when I change the workspace.dir variable for instance IvyDe tries to resolve the artifacts using my old workspace.dir value. It is after I restart my workspace I get the correct behaviour.

      It might be an improvement to have a refresh configuration option in the ivyde plugin's configuration.

        Activity

        Hide
        Xavier Hanin added a comment -

        You're right, IvyDE for the moment automatically detects changes to the ivyconf file, but not to referenced files like your property file. Having a simple button to ask for a refresh would be an easy solution to this problem, youre right.

        Show
        Xavier Hanin added a comment - You're right, IvyDE for the moment automatically detects changes to the ivyconf file, but not to referenced files like your property file. Having a simple button to ask for a refresh would be an easy solution to this problem, youre right.
        Hide
        Jeffrey Sinclair added a comment -

        We have a similar issue with property files in our Ivy environment. The difference being that the current user may not be aware that the property file has been updated and hence won't know to hit the refresh button. Would it be possible for IvyDE to have File watchers on all transitively referenced files or is there some limitation that would prevent this?

        Show
        Jeffrey Sinclair added a comment - We have a similar issue with property files in our Ivy environment. The difference being that the current user may not be aware that the property file has been updated and hence won't know to hit the refresh button. Would it be possible for IvyDE to have File watchers on all transitively referenced files or is there some limitation that would prevent this?
        Hide
        Nicolas Lalevée added a comment -

        Setting up file watcher will be quite complicated technically, it would involve quite deeply patching some Ivy code to know which file exactly to watch.
        Actually I am considering the solution of parsing the ivy settings every time it is needed because it is cheap in term of cpu. This only draw back of a such solution is when the ivy settings file is on some network: file retrieving can be quite slow... and that slowness could be also quite annoying if some file watchin is setup.
        So probably the simpler would be to always reload the settings, and add an option in the UI to only load it on demand.

        Show
        Nicolas Lalevée added a comment - Setting up file watcher will be quite complicated technically, it would involve quite deeply patching some Ivy code to know which file exactly to watch. Actually I am considering the solution of parsing the ivy settings every time it is needed because it is cheap in term of cpu. This only draw back of a such solution is when the ivy settings file is on some network: file retrieving can be quite slow... and that slowness could be also quite annoying if some file watchin is setup. So probably the simpler would be to always reload the settings, and add an option in the UI to only load it on demand.
        Hide
        Jeffrey Sinclair added a comment -

        Nicolas, that's a fair comment and a good point. In our Ivy setup, the ivy-settings refer to some default settings that are pulled in over the network. I'd rather have an option to 'reload settings' than incur a forced performance hit with Eclipse blocking on IO for the use-case that the centralised settings are updated. Would it be possible to tie in this feature into the 'resolve' and 'refresh' option for the IvyDE managed dependency container (ideally on a per project basis and also with some global setting). For example a checkbox to say 're-load settings on re-resolve and refresh'? This way it is still left up to the end user to incur any potential slowness but if they are happy with it they are guaranteed to have the correct settings when resolving or refreshing the container.

        Show
        Jeffrey Sinclair added a comment - Nicolas, that's a fair comment and a good point. In our Ivy setup, the ivy-settings refer to some default settings that are pulled in over the network. I'd rather have an option to 'reload settings' than incur a forced performance hit with Eclipse blocking on IO for the use-case that the centralised settings are updated. Would it be possible to tie in this feature into the 'resolve' and 'refresh' option for the IvyDE managed dependency container (ideally on a per project basis and also with some global setting). For example a checkbox to say 're-load settings on re-resolve and refresh'? This way it is still left up to the end user to incur any potential slowness but if they are happy with it they are guaranteed to have the correct settings when resolving or refreshing the container.
        Hide
        Nicolas Lalevée added a comment -

        That is the idea Jeffrey.
        Actually the ivy configuration is used in many parts, from the resolve process to the Ivy editor for the completion. So the option would be just next to the ivy settings url configuration, saying 'only refresh the settings on demand' (so by default it always reload it). And in the contextual menu, just next to the "resolve" and "refresh" entries there would be a "refresh settings" entry.
        And this would be configurable by project, or globally.

        Show
        Nicolas Lalevée added a comment - That is the idea Jeffrey. Actually the ivy configuration is used in many parts, from the resolve process to the Ivy editor for the completion. So the option would be just next to the ivy settings url configuration, saying 'only refresh the settings on demand' (so by default it always reload it). And in the contextual menu, just next to the "resolve" and "refresh" entries there would be a "refresh settings" entry. And this would be configurable by project, or globally.
        Hide
        Nicolas Lalevée added a comment -

        fixed in trunk: I implemented what I described in my last comment

        Show
        Nicolas Lalevée added a comment - fixed in trunk: I implemented what I described in my last comment

          People

          • Assignee:
            Nicolas Lalevée
            Reporter:
            Michel Tiemens
          • Votes:
            1 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development