<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
-->

<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
xmlns:android="http://schemas.android.com/apk/res/android"
           id="org.apache.cordova.file"
      version="1.3.2">
    <name>File</name>
    <description>Cordova File Plugin</description>
    <license>Apache 2.0</license>
    <keywords>cordova,file</keywords>
    <repo>https://git-wip-us.apache.org/repos/asf/cordova-plugin-file.git</repo>
    <issue>https://issues.apache.org/jira/browse/CB/component/12320651</issue>

    <js-module src="www/DirectoryEntry.js" name="DirectoryEntry">
        <clobbers target="window.DirectoryEntry" />
    </js-module>

    <js-module src="www/DirectoryReader.js" name="DirectoryReader">
        <clobbers target="window.DirectoryReader" />
    </js-module>

    <js-module src="www/Entry.js" name="Entry">
        <clobbers target="window.Entry" />
    </js-module>

    <js-module src="www/File.js" name="File">
        <clobbers target="window.File" />
    </js-module>

    <js-module src="www/FileEntry.js" name="FileEntry">
        <clobbers target="window.FileEntry" />
    </js-module>

    <js-module src="www/FileError.js" name="FileError">
        <clobbers target="window.FileError" />
    </js-module>

    <js-module src="www/FileReader.js" name="FileReader">
        <clobbers target="window.FileReader" />
    </js-module>

    <js-module src="www/FileSystem.js" name="FileSystem">
        <clobbers target="window.FileSystem" />
    </js-module>

    <js-module src="www/FileUploadOptions.js" name="FileUploadOptions">
        <clobbers target="window.FileUploadOptions" />
    </js-module>

    <js-module src="www/FileUploadResult.js" name="FileUploadResult">
        <clobbers target="window.FileUploadResult" />
    </js-module>

    <js-module src="www/FileWriter.js" name="FileWriter">
        <clobbers target="window.FileWriter" />
    </js-module>

    <js-module src="www/Flags.js" name="Flags">
        <clobbers target="window.Flags" />
    </js-module>

    <js-module src="www/LocalFileSystem.js" name="LocalFileSystem">
        <!-- Non-standards way -->
        <clobbers target="window.LocalFileSystem" />
        <!-- Standards-compliant way -->
        <merges target="window" />
    </js-module>

    <js-module src="www/Metadata.js" name="Metadata">
        <clobbers target="window.Metadata" />
    </js-module>

    <js-module src="www/ProgressEvent.js" name="ProgressEvent">
        <clobbers target="window.ProgressEvent" />
    </js-module>

    <js-module src="www/fileSystems.js" name="fileSystems" />

    <js-module src="www/requestFileSystem.js" name="requestFileSystem">
        <clobbers target="window.requestFileSystem" />
    </js-module>

    <js-module src="www/resolveLocalFileSystemURI.js" name="resolveLocalFileSystemURI">
        <merges target="window" />
    </js-module>

    <!-- android -->
    <platform name="android">
        <config-file target="res/xml/config.xml" parent="/*">
            <feature name="File" >
                <param name="android-package" value="org.apache.cordova.file.FileUtils"/>
                <param name="onload" value="true" />
            </feature>
        </config-file>

        <config-file target="AndroidManifest.xml" parent="/*">
            <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        </config-file>

        <source-file src="src/android/EncodingException.java" target-dir="src/org/apache/cordova/file" />
        <source-file src="src/android/FileExistsException.java" target-dir="src/org/apache/cordova/file" />
        <source-file src="src/android/InvalidModificationException.java" target-dir="src/org/apache/cordova/file" />
        <source-file src="src/android/NoModificationAllowedException.java" target-dir="src/org/apache/cordova/file" />
        <source-file src="src/android/TypeMismatchException.java" target-dir="src/org/apache/cordova/file" />
        <source-file src="src/android/FileUtils.java" target-dir="src/org/apache/cordova/file" />
        <source-file src="src/android/FileHelper.java" target-dir="src/org/apache/cordova/file" />
        <source-file src="src/android/DirectoryManager.java" target-dir="src/org/apache/cordova/file" />
        <source-file src="src/android/LocalFilesystemURL.java" target-dir="src/org/apache/cordova/file" />
        <source-file src="src/android/Filesystem.java" target-dir="src/org/apache/cordova/file" />
        <source-file src="src/android/LocalFilesystem.java" target-dir="src/org/apache/cordova/file" />
        <source-file src="src/android/ContentFilesystem.java" target-dir="src/org/apache/cordova/file" />

        <!-- android specific file apis -->
        <js-module src="www/android/FileSystem.js" name="androidFileSystem">
            <merges target="FileSystem" />
        </js-module>
        <js-module src="www/fileSystems-roots.js" name="fileSystems-roots">
            <runs/>
        </js-module>
        <js-module src="www/fileSystemPaths.js" name="fileSystemPaths">
            <merges target="cordova" />
            <runs/>
        </js-module>
    </platform>

    <!-- amazon-fireos -->
    <platform name="amazon-fireos">
        <config-file target="res/xml/config.xml" parent="/*">
            <feature name="File" >
                <param name="android-package" value="org.apache.cordova.file.FileUtils"/>
                <param name="onload" value="true" />
            </feature>
        </config-file>

        <config-file target="AndroidManifest.xml" parent="/*">
            <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        </config-file>

        <source-file src="src/android/EncodingException.java" target-dir="src/org/apache/cordova/file" />
        <source-file src="src/android/FileExistsException.java" target-dir="src/org/apache/cordova/file" />
        <source-file src="src/android/InvalidModificationException.java" target-dir="src/org/apache/cordova/file" />
        <source-file src="src/android/NoModificationAllowedException.java" target-dir="src/org/apache/cordova/file" />
        <source-file src="src/android/TypeMismatchException.java" target-dir="src/org/apache/cordova/file" />
        <source-file src="src/android/FileUtils.java" target-dir="src/org/apache/cordova/file" />
        <source-file src="src/android/FileHelper.java" target-dir="src/org/apache/cordova/file" />
        <source-file src="src/android/DirectoryManager.java" target-dir="src/org/apache/cordova/file" />
        <source-file src="src/android/LocalFilesystemURL.java" target-dir="src/org/apache/cordova/file" />
        <source-file src="src/android/Filesystem.java" target-dir="src/org/apache/cordova/file" />
        <source-file src="src/android/LocalFilesystem.java" target-dir="src/org/apache/cordova/file" />
        <source-file src="src/android/ContentFilesystem.java" target-dir="src/org/apache/cordova/file" />
        
        <!-- android specific file apis -->
        <js-module src="www/android/FileSystem.js" name="androidFileSystem">
            <merges target="window.FileSystem" />
        </js-module>
        <js-module src="www/fileSystems-roots.js" name="fileSystems-roots">
            <runs/>
        </js-module>
        <js-module src="www/fileSystemPaths.js" name="fileSystemPaths">
            <merges target="cordova" />
            <runs/>
        </js-module>
    </platform>

    <!-- ubuntu -->
    <platform name="ubuntu">
        <header-file src="src/ubuntu/file.h" />
        <source-file src="src/ubuntu/file.cpp" />
        <js-module src="www/ubuntu/FileSystem.js" name="ubuntuFileSystem1">
            <merges target="window.FileSystem" />
        </js-module>
        <js-module src="www/ubuntu/FileWriter.js" name="FileWriter1">
            <merges target="window.FileWriter" />
        </js-module>
        <js-module src="www/ubuntu/fileSystems-roots.js" name="fileSystems-roots">
            <runs/>
        </js-module>
    </platform>

    <!-- ios -->
    <platform name="ios">
        <config-file target="config.xml" parent="/*">
            <feature name="File">
                <param name="ios-package" value="CDVFile" />
                <param name="onload" value="true" />
            </feature>
        </config-file>
        <header-file src="src/ios/CDVFile.h" />
        <source-file src="src/ios/CDVFile.m" />
        <header-file src="src/ios/CDVLocalFilesystem.h" />
        <source-file src="src/ios/CDVLocalFilesystem.m" />
        <header-file src="src/ios/CDVAssetLibraryFilesystem.h" />
        <source-file src="src/ios/CDVAssetLibraryFilesystem.m" />

        <!-- ios specific file apis -->
        <js-module src="www/ios/FileSystem.js" name="iosFileSystem">
            <merges target="FileSystem" />
        </js-module>

        <js-module src="www/fileSystems-roots.js" name="fileSystems-roots">
            <runs/>
        </js-module>

        <js-module src="www/fileSystemPaths.js" name="fileSystemPaths">
            <merges target="cordova" />
            <runs/>
        </js-module>

        <framework src="AssetsLibrary.framework" />
        <framework src="MobileCoreServices.framework" />
    </platform>

    <!-- wp7 -->
    <platform name="wp7">
        <config-file target="config.xml" parent="/*">
            <feature name="File">
                <param name="wp-package" value="File"/>
            </feature>
        </config-file>

        <source-file src="src/wp/File.cs" />

        <!-- wp specific file apis -->
        <js-module src="www/wp/FileUploadOptions.js" name="FileUploadOptions1">
            <merges target="window.FileUploadOptions" />
        </js-module>

    </platform>

    <!-- wp8 -->
    <platform name="wp8">
        <config-file target="config.xml" parent="/*">
            <feature name="File">
                <param name="wp-package" value="File"/>
            </feature>
        </config-file>

        <source-file src="src/wp/File.cs" />

        <!-- wp specific file apis -->
        <js-module src="www/wp/FileUploadOptions.js" name="FileUploadOptions1">
            <merges target="window.FileUploadOptions" />
        </js-module>

    </platform>

    <!-- blackberry10 -->
    <platform name="blackberry10">
        <config-file target="www/config.xml" parent="/widget">
            <feature name="File" value="File" />
        </config-file>
        <js-module src="www/blackberry10/FileProxy.js" name="FileProxy" >
            <runs />
        </js-module>
        <js-module src="www/blackberry10/info.js" name="bb10FileSystemInfo">
            <runs />
        </js-module>
        <js-module src="www/blackberry10/createEntryFromNative.js" name="bb10CreateEntryFromNative">
            <runs />
        </js-module>
        <js-module src="www/blackberry10/requestAnimationFrame.js" name="bb10RequestAnimationFrame">
            <runs />
        </js-module>
        <js-module src="www/blackberry10/FileSystem.js" name="bb10FileSystem">
            <merges target="window.FileSystem" />
        </js-module>
        <js-module src="www/fileSystems-roots.js" name="fileSystems-roots">
            <runs/>
        </js-module>
        <js-module src="www/fileSystemPaths.js" name="fileSystemPaths">
            <merges target="cordova" />
        </js-module>
        <js-module src="www/blackberry10/copyTo.js" name="copyToProxy" />
        <js-module src="www/blackberry10/getDirectory.js" name="getDirectoryProxy" />
        <js-module src="www/blackberry10/getFile.js" name="getFileProxy" />
        <js-module src="www/blackberry10/getFileMetadata.js" name="getFileMetadataProxy" />
        <js-module src="www/blackberry10/getMetadata.js" name="getMetadataProxy" />
        <js-module src="www/blackberry10/getParent.js" name="getParentProxy" />
        <js-module src="www/blackberry10/moveTo.js" name="moveToProxy" />
        <js-module src="www/blackberry10/readAsArrayBuffer.js" name="readAsArrayBufferProxy" />
        <js-module src="www/blackberry10/readAsBinaryString.js" name="readAsBinaryStringProxy" />
        <js-module src="www/blackberry10/readAsDataURL.js" name="readAsDataURLProxy" />
        <js-module src="www/blackberry10/readAsText.js" name="readAsTextProxy" />
        <js-module src="www/blackberry10/readEntries.js" name="readEntriesProxy" />
        <js-module src="www/blackberry10/remove.js" name="removeProxy" />
        <js-module src="www/blackberry10/removeRecursively.js" name="removeRecursivelyProxy" />
        <js-module src="www/blackberry10/resolveLocalFileSystemURI.js" name="resolveLocalFileSystemURIProxy" />
        <js-module src="www/blackberry10/requestAllFileSystems.js" name="requestAllFileSystemsProxy" />
        <js-module src="www/blackberry10/requestFileSystem.js" name="requestFileSystemProxy" />
        <js-module src="www/blackberry10/setMetadata.js" name="setMetadataProxy" />
        <js-module src="www/blackberry10/truncate.js" name="truncateProxy" />
        <js-module src="www/blackberry10/write.js" name="writeProxy" />
        <source-file src="src/blackberry10/index.js" target-dir="File" />
    </platform>

    <!-- windows8 -->
    <platform name="windows8">
        <js-module src="src/windows/FileProxy.js" name="FileProxy">
            <merges target="" />
        </js-module>
    </platform>

    <!-- windows -->
    <platform name="windows">
        <js-module src="src/windows/FileProxy.js" name="FileProxy">
            <merges target="" />
        </js-module>
    </platform>

    <!-- firefox os -->
    <platform name="firefoxos">
        <js-module src="src/firefoxos/FileProxy.js" name="FileProxy">
            <runs />
        </js-module>

        <js-module src="www/fileSystemPaths.js" name="fileSystemPaths">
            <merges target="cordova" />
            <runs/>
        </js-module>

        <!-- Firefox OS specific file apis -->
        <js-module src="www/firefoxos/FileSystem.js" name="firefoxFileSystem">
            <merges target="window.FileSystem" />
        </js-module>
    </platform>

</plugin>
