Uploaded image for project: 'JSword'
  1. JSword
  2. JS-140

Use Ivy to manage JSword's dependencies.

    Details

    • Type: Improvement
    • Status: Closed (View Workflow)
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 1.6
    • Fix Version/s: 1.7
    • Component/s: build
    • Labels:
      None

      Description

      Ivy is an Apache component that is tightly integrated with Ant that will grab dependent jars and provide them to the project.

      This would greatly reduce the SVN repository size going forward as we would no longer need to house these libraries.

        Attachments

          Activity

          Hide
          dmsmith DM Smith added a comment -

          Martin wrote:

          There were advantages in having the jars under the jar folder, where they were before. There are only a few jars and it means the eclipse project works instantly after checkout. Will the jars still be there?

          No, they wouldn't. Only the jars that are not found via ivy/maven.

          You are right that it won't be instantaneous. It might cause people to wonder what's wrong. So clear documentation is needed.

          I think the basic pattern for those that don't do Eclipse is to run ant first. We have several.

          I'll attach a patch to the issue so we can play with it, comment on it and get it right.

          Projects that depend upon the jsword Eclipse project will be correct once jsword is built via ant.

          The bigger problem I have with this mechanism is that of reliability:

          • It relies on crosswire.org and other servers. While we have problems every now and then with the crosswire.org server, this introduces more of a problem.
          • The jars gotten via ivy are not checked against the keys gotten from their original distribution source. We cannot know whether they are complete and untampered with.

          I'm also concerned with how it works while not being connected to the internet.

          Show
          dmsmith DM Smith added a comment - Martin wrote: There were advantages in having the jars under the jar folder, where they were before. There are only a few jars and it means the eclipse project works instantly after checkout. Will the jars still be there? No, they wouldn't. Only the jars that are not found via ivy/maven. You are right that it won't be instantaneous. It might cause people to wonder what's wrong. So clear documentation is needed. I think the basic pattern for those that don't do Eclipse is to run ant first. We have several. I'll attach a patch to the issue so we can play with it, comment on it and get it right. Projects that depend upon the jsword Eclipse project will be correct once jsword is built via ant. The bigger problem I have with this mechanism is that of reliability: It relies on crosswire.org and other servers. While we have problems every now and then with the crosswire.org server, this introduces more of a problem. The jars gotten via ivy are not checked against the keys gotten from their original distribution source. We cannot know whether they are complete and untampered with. I'm also concerned with how it works while not being connected to the internet.
          Hide
          mjdenham Martin Denham added a comment -

          For the sake of getting about a dozen jars I would like to vote for the easiest method, which in my opinion was putting them in the jar folder.

          Show
          mjdenham Martin Denham added a comment - For the sake of getting about a dozen jars I would like to vote for the easiest method, which in my opinion was putting them in the jar folder.
          Hide
          dmsmith DM Smith added a comment -

          Patch for build.xml, core.xml and new file ivy.xml

          Show
          dmsmith DM Smith added a comment - Patch for build.xml, core.xml and new file ivy.xml
          Hide
          dmsmith DM Smith added a comment -

          This has been done. I'm leaving it open to iterate any other changes that need to be done. Feel free to make it better. Or talk about what should be done to make it better. Note, maven may come later. Right now, I'm trying to solve the problem of storing jars in source code control.

          Show
          dmsmith DM Smith added a comment - This has been done. I'm leaving it open to iterate any other changes that need to be done. Feel free to make it better. Or talk about what should be done to make it better. Note, maven may come later. Right now, I'm trying to solve the problem of storing jars in source code control.
          Hide
          dmsmith DM Smith added a comment -

          Ivy now manages JSword's 3-rd party dependencies.

          Show
          dmsmith DM Smith added a comment - Ivy now manages JSword's 3-rd party dependencies.

            People

            • Assignee:
              dmsmith DM Smith
              Reporter:
              dmsmith DM Smith
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: