hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Colin Patrick McCabe (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HADOOP-8887) Use a Maven plugin to build the native code using CMake
Date Wed, 13 Jan 2016 01:36:39 GMT

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

Colin Patrick McCabe updated HADOOP-8887:
-----------------------------------------
    Attachment: HADOOP-8887.012.patch

I rebased this on current trunk and removed some of the hacks that were needed for jdk6. 
This now integrates with the code in hadoop-maven-plugins.

I think this JIRA is important because the current method of calling cmake via bash will not
work for Windows.  Once this plugin is established, we will be able to add Windows support
fairly easily in a follow-on JIRA, and no longer have to maintain a separate native build
process for Windows.

The plugin also makes running native unit tests straightforward and natural.  We no longer
have to duplicate the SKIPTESTS handling and the cmake 2.6 hack everywhere, but can have them
in just one place-- the cmake plugin itself.

With the cmakebuilder maven plugin, you can now run all native unit tests via:
{code}
mvn test -Pnative -Dtest=allNative
{code}

or a specific native unit test via:
{code}
mvn test -Pnative -Dtest=test_bulk_crc32
{code}
(or whatever other native unit test name you have, clearly)  The stdout and stderr show up
in .stdout and .stderr files, respectively.  Test timeouts are enforced and we track the exit
codes.

> Use a Maven plugin to build the native code using CMake
> -------------------------------------------------------
>
>                 Key: HADOOP-8887
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8887
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: build
>    Affects Versions: 2.0.3-alpha
>            Reporter: Colin Patrick McCabe
>            Assignee: Colin Patrick McCabe
>            Priority: Minor
>         Attachments: HADOOP-8887.001.patch, HADOOP-8887.002.patch, HADOOP-8887.003.patch,
HADOOP-8887.004.patch, HADOOP-8887.005.patch, HADOOP-8887.006.patch, HADOOP-8887.008.patch,
HADOOP-8887.011.patch, HADOOP-8887.012.patch
>
>
> Currently, we build the native code using ant-build invocations.  Although this works,
it has some limitations:
> * compiler warning messages are hidden, which can cause people to check in code with
warnings unintentionally
> * there is no framework for running native unit tests; instead, we use ad-hoc constructs
involving shell scripts
> * the antrun code is very platform specific
> * there is no way to run a specific native unit test
> * it's more or less impossible for scripts like test-patch.sh to separate a native test
failing from the build itself failing (no files are created) or to enumerate which native
tests failed.
> Using a native Maven plugin would overcome these limitations.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message