mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
Transfer the code up to the AndroidManifest editing to grunt
This commit is contained in:
@@ -1,33 +1,73 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
|
|
||||||
run: function(grunt) {
|
run: function(grunt) {
|
||||||
|
var pathModule = require("path");
|
||||||
|
|
||||||
var localCfg = {
|
var localCfg = {
|
||||||
|
tnsPath: "tns",
|
||||||
emulatorProcessIdentifier:".*emulator64-x86",
|
emulatorProcessIdentifier:".*emulator64-x86",
|
||||||
emuAvdName:"Api19",
|
emuAvdName:"Api19",
|
||||||
androidRuntimePath:"/Users/erjan/tns-android.tgz",
|
androidRuntimePath:"/Users/erjan/tns-android.tgz",
|
||||||
outfile:"./TestRunResult.txt",
|
outfile:"./TestRunResult.txt",
|
||||||
|
androidRuntimePath: "/Users/erjan/tns-android.tgz",
|
||||||
|
androidFrameworkArgument: " --frameworkPath=/Users/erjan/tns-android.tgz",
|
||||||
|
|
||||||
workingDir:".testsapprun",
|
workingDir:".testsapprun",
|
||||||
testsAppName:"TestsApp",
|
testsAppName:"TestsApp",
|
||||||
|
applicationDir: pathModule.join(".testsapprun", "TestsApp"),
|
||||||
|
appDir: pathModule.join(".testsapprun", "TestsApp", "app"),
|
||||||
pathToApk:"./platforms/android/build/outputs/apk/TestsApp-debug.apk",
|
pathToApk:"./platforms/android/build/outputs/apk/TestsApp-debug.apk",
|
||||||
deployedAppName:"org.nativescript.$testsAppName",
|
deployedAppName:"org.nativescript.$testsAppName",
|
||||||
mainActivityName:"com.tns.NativeScriptActivity"
|
mainActivityName:"com.tns.NativeScriptActivity",
|
||||||
|
pathToCompiledTests: "bin/dist/apps/tests"
|
||||||
}
|
}
|
||||||
|
|
||||||
grunt.initConfig({
|
grunt.initConfig({
|
||||||
clean: {
|
clean: {
|
||||||
workingDir: {
|
workingDir: {
|
||||||
src: localCfg.workingDir
|
src: localCfg.workingDir
|
||||||
|
},
|
||||||
|
originalAppDir: {
|
||||||
|
src: pathModule.join(localCfg.applicationDir, "app") + "/"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mkdir: {
|
mkdir: {
|
||||||
workingDir: {
|
workingDir: {
|
||||||
options: {
|
options: {
|
||||||
createi: [localCfg.workingDir],
|
create: [localCfg.workingDir],
|
||||||
mode: 0700
|
mode: 0700
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
copy: {
|
||||||
|
testsAppToRunDir: {
|
||||||
|
src: "**/*.*",
|
||||||
|
dest: localCfg.appDir,
|
||||||
|
cwd: localCfg.pathToCompiledTests,
|
||||||
|
expand: true
|
||||||
|
},
|
||||||
|
addAndroidPermissions: {
|
||||||
|
src: "AndroidManifest.xml",
|
||||||
|
dest: localCfg.applicationDir + "/platforms/android/src/main/",
|
||||||
|
cwd: localCfg.applicationDir + "/platforms/android/src/main",
|
||||||
|
expand: true,
|
||||||
|
options: {
|
||||||
|
process: function(content, srcPath) {
|
||||||
|
var newContent = content;
|
||||||
|
|
||||||
|
var internetPermissionFinder = /(<uses-permission[^>]*android\.permission\.INTERNET[^>]*>)/;
|
||||||
|
|
||||||
|
if (!/uses-permission[^>]*android\.permission\.ACCESS_NETWORK_STATE/.test(content)) {
|
||||||
|
newContent = newContent.replace(internetPermissionFinder, "$1\n<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>");
|
||||||
|
}
|
||||||
|
if (!/uses-permission[^>]*android\.permission\.ACCESS_FINE_LOCATION/.test(content)) {
|
||||||
|
newContent = newContent.replace(internetPermissionFinder, "$1\n<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>");
|
||||||
|
}
|
||||||
|
return newContent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
exec: {
|
exec: {
|
||||||
killEmulator: {
|
killEmulator: {
|
||||||
cmd: "pkill '" + localCfg.emulatorProcessIdentifier + "'",
|
cmd: "pkill '" + localCfg.emulatorProcessIdentifier + "'",
|
||||||
@@ -36,11 +76,22 @@ module.exports = {
|
|||||||
runTestsApp: {
|
runTestsApp: {
|
||||||
cmd: "./runtestsapp.sh",
|
cmd: "./runtestsapp.sh",
|
||||||
stdout: false
|
stdout: false
|
||||||
|
},
|
||||||
|
startEmulator: {
|
||||||
|
cmd: "emulator -avd " + localCfg.emuAvdName + " -no-audio -no-window &",
|
||||||
|
stdout: true
|
||||||
|
},
|
||||||
|
createApp: {
|
||||||
|
cmd: localCfg.tnsPath + " create " + localCfg.testsAppName,
|
||||||
|
cwd: localCfg.workingDir
|
||||||
|
},
|
||||||
|
addAndroidPlatform: {
|
||||||
|
cmd: "tns platform add android " + localCfg.androidFrameworkArgument,
|
||||||
|
cwd: localCfg.applicationDir
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// grunt.loadNpmTasks("grunt-contrib-copy");
|
|
||||||
// grunt.loadNpmTasks("grunt-tslint");
|
// grunt.loadNpmTasks("grunt-tslint");
|
||||||
// grunt.loadNpmTasks("grunt-multi-dest");
|
// grunt.loadNpmTasks("grunt-multi-dest");
|
||||||
// grunt.loadNpmTasks("grunt-shell");
|
// grunt.loadNpmTasks("grunt-shell");
|
||||||
@@ -49,18 +100,25 @@ module.exports = {
|
|||||||
grunt.loadNpmTasks("grunt-exec");
|
grunt.loadNpmTasks("grunt-exec");
|
||||||
grunt.loadNpmTasks("grunt-mkdir");
|
grunt.loadNpmTasks("grunt-mkdir");
|
||||||
grunt.loadNpmTasks("grunt-contrib-clean");
|
grunt.loadNpmTasks("grunt-contrib-clean");
|
||||||
|
grunt.loadNpmTasks("grunt-contrib-copy");
|
||||||
|
|
||||||
grunt.registerTask("testsapp", [
|
grunt.registerTask("testsapp", [
|
||||||
"clean:workingDir",
|
"clean:workingDir",
|
||||||
"mkdir:workingDir",
|
"mkdir:workingDir",
|
||||||
"exec:killEmulator",
|
"exec:killEmulator",
|
||||||
|
"exec:startEmulator",
|
||||||
// "exec:runTestsApp",
|
// "exec:runTestsApp",
|
||||||
|
|
||||||
|
"exec:createApp",
|
||||||
|
"clean:originalAppDir",
|
||||||
|
"copy:testsAppToRunDir",
|
||||||
|
|
||||||
|
"exec:addAndroidPlatform",
|
||||||
|
"copy:addAndroidPermissions",
|
||||||
|
|
||||||
|
|
||||||
|
// "exec:killEmulator",
|
||||||
"exec:killEmulator",
|
// "clean:workingDir"
|
||||||
"clean:workingDir"
|
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,30 +14,6 @@ mainActivityName=com.tns.NativeScriptActivity
|
|||||||
# Creating the emulator with:
|
# Creating the emulator with:
|
||||||
#android create avd -t "android-21" -n Api21 -b "default/x86"
|
#android create avd -t "android-21" -n Api21 -b "default/x86"
|
||||||
|
|
||||||
echo "------------------------------------------------"
|
|
||||||
echo "Starting the emulator..."
|
|
||||||
time emulator -avd $emuAvdName -no-audio -no-window &
|
|
||||||
|
|
||||||
echo "------------------------------------------------"
|
|
||||||
echo "Creating the app..."
|
|
||||||
time tns create $testsAppName
|
|
||||||
cd $testsAppName
|
|
||||||
|
|
||||||
echo "------------------------------------------------"
|
|
||||||
echo "Removing the original template files..."
|
|
||||||
time rm app/*.*
|
|
||||||
|
|
||||||
echo "------------------------------------------------"
|
|
||||||
echo "Copying the test app files..."
|
|
||||||
time cp -r ../../bin/dist/apps/tests/* ./app/
|
|
||||||
|
|
||||||
echo "------------------------------------------------"
|
|
||||||
echo "Adding the android platform..."
|
|
||||||
time tns platform add android --frameworkPath=$androidRuntimePath
|
|
||||||
|
|
||||||
# #DO THE REPLACEMENTS IN THE Info.plist and AndroidManifest.xml
|
|
||||||
cp /Users/erjan/work/spikes/__DEL__/AndroidManifest.xml platforms/android/src/main/
|
|
||||||
|
|
||||||
# GET THIS ONE FROM SOME PLACE...
|
# GET THIS ONE FROM SOME PLACE...
|
||||||
cp /Volumes/distributions/DailyBuilds/NativeScript/android-widgets/Stable/widgets.jar platforms/android/libs/
|
cp /Volumes/distributions/DailyBuilds/NativeScript/android-widgets/Stable/widgets.jar platforms/android/libs/
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user