There are several issues that prevent Oozie from working on Windows natively (without Cygwin):
- Unix OS is enforced in the build.
- Platform-specific assumptions for file path formats. For example, assuming that forward slash is a valid path separator.
- Workarounds required for windows-specific issues. For example, environment variables referring to file paths are enclosed in double quotes, which need to be removed prior to using them.
- Unit tests make many platform-specific assumptions that break on windows.
- .sh scripts need to be ported to .cmd/.ps1.
Microsoft and Hortonworks have addressed these issues in a series of patches, which will now be ported to Apache Oozie trunk and submitted to the community for review. These patches will be attached in subtasks of this top-level Jira.
I will also document the assumptions and steps that are needed to build on Windows. One such assumption is that running unit tests require hadoop core built from branch-1-win.