From cfcc434be7c1040f2aae83918ca989c06215e8b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Sat, 20 Jan 2024 23:13:04 +0100 Subject: [PATCH] compress, decompress command stubs --- .../flash/cli/commands/Compress.java | 54 +++++++++++++++++++ .../flash/cli/commands/Decompress.java | 46 ++++++++++++++++ .../decompiler/flash/cli/commands/Main.java | 4 +- .../cli/commands/types/CompressionKind.java | 9 ++++ 4 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 libsrc/ffdec_cli/src/com/jpexs/decompiler/flash/cli/commands/Compress.java create mode 100644 libsrc/ffdec_cli/src/com/jpexs/decompiler/flash/cli/commands/Decompress.java create mode 100644 libsrc/ffdec_cli/src/com/jpexs/decompiler/flash/cli/commands/types/CompressionKind.java diff --git a/libsrc/ffdec_cli/src/com/jpexs/decompiler/flash/cli/commands/Compress.java b/libsrc/ffdec_cli/src/com/jpexs/decompiler/flash/cli/commands/Compress.java new file mode 100644 index 000000000..f25c53558 --- /dev/null +++ b/libsrc/ffdec_cli/src/com/jpexs/decompiler/flash/cli/commands/Compress.java @@ -0,0 +1,54 @@ +package com.jpexs.decompiler.flash.cli.commands; + +import com.jpexs.decompiler.flash.cli.VersionProvider; +import com.jpexs.decompiler.flash.cli.commands.types.CompressionKind; +import picocli.CommandLine; +import picocli.CommandLine.Command; +import picocli.CommandLine.Option; +import picocli.CommandLine.Parameters; +import picocli.CommandLine.ParentCommand; + +/** + * + * @author JPEXS + */ +@Command( + name = "compress", + mixinStandardHelpOptions = true, + versionProvider = VersionProvider.class, + header = "Compress SWF file", + optionListHeading = "%n@|bold,underline Options|@:%n", + parameterListHeading = "%n@|bold,underline Parameters|@:%n", + synopsisHeading = "@|bold,underline Usage|@:", + footerHeading = "%n@|bold,underline Examples|@:%n", + footer = { + "ffdec-cli compress input.swf out_compressed.swf", + "ffdec-cli compress --kind=lzma input.swf out_compressed.swf", + } +) +public class Compress implements Runnable { + @Option( + names = "--kind", + description = "Compression kind. @|bold Enum values|@: ${COMPLETION-CANDIDATES} default: zlib" + ) + CompressionKind kind = CompressionKind.zlib; + + @Parameters( + index = "0", + paramLabel = "IN_FILE", + description = "Input file" + ) + String inFile; + + @Parameters( + index = "1", + paramLabel = "OUT_FILE", + description = "Output file" + ) + String outFile; + + @Override + public void run() { + + } +} diff --git a/libsrc/ffdec_cli/src/com/jpexs/decompiler/flash/cli/commands/Decompress.java b/libsrc/ffdec_cli/src/com/jpexs/decompiler/flash/cli/commands/Decompress.java new file mode 100644 index 000000000..8de6340ab --- /dev/null +++ b/libsrc/ffdec_cli/src/com/jpexs/decompiler/flash/cli/commands/Decompress.java @@ -0,0 +1,46 @@ +package com.jpexs.decompiler.flash.cli.commands; + +import com.jpexs.decompiler.flash.cli.VersionProvider; +import com.jpexs.decompiler.flash.cli.commands.types.CompressionKind; +import picocli.CommandLine; +import picocli.CommandLine.Command; +import picocli.CommandLine.Option; +import picocli.CommandLine.Parameters; +import picocli.CommandLine.ParentCommand; + +/** + * + * @author JPEXS + */ +@Command( + name = "decompress", + mixinStandardHelpOptions = true, + versionProvider = VersionProvider.class, + header = "Decompress SWF file", + parameterListHeading = "%n@|bold,underline Parameters|@:%n", + synopsisHeading = "@|bold,underline Usage|@:", + footerHeading = "%n@|bold,underline Example|@:%n", + footer = { + "ffdec-cli decompress input.swf out_decompressed.swf", + } +) +public class Decompress implements Runnable { + @Parameters( + index = "0", + paramLabel = "IN_FILE", + description = "Input file" + ) + String inFile; + + @Parameters( + index = "1", + paramLabel = "OUT_FILE", + description = "Output file" + ) + String outFile; + + @Override + public void run() { + + } +} diff --git a/libsrc/ffdec_cli/src/com/jpexs/decompiler/flash/cli/commands/Main.java b/libsrc/ffdec_cli/src/com/jpexs/decompiler/flash/cli/commands/Main.java index f496b10ca..6c2d813a5 100644 --- a/libsrc/ffdec_cli/src/com/jpexs/decompiler/flash/cli/commands/Main.java +++ b/libsrc/ffdec_cli/src/com/jpexs/decompiler/flash/cli/commands/Main.java @@ -39,7 +39,9 @@ import picocli.CommandLine.ScopeType; subcommands = { HelpCommand.class, Export.class, - Dump.class + Dump.class, + Compress.class, + Decompress.class }, descriptionHeading = "%n@|bold,underline Description|@:%n", optionListHeading = "%n@|bold,underline Options|@:%n", diff --git a/libsrc/ffdec_cli/src/com/jpexs/decompiler/flash/cli/commands/types/CompressionKind.java b/libsrc/ffdec_cli/src/com/jpexs/decompiler/flash/cli/commands/types/CompressionKind.java new file mode 100644 index 000000000..714bde1c7 --- /dev/null +++ b/libsrc/ffdec_cli/src/com/jpexs/decompiler/flash/cli/commands/types/CompressionKind.java @@ -0,0 +1,9 @@ +package com.jpexs.decompiler.flash.cli.commands.types; + +/** + * + * @author JPEXS + */ +public enum CompressionKind { + zlib, lzma +}