[ 
https://issues.apache.org/jira/browse/HADOOP-9082?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13502221#comment-13502221
 ] 

Matt Foley commented on HADOOP-9082:
------------------------------------

This discussion started in HADOOP-8924, where it was proposed to replace the 
build-time utility "saveVersion.sh" with a python script.  This would require 
Python as a build-time dependency.  Here's the background:

Those of us involved in the branch-1-win port of Hadoop to Windows without use 
of Cygwin, have faced the issue of frequent use of shell scripts throughout the 
system, both in build time (eg, the utility "saveVersion.sh"), and run time 
(config files like "hadoop-env.sh" and the start/stop scripts in "bin/*" ).  
Similar usages exist throughout the Hadoop stack, in all projects.

The vast majority of these shell scripts do not do anything platform specific; 
they can be expressed in a posix-conforming way.  Therefore, it seems to us 
that it makes sense to start using a cross-platform scripting language, such as 
python, in place of shell for these purposes.  For those rare occasions where 
platform-specific functionality really is needed, python also supports quite a 
lot of platform-specific functionality on both Linux and Windows; but where 
that is inadequate, one could still conditionally invoke a platform-specific 
module written in shell (for Linux/*nix) or powershell or bat (for Windows).

The primary motive for moving to a cross-platform scripting language is 
maintainability.  The alternative would be to maintain two complete suites of 
scripts, one for Linux and one for Windows (and perhaps others in the future).  
We want to avoid the need to update dual modules in two different languages 
when functionality changes, especially given that many Linux developers are not 
familiar with powershell or bat, and many Windows developers are not familiar 
with shell or bash.
                
> Select and document a platform-independent scripting language for use in 
> Hadoop environment
> -------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-9082
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9082
>             Project: Hadoop Common
>          Issue Type: Bug
>            Reporter: Matt Foley
>
> This issue is going to be discussed at length in the common-dev@ mailing 
> list, under topic "[PROPOSAL] introduce Python as build-time and run-time 
> dependency for Hadoop and throughout Hadoop stack".

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to