diff options
author | 2012-10-30 18:36:00 +0900 | |
---|---|---|
committer | 2012-10-30 18:42:58 +0900 | |
commit | ee0b5488b56168fabfd3a9c8a5e6b986aae4fc06 (patch) | |
tree | ae54167c0c8e7fd9612724946866532c12c04265 /tools/dicttool/src | |
parent | ba98b639836953ee3be8f7b58000123822fd2865 (diff) | |
download | latinime-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.java | 20 |
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(); + } } } |