Skip to content

Commit d6b1642

Browse files
authored
Merge pull request JaneaSystems#6 from okhiroyuki/feature/add-zip
Update support for custom node modules
2 parents 1728bd9 + 18311b6 commit d6b1642

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

plugin.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@
8989
<source-file src="install/nodejs-mobile-cordova-assets/" target-dir="assets/" />
9090

9191
<framework src="src/android/build.gradle" custom="true" type="gradleReference" />
92+
<framework src="org.zeroturnaround:zt-zip:1.14" />
93+
<framework src="commons-io:commons-io:2.8.0" />
9294
<source-file src="src/android/CMakeLists.txt" target-dir="libs/cdvnodejsmobile/"/>
9395

9496
</platform>

src/android/java/com/janeasystems/cdvnodejsmobile/NodeJS.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@
2727
import java.util.*;
2828
import java.util.concurrent.Semaphore;
2929

30+
import org.zeroturnaround.zip.ZipUtil;
31+
import org.zeroturnaround.zip.commons.FileUtils;
32+
3033
public class NodeJS extends CordovaPlugin {
3134

3235
private static Activity activity = null;
@@ -452,6 +455,9 @@ private void copyNodeJSAssets() throws IOException {
452455
Log.d(LOGTAG, "Copying node project assets enumerating the APK assets folder");
453456
copyFolder(PROJECT_ROOT);
454457
}
458+
459+
// Copy Custom Node Modules
460+
copyCustomNodeModules();
455461

456462
// Copy native modules assets
457463
copyNativeAssets();
@@ -460,6 +466,22 @@ private void copyNodeJSAssets() throws IOException {
460466
saveLastUpdateTime();
461467
}
462468

469+
private void copyCustomNodeModules(){
470+
File srcDir = new File(filesDir, "node_modules.zip");
471+
if(srcDir.exists()){
472+
Log.d(LOGTAG, "Custom Node Modules exists.");
473+
try {
474+
File nodejsModulesFolder = new File(NodeJS.filesDir + "/" + PROJECT_ROOT_MODULES);
475+
Log.d(LOGTAG, "Delete current nodejsModules Folder.");
476+
FileUtils.deleteDirectory(nodejsModulesFolder);
477+
Log.d(LOGTAG, "Custom Node Modules unpack.");
478+
ZipUtil.unpack(srcDir, nodejsModulesFolder);
479+
} catch (IOException e) {
480+
e.printStackTrace();
481+
}
482+
}
483+
}
484+
463485
private ArrayList<String> readFileFromAssets(String filename){
464486
ArrayList lines = new ArrayList();
465487
try {

0 commit comments

Comments
 (0)