You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@nutch.apache.org by "Alparslan Avcı (JIRA)" <ji...@apache.org> on 2014/02/04 13:10:10 UTC

[jira] [Updated] (NUTCH-1371) Replace Ivy with Maven Ant tasks

     [ https://issues.apache.org/jira/browse/NUTCH-1371?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alparslan Avcı updated NUTCH-1371:
----------------------------------

    Attachment: NUTCH-1371-2x.patch

Hi all,

I have uploaded a patch for maven integration for 2.x branch. With this patch, nutch can be configured directly using maven by any IDE. For deployment and running from console, ant+maven can still be used.

The maven module structure consists of:
- nutch module: the parent module for dependency and module management. (pom.xml)
- nutch-core module: the child module that contains core sources of Nutch. (src/pom.xml)
- plugin modules (ex.: parse-tika): child modules for plugins. (src/plugin/parse-tika/pom.xml)

For deployment; maven install build phase (mvn install) has to be run before ant runtime task. This is required since plugin modules are dependent to nutch-core module and it has to be installed first.

P.S: I know that this structure is not elegant, but this way is neccesary in order to keep all ant targets running. To make a clear and elegant design, we have to discuss and change the structure of the project. This model is not suitable for maven default structure. For now, we can continue in this way while we are discussing the new design, I think.

> Replace Ivy with Maven Ant tasks
> --------------------------------
>
>                 Key: NUTCH-1371
>                 URL: https://issues.apache.org/jira/browse/NUTCH-1371
>             Project: Nutch
>          Issue Type: Improvement
>          Components: build
>    Affects Versions: 1.7, 2.2.1
>            Reporter: Julien Nioche
>            Assignee: Lewis John McGibbney
>             Fix For: 1.8, 2.4
>
>         Attachments: NUTCH-1371-2x.patch, NUTCH-1371-plugins.trunk.patch, NUTCH-1371-pom.patch, NUTCH-1371-r1461140.patch, NUTCH-1371.patch
>
>
> We might move to Maven altogether but a good intermediate step could be to rely on the maven ant tasks for managing the dependencies. Ivy does a good job but we need to have a pom file anyway for publishing the artefacts which means keeping the pom.xml and ivy.xml contents in sync. Most devs are also more familiar with Maven, and it is well integrated in IDEs. Going the ANT+MVN way also means that we don't have to rewrite the whole building process and can rely on our existing script



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)