aboutsummaryrefslogtreecommitdiffstats
path: root/tools/dicttool/src
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2012-10-30 18:36:00 +0900
committerJean Chalard <jchalard@google.com>2012-10-30 18:42:58 +0900
commitee0b5488b56168fabfd3a9c8a5e6b986aae4fc06 (patch)
treeae54167c0c8e7fd9612724946866532c12c04265 /tools/dicttool/src
parentba98b639836953ee3be8f7b58000123822fd2865 (diff)
downloadlatinime-ee0b5488b56168fabfd3a9c8a5e6b986aae4fc06.tar.gz
latinime-ee0b5488b56168fabfd3a9c8a5e6b986aae4fc06.tar.xz
latinime-ee0b5488b56168fabfd3a9c8a5e6b986aae4fc06.zip
Implement the package command
Bug: 7388852 Change-Id: Ib6a50e02894961b4c7d3f57bc0fc70c3b3bfe4e9
Diffstat (limited to 'tools/dicttool/src')
-rw-r--r--tools/dicttool/src/com/android/inputmethod/latin/dicttool/Package.java20
1 files changed, 17 insertions, 3 deletions
diff --git a/tools/dicttool/src/com/android/inputmethod/latin/dicttool/Package.java b/tools/dicttool/src/com/android/inputmethod/latin/dicttool/Package.java
index c35d0f312..b29480764 100644
--- a/tools/dicttool/src/com/android/inputmethod/latin/dicttool/Package.java
+++ b/tools/dicttool/src/com/android/inputmethod/latin/dicttool/Package.java
@@ -33,6 +33,8 @@ public class Package {
static public class Packager extends Dicttool.Command {
public static final String COMMAND = "package";
+ private final static String PREFIX = "dicttool";
+ private final static String SUFFIX = ".tmp";
public Packager() {
}
@@ -41,9 +43,21 @@ public class Package {
return COMMAND + " <src_filename> <dst_filename>: Package a file for distribution";
}
- public void run() {
- // Not implemented yet
- throw new UnsupportedOperationException();
+ public void run() throws IOException {
+ if (mArgs.length != 2) {
+ throw new RuntimeException("Too many/too few arguments for command " + COMMAND);
+ }
+ final File intermediateFile = File.createTempFile(PREFIX, SUFFIX);
+ try {
+ final Compress.Compressor compressCommand = new Compress.Compressor();
+ compressCommand.setArgs(new String[] { mArgs[0], intermediateFile.getPath() });
+ compressCommand.run();
+ final Crypt.Encrypter cryptCommand = new Crypt.Encrypter();
+ cryptCommand.setArgs(new String[] { intermediateFile.getPath(), mArgs[1] });
+ cryptCommand.run();
+ } finally {
+ intermediateFile.delete();
+ }
}
}