Conversation
In build.gradle, the dependencies on distZip and/or distTar causes
the shadowJar task to generate a second JAR file for which the
mainClass.set("seedu.duke.Duke") does not take effect.
Hence, this additional JAR file cannot be run.
For this product, there is no need to generate a second JAR file
to begin with.
Let's remove this dependency from the build.gradle to prevent the
shadowJar task from generating the extra JAR file.
attempt to fix failed run
There was a problem hiding this comment.
Pull Request Overview
This PR represents a complete transformation from a simple Duke project to a comprehensive Chatty task management application. The changes implement a full-featured chatbot with GUI, various task types, persistence, and comprehensive testing infrastructure.
Key changes:
- Replaced the basic Duke CLI with a sophisticated Chatty application featuring JavaFX GUI
- Implemented a modular command pattern architecture with support for todos, deadlines, events, and task management operations
- Added comprehensive testing suite and build automation with proper checkstyle configuration
Reviewed Changes
Copilot reviewed 47 out of 56 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| text-ui-test/* | Updated test scripts to reference new Chatty main class instead of Duke |
| src/main/java/chatty/* | Complete new application structure with GUI components, task management, and command processing |
| src/test/java/chatty/* | Unit tests for Todo and DeleteCommand functionality |
| src/main/resources/* | JavaFX FXML layouts and CSS styling for the GUI |
| docs/README.md | Comprehensive user guide for the Chatty application |
| build configuration | Added Gradle wrapper, checkstyle configuration, and GitHub Actions workflow |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
|
|
||
| REM delete output from previous run | ||
| if exist ACTUAL.TXT del ACTUAL.TXT | ||
| del ACTUAL.TXT |
There was a problem hiding this comment.
Removing the existence check before deletion can cause the script to fail if ACTUAL.TXT doesn't exist. The original if exist ACTUAL.TXT del ACTUAL.TXT pattern should be preserved to handle cases where the file doesn't exist.
| del ACTUAL.TXT | |
| if exist ACTUAL.TXT del ACTUAL.TXT |
| */ | ||
| @Override | ||
| public String toString() { | ||
| return String.format("Yikes, I supported with this command: %s", command); |
There was a problem hiding this comment.
There's a missing word in the error message. Should be 'I am not supported' instead of 'I supported'.
| return String.format("Yikes, I supported with this command: %s", command); | |
| return String.format("Yikes, I am not supported with this command: %s", command); |
| * @return {@code true} if the task name contains the keyword (case-insensitive), otherwise {@code false}. | ||
| */ | ||
| public boolean contains(String keyWord) { | ||
| return this.taskName.contains(keyWord.toLowerCase()); |
There was a problem hiding this comment.
The method converts the keyword to lowercase but doesn't convert the task name to lowercase, making the search inconsistent. Either both should be converted to lowercase for case-insensitive search, or neither should be converted for case-sensitive search.
| return this.taskName.contains(keyWord.toLowerCase()); | |
| return this.taskName.toLowerCase().contains(keyWord.toLowerCase()); |
| if (index <= 0 || index > tasks.size()) { | ||
| throw new ChattyTaskNotFoundException(index); | ||
| } else { | ||
| assert this.tasks.get(index - 1) != null : "Task should exit in the list"; |
There was a problem hiding this comment.
The assertion message should say 'exist' instead of 'exit'.
| assert this.tasks.get(index - 1) != null : "Task should exit in the list"; | |
| assert this.tasks.get(index - 1) != null : "Task should exist in the list"; |
| private static final String INTRO_MSG = "Hello Master! I'm Chatty, your ever-ready personal assistant." | ||
| + "How can I help you today?" |
There was a problem hiding this comment.
Missing space between sentences. There should be a space after the period in the first sentence and before 'How'.
| private static final String INTRO_MSG = "Hello Master! I'm Chatty, your ever-ready personal assistant." | |
| + "How can I help you today?" | |
| + " How can I help you today?" |
No description provided.