mwaylabs / Espresso

The-M-Projects build tools using node.js.
www.the-m-project.org
Other
84 stars 28 forks source link

Proposal for Issue #85 'Add more configuration options for the AndroidManifest.xml'. #86

Closed siamak-haschemi closed 12 years ago

siamak-haschemi commented 12 years ago

With this extension, I can write arbritary manifest configs:

...
"package":{
        "android":{
            "method":"PhoneGap",
            "os":"Android",
            "sdk":"android-15",
            "package":"com.my.package",
            "activity":"MyActivity",
            "mode":"release",
            "keystore":"release-key.keystore",
            "keyalias":"release-key",
            "storepass":"******",
            "manifest":{
                "-android:versionCode":"1",
                "-android:versionName":"0.0.1",
                "uses-permission":[
                    { "-android:name":"android.permission.READ_CONTACTS" },
                    { "-android:name":"android.permission.WRITE_CONTACTS" }
                ],
                "uses-sdk":{ "-android:minSdkVersion":"10" }
            },
            "plugins":{
            },
            "plists":{
                "PhoneGap":{
                    "ExternalHosts":["*"]
                }
            },
            "autoScaleIcon":true
        }
    }
...

The resulting AndroidManifest.xml then looks like:

<?xml version="1.0" encoding="UTF-8" ?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.my.package" android:versionCode="1" android:versionName="0.0.1">
    <supports-screens android:largeScreens="true" android:normalScreens="true" android:smallScreens="true" android:xlargeScreens="true" android:resizeable="true" android:anyDensity="true" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
    <application android:label="@string/app_name" android:icon="@drawable/ic_launcher">
        <activity android:name=".MyActivity" android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <uses-sdk android:minSdkVersion="10" />
</manifest>
4z3 commented 12 years ago

I've submitted a cleaned up version of your pull request. See #87.

siamak-haschemi commented 12 years ago

Great, thanks!