#!/usr/bin/env node 'use strict'; var gulp = require('gulp'); var del = require('del'); console.log('\n---- copy_custom_plugins START\n'); var platforms = (process.env.CORDOVA_PLATFORMS ? process.env.CORDOVA_PLATFORMS.split(',') : []); //console.log('platforms.length=' + platforms.length); var customPluginName = 'ex.customplugin'; var customPluginSrc = 'plugins-custom/' + customPluginName; var customPluginDst = 'plugins/' + customPluginName; for (var x = 0; x < platforms.length; x++) { try { var platform = platforms[x].trim().toLowerCase(); var platformRoot = 'platforms/' + platform; var pluginSrcRoot = '../customplugin-' + platform; //Android if (platform == 'android') { console.log('Android用処理開始'); //customPluginSrcのJavaをクリーンしつつ、プラグインプロジェクトからJavaをコピー var customPluginPackage = 'ex/customplugin'; var javaSrcRoot = pluginSrcRoot + '/app/src/main/java/' + customPluginPackage; var javaSrc = [javaSrcRoot + '/*.java', '!' + javaSrcRoot + '/MainActivity.java']; var customPluginSrcAndroid = customPluginSrc + '/src/android'; del.sync(customPluginSrcAndroid + '/*.java'); gulp.src(javaSrc).pipe(gulp.dest(customPluginSrcAndroid)); //platforms/android配下のJavaソースをクリーン var javaDstRoot = platformRoot + '/src/' + customPluginPackage; del.sync([javaDstRoot + '/*.java', '!' + javaDstRoot + '/MainActivity.java']); //プラグインプロジェクトからplatforms/android配下に直接Javaをコピー gulp.src(javaSrc).pipe(gulp.dest(javaDstRoot)); //プラグインプロジェクトからplatforms/android配下に直接リソースをコピー var resSrcRoot = pluginSrcRoot + '/app/src/main/res'; var resDstRoot = platformRoot + '/res'; gulp.src(resSrcRoot + '/**/ic_stat_notif_icon.png').pipe(gulp.dest(resDstRoot)); //JSはcustomPluginSrcがマスターなのでコピー gulp.src(customPluginSrc + '/*.js').pipe(gulp.dest(customPluginDst)); //その他のファイルは //「ionic plugin rm customPluginName」と //「ionic plugin add plugins-custom/ustomPluginName」の //併用で自動的にコピーさせないとシステムが壊れるのでコピーしない //その他のファイルの変更時はreinstall-custom-plugins.shで行うこと } } catch(e) { process.stdout.write(e); } } //END for console.log('\n---- copy_custom_plugins END\n');