Releases: sbracely/copy
Releases · sbracely/copy
v1.5
v1.5
Highlights
- Improved CLI option parsing ergonomics by adding
-oas the short form of--out-dir. - Strengthened path handling by adding test coverage for key scenarios, including absolute input paths and absolute output directories.
Detailed Changes
-
Option and parsing improvements
CliArgumentParsernow supports-o/--out-dir.- Refined option definitions and parsing order for better readability and consistency.
-
Copy flow cleanup
- Removed an unused parameter from
CopyProcessor.copy(...)and simplified the related call chain. - No external behavior change; this is internal cleanup/refactoring.
- Removed an unused parameter from
-
Stronger test coverage
- Added and updated
MainTestcases covering:-oshort option support- Copying with absolute input paths
- Writing output to absolute output directories
- Improved validation of copy behavior under option/path combinations.
- Added and updated
v1.4
v1.4
Highlights
- Refactored app entry flow from monolithic
Main.javainto modular components:CopyCliCliArgumentParserCopyProcessorOutputPathResolverCopyOptions,CopyCliException,ExitCodes
- Added support for copying multiple input paths in one command.
- Migrated CLI argument parsing to
commons-cli1.11. - Improved directory output mapping and logging consistency.
- Improved test coverage for CLI and copy behaviors.
Behavioral changes
- Current CLI options are simplified to:
-h,--help--out-dir <dir>
- Output naming strategy is unified to indexed naming (
(1),(2), ...).
Build and packaging
- Maven build updates and shade configuration improvements.
- Release version updated to
1.4.
v1.3
v1.3
Highlights
v1.3 focuses on simplifying the tool, improving reliability, and making behavior easier to integrate in scripts.
What's Changed
-
Improved application flow and error handling
- Refactored
Maininto clearer internal steps (input parsing, output path generation, copy execution). - Added explicit non-zero exit codes for failure scenarios to support automation:
2: invalid input/argument error3: I/O error
- Refactored
-
Migrated logging to JDK built-in JUL
- Replaced direct
System.out/System.errusage withjava.util.logging(JUL). - Logging now uses levels such as
INFO,WARNING, andSEVERE.
- Replaced direct
-
Added baseline tests
- Added tests for:
- single-file copy
- directory copy
- invalid path handling
- Added tests for:
-
Documentation updates
- Updated usage examples to match current behavior.
- Added notes for output naming and conflict/overwrite behavior.